EC2 + ACM で SSL 化する

まず初めに

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 から):事前に作成したものを選択
    • 「追加」クリック

Nginx

もし、 EC2 インスタンス内の Nginx などで、
証明書を管理してて、 443 を listen してるのであれば、
その記述部分を削除しておく。

ロードバランサー側で SSL 証明をし、
ロードバランサーからその先の EC2 にアクセスする時は、
ポート80番なため。