こんばんは。小寺です。
ALBは一つだけで、マルチドメインを使いたいときありますよね。
今日はどうやったら、マルチドメインを使えるようになるのか?設定についてお伝えします。
・test1.cloud
・test2.cloud
・test3.cloud
上記の3ドメインを1つのALBに設定してみます。
前提として上記のtest1.cloud、test2.cloud、test3.cloudは、Route53に登録済みとします。またターゲットグループも作成済みとします。
複数ドメインを設定するときのポイント
複数のACM証明書をALBにアタッチする場合、SNI のリスナー証明書を作成します。ポイントはメインの証明書はListenerに設定し、それ以外の証明書はSNI のリスナー証明書に追加をしてみましょう。
HTTPSリスナーには複数のACMをアタッチできないので、要注意です。
また、最初にアタッチされた証明書がデフォルト証明書として設定されます。HTTPS リスナーを作成した後にデフォルトの証明書を置き換えることができます。クライアントからの接続が Server Name Indication (SNI) プロトコルを使用せずに接続した場合、または証明書リストに一致する証明書がない場合にのみデフォルトの証明書が使用されます。
リスナーの証明書の「証明書」タブから「証明書を追加」をクリックします。

「リスナーに証明書を追加」画面から「追加したい証明書」を選び、「保留中として以下を含める」をクリックします。
保留中のまま、SNIリスナー証明書に表示がされているので、「保留中の証明書の追加」をクリックします。


無事に有効化できました。

ドメイン名毎のリスナールールを作成するときのポイント
test1.cloud、test2.cloud、test3.cloudのターゲットグループを作成しておきます。
3つのターゲットグループに対して、どのようにアクセスの振り分けを行えば良いかというと、ホストヘッダーのHostの値を利用します。
以下を3ターゲット分作成します。
・host-header:ドメイン
・転送先:対応するターゲットグループ

test1.cloudへアクセスしてみます。無事に証明書と画面が確認できます。確認するにはトップページにそれぞれ違うHTMLを置いておくのが確認しやすいですね。
