🐕

【AWS】証明書の発行とWebサイトのhttps化

2021/02/23に公開

最近のWebサイトはhttps接続が当たり前になっており、ブラウザもhttps接続がデフォルトのため、http接続は「危険なサイト」という認識になっています。
とはいえ、https化は証明書を取得しないといけなかったり、何か面倒くさそうだな〜という印象を持っていましたが、
AWSでやってみたところ割と簡単に実装できましたので、以下に紹介します。

AWSで証明書を取得するには、Certificate Managerというものを使用します。

「証明書のリクエスト」で新しい証明書を発行します。

「パブリック証明書のリクエスト」をクリックし、進みます。

証明書をアサインしたいドメイン名を入力します。
ちなみに、以下は既に完了した状態です。
・ドメイン名の取得(お名前.com)
・お名前.comへのネームサーバ登録(Route 53のネームサーバ登録)
・Webサーバ(EC2インスタンス)の起動
・ロードバランサーの作成

検証方法は「DNSの検証」を選択します。

タグは必要に応じて入力しても良いですが、入力しなくても構いません。

「確定とリクエスト」をクリックします。

ステータスが「検証保留中」となっていますが、続行をクリックします。

ドメイン名の左にある ▶ をクリックし展開します。

DNSサーバへのCNAMEレコード登録が必要になるので、「Route 53でのレコードの作成」をクリックします。

成功になればOKです。

Route 53の画面から、指定したドメイン名のホストゾーンにCNAMEレコードが追加されていることを確認します。

Certificate Managerの画面に戻り、証明書が「発行済み」になっていることを確認します。
注)「発行済み」になるまでに時間がかかる場合がありますので、少し気長に待ちましょう。

これで証明書の作成ができました。
次は、これをロードバランサーに適用していきましょう。
作成済みロードバランサーのリスナータブにて、「リスナーの追加」をクリックします。

プロトコル:ポートは、HTTPS:443を選択。
デフォルトアクションへ、既に作成済みのターゲットグループへの転送を指定して下さい。
デフォルトのSSL証明書にて、先ほど作成した証明書を選択します。

正常に作成されたことを確認し、< をクリックして戻ります。

HTTPSのリスナーが作成された頃を確認します。

HTTPS接続に切り替えることで、HTTP接続は必要なくなるため、HTTPのリスナーを削除します。

リスナーがHTTPSのみになったことを確認します。

最後に、Webブラウザから https://[ドメイン名] でアクセスし、ページが表示されることを確認します。

URLの左に鍵アイコンが表示されていれば、https接続できています。
鍵アイコンをクリックし、内容を確認します。

「この接続は保護されています」と表示されているのでOKです。

Discussion