バーチャルホスト環境の ALB に複数の ACM を設定する

はじめに

今回は、バーチャルホスト環境で、複数ドメインの証明書 AWS Certificate Manager (ACM) を、1 つの Application Load Balancer (ALB) に設定する手順をまとめていきます。

今回の構成は以下のとおりです。

  • Route 53
  • AWS Certificate Manager (ACM)
  • Application Load Balancer (ALB)
  • Amazon Linux 2023 (EC2)
  • nginx 1.24
    • バーチャルホスト環境(ドメイン 2 つ)
      • example1.jp
      • examole2.jp
バーチャルホスト nginx ACM ALB

事前準備

設定例

バーチャルホストの設定

バーチャルホストの設定では、ドメイン毎の設定ファイルに、ドメインとドキュメントルートが設定されています。

server {
    listen 80;
    server_name example1.jp;
    root /var/www/html/example1.jp;
    index index.php index.html;
}
server {
    listen 80;
    server_name example2.jp;
    root /var/www/html/example2.jp;
    index index.php index.html;
}

Route 53 ホストゾーン設定

Route 53 のホストゾーンの設定では、それぞれのドメインが登録されていて、Aレコードに ALB、CNAME レコードに証明書 (ACM) の値が設定されています。

  • ホストゾーン名: example1.jp
    • レコード名: example1.jp
      • タイプ: NS
      • 値: ns-******, ns-******, ns-******, ns-******
    • レコード名: example1.jp
      • タイプ: SOA
      • 値: ns-******
    • レコード名: example1.jp
      • タイプ: A
      • 値: ********.ap-northeast-1.elb.amazonaws.com. (ALB)
    • レコード名: _******
      • タイプ: CNAME
      • 値: _******
  • ホストゾーン名: example2.jp
    • レコード名: example2.jp
      • タイプ: NS
      • 値: ns-******, ns-******, ns-******, ns-******
    • レコード名: example2.jp
      • タイプ: SOA
      • 値: ns-******
    • レコード名: example2.jp
      • タイプ: A
      • 値: ********.ap-northeast-1.elb.amazonaws.com. (ALB)
    • レコード名: _******
      • タイプ: CNAME
      • 値: _******

ACM の設定

AWS Certificate Manager (ACM ) の設定では、ドメイン毎の証明書が発行されていて、ステータスが発行済みになっています。

  • 証明書 ID: ******
    • ドメイン: example1.jp
    • ステータス: 発行済み
  • 証明書 ID: ******
    • ドメイン: example2.jp
    • ステータス: 発行済み

ロードバランサーの設定

ロードバランサーの設定では、ロードバランサーが作成されていて、リスナー 80 が作成されている。また、443 が作成されている場合、デフォルトの証明書に example1.jp が設定されている。

  • リスナー: HTTP:80
    • デフォルトの証明書: 該当なし
  • リスナー: HTTPS:443
    • デフォルトの証明書: example1.jp

証明書を追加する

デフォルト証明書が登録されている場合

ロードバランサー (ALB) のリスナー HTTPS:443 にデフォルト証明書が登録されている場合は、以下の手順で証明書を追加します。

  1. EC2 コンソールのナビゲーションペイン [ロードバランサー] を選択し、ロードバランサーの一覧を表示します。
  2. 「ロードバランサー」ページの一覧から、証明書を追加するロードバランサーを選択します。
  3. ロードバランサーの詳細ページ「リスナーとルール」セクションで、[HTTPS:443] を選択します。
  4. 「HTTPS:443」ページで [証明書] タブを選択します。
  5. デフォルトの証明書が登録されていることを確認します。
  6. 「SNI のリスナー証明書」セクションの [証明書を追加] を選択します。
  7. 「リスナーに証明書を追加」ページで、追加する証明書 [example2.jp] をチェックします。
  8. [保留中の証明書の追加] を選択して、証明書を追加します。

投稿日

カテゴリー:

,

投稿者: