みなさんこんにちは。
SSL非対応のサイトをALBを使ってSSLに対応させる際に、ACMでのハマりポイントがありましたので
現在の環境
ALB配下にWebサーバが2台ぶら下がっており、外部からはHTTP(ポート80)で各ページにアクセスできる環境です。
やってみた
1.リスナーの追加をクリック
2.プロトコルの画面でHTTPSを選択
3.Default actionsで Forward を選択
4.現在のターゲットグループを選択
5.Default SSL certificateで From ACMを選択し、すぐ下のRequest new ACM certificateをクリック
※すでにACMの設定がされている場合は、Select a certificateから選択する
6.リクエストのボタンをクリックする
7.パブリック証明書をリクエスト を選択し、次へをクリックする
8.他社で取得している完全修飾ドメイン名を入力する
9.検証方法を選択で DNS 検証 - 推奨 を選択する
10.リクエストをクリックする
11.ステータスが保留中の検証になっている項目の証明書IDをクリックする
12.CNAME名とCNAME値をメモする
13.DNS管理画面でCNAMEの値を登録する
※画面はGoogleDomainの管理画面です
※ドメイン管理サイトにもよりますが、コピーした値の中からドメイン部分(またはサブドメイン部分)を削除し記載する必要があるケースもあります
※一緒にロードバランサーのDNS 名をCNAMEに登録すると、登録したアドレスでWebサイトにアクセスできます
14.しばらくするとステータスが発行済みになりますので、発行済みになればALBの管理画面に戻ります
15.発行した証明書を選択します
16. Addをクリックする
17.HTTPSでALBのDNS名にアクセスすると証明書のエラーが表示されますので、SSLの通信が有効化されていることが確認できます
18.登録したアドレスでアクセスすると、証明書のエラーがでないことが確認できます。これでサイトのSSL対応が完了しました。
まとめ
証明書発行をする際に、サブドメイン名を指定し証明書を発行したあとでDNS設定の画面でCNAMEとして登録するところがはまりやすいポイントかと思いますが、Webサーバに証明書をインストールする手間などを考えるとSSL対応がとても簡単に導入できそうですね。
この記事がどなたかの参考になれば幸いです。