【AWS】証明書の発行とWebサイトのhttps化
最近の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