ALB のリスナーに複数のSSL証明書が設定されている場合、どの証明書が適用されるか教えてください

ALB にSSL証明書が複数設定されている場合、証明書の有効期間などに基づいて選択されます。
2024.04.02

困っていたこと

Application Load Blancer(ALB)のリスナーに、同じドメインのSSL証明書を複数設定しています。
リクエストの条件に合致するSSL証明書が複数あった場合、どの証明書が適用されますか?

どう対応すればいいの?

条件に合致するSSL証明書が複数あった場合、以下の条件に基づいて選択が行われます。

AWS ドキュメントからの抜粋:

クライアントが提供するホスト名が証明書リストの複数の証明書と一致する場合、ロードバランサーはクライアントがサポートできる最適な証明書を選択します。証明書の選択は、次の条件と順序に基づいて行われます。
・ パブリックキーアルゴリズム (RSA よりも ECDSA が優先)
・ ハッシュアルゴリズム (MD5 よりも SHA が優先)
・ キーの長さ (最大が優先)
・ 有効期間

適用されているSSL証明書の確認方法

ブラウザ(一例として Chrome)で確認してみます。
対象 ALB に https でアクセスし、URLバーの横のアイコンを押下して「この接続は保護されています」→「証明書は有効です」を順にクリックします。

現在のリクエストで適用されているSSL証明書の詳細を表示できます。