こんにちは、フルスタックエンジニアのryuです。
今回の記事は、AWSで無料でサーバー証明書を取得する方法を解説します。無料で証明書を作成するためにはAWS Certificate Managerを使用します。HTTPSで通信するときにサーバー証明書が必要になるので、作り方を覚えておきましょう!
目次
【AWS】無料でサーバー証明書を取得する方法解説!

AWSでサーバー証明書を作成するためには、どうすればいいの?
今回の記事は、AWSで無料でサーバー証明書を取得する方法を解説します。サーバー証明書を使用してHTTPS化したい方などはAWS Certificate Managerを構築して、無料で証明書を発行しましょう。
AWS Certificate Managerでサーバー証明書を発行する手順を詳しく解説します。
準備:DNSサーバーを準備する
まず、DNSサーバーを準備してドメインの名前解決ができるようにしましょう。
例えば、このサイトの証明書を発行する場合、「engineer-ninaritai.com」ドメインの名前解決ができるように準備します。
AWSのRoute53から「ドメインの登録」からドメインを登録してホストゾーンを作成しましょう。

下記のように自分のPCから名前解決ができれば準備完了です!

DNSについて良く分からないという方は、こちらの記事を参考にしてください。
・【初心者向け】DNSサーバーとは?用途と仕組みを理解しよう!
AWS Certificate Managerの構築
では、ここからが本題です。AWS Certificate Manager(ACM)の構築を行います。
AWS Certificate Manager (ACM) により、AWS プラットフォームでの SSL/TLS 証明書のプロビジョニング、管理、デプロイ、更新が容易になります。
証明書を発行するには、ACMのコンソール画面に移動し、証明書のプロビジョニングの「今すぐ始める」をクリックします。

証明書のリクエスト画面に移動するので、「パブリック証明書のリクエスト」を選択します。そして、「証明書のリクエスト」を押して次に進みましょう。

証明書のドメイン名を登録
次に、証明書のドメイン名を入力します。今回はこのサイトのドメイン名で証明書を作成するので、「engineer-ninaritai.com」と入力します。

「*.engineer-ninaritai.com」のようにワイルドカードを入力することも可能です。ワイルドカードを入力すると、「www.engineer-ninaritai.com」や「test1.engineer-ninaritai.com」などがサポートされます。
証明書リクエストの検証
次に、証明書リクエストの検証です。これは、先ほど作成したDNSサーバーが必要になります。
ドメインの登録が完了したら、下記のような画面に移動します。検証方法の選択で「DNSの検証」を選択しましょう。

「次へ」をクリックして、設定を最後まで進めます。最後に「確定とリクエスト」をクリックして完了です。

次に、DNSのレコードを追加します。下記のような画面から、登録するレコード情報を確認します。

この場合、DNSには、こちらの情報を登録します。

Route53でドメイン名と同じゾーンがあれば、こちらのボタンがあるので、「Route53でレコードの作成」をクリックすれば簡単に登録できます。

レコードの登録が完了すると、検証保留中から発行済みになります。
証明書が発行できない場合の対処方法
状況部分を確認すると、ACMの設定が正しく設定できているか確認できます。こちらの部分です。

こちらが発行済みにならないと証明書が発行できません。
検証保留中のままの場合は、以下の項目を確認してみましょう。
- CNAMEの名前解決ができるかどうか
- CNAMEの文字列が正しいかどうか
トラブルシューティングについては、こちらのドキュメントを参考にしてください。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/acm-certificate-pending-validation/
無料でサーバー証明書を取得する方法まとめ
今回の記事は、AWSで無料でサーバー証明書を取得する方法を解説しました。Route53の設定やACMの設定などめんどくさいですが、やり方を覚えれば、簡単です。
CloudFrontやLoadBalancerなどで証明書が必要になります。HttpsでWebサイトを公開する場合は、ACMで設定すると証明書の管理が楽になるのでオススメです!
これで、今回の記事は終わりです。ありがとうございました。
また、AWSについてさらに勉強したい方は、こちらの講座と参考書がオススメです。
AWS認定ソリューションアーキテクト アソシエイト試験突破講座 – 初心者向け20時間完全コース-
