まず初めに
EC2 を ACM(AWS Certificate Manager)で SSL 化するには、
ALB(Application Load Balancer)を使用しないとできないので注意。
証明書の作成
- リージョンを自身のリージョンに合わせる
- 自分は「アジアパシフィック(東京)」
- 「AWS Certificate Manager」→「証明書を一覧」クリック
- 「リクエスト」クリック
- 証明書をリクエスト
- 証明書タイプ:パブリック証明書をリクエスト
- 「次へ」クリック
- パブリック証明書をリクエスト
- ドメイン名
- 完全修飾ドメイン名:sample.com, *.sample.com
- 検証方法:DNS 検証 - 推奨
- キーアルゴリズム:RSA 2048
- 「リクエスト」クリック
- ドメイン名
ロードバランサー側での作業
追加作業
- 「EC2」→「ロードバランサー」→ 編集したいロードバランサーを選択 →「リスナーとルール」→「リスナーの追加」クリック
- リスナーの詳細
- プロトコル:HTTPS
- ターゲットグループ:事前に作成したものを選択
- セキュアリスナーの設定
- デフォルト SSL/TLS サーバー証明書
- 証明書の取得先:ACM から
- 証明書(ACM から):事前に作成したものを選択
- デフォルト SSL/TLS サーバー証明書
- 「追加」クリック
- リスナーの詳細
Nginx
もし、 EC2 インスタンス内の Nginx などで、
証明書を管理してて、 443 を listen してるのであれば、
その記述部分を削除しておく。
ロードバランサー側で SSL 証明をし、
ロードバランサーからその先の EC2 にアクセスする時は、
ポート80番なため。