zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【AWS Certificate Manager】複数ドメインの証明書を同一ELBで処理できるか検証

前提知識

zuntan02.hateblo.jp

【疑問】

1台のEC2インスタンスに複数のバーチャルホストが動作している。
SSLACMで取得してELBにてSSLオフロードしている。
バーチャルホストそれぞれのルートドメインが異なるとき、ELBは1台で処理できるか?

【結果】

処理できた。
ACMで証明書のリクエストを行う際、ドメイン名のほかに「追加の名前」が記載できるが、こちらに
[hoge.aa.com][*.bbb.jp]などルートドメインの異なるドメインを追加できる。
この証明書を利用することで1台のELBで複数ドメインSSLオフロード処理が可能。

【具体的な作業イメージ】

[Certification Manager]-[証明書のリクエスト]
ドメイン名:hogehoge.com
[この証明書に別の名前を追加]

*.hogehoge.com
fugafuga.jp
*.fugafuga.jp

などを設定し、[確認とリクエスト]

→確認とリクエスト 画面で確認し、[確定とリクエスト]
→各ドメインの登録所有者に「Certificate approval for hogehoge.com」 E メールが送付されるので、メールのリンク(To approve this request, go to Amazon Certificate Approvals)を開いて[I Approve]で承認する。

【根拠】

https://aws.amazon.com/jp/certificate-manager/faqs/
Q: ACM により提供される証明書に複数のドメイン名を含めることはできますか?

はい。各証明書には少なくとも 1 つのドメイン名が含まれている必要がありますが、必要な場合はさらにドメイン名を追加できます。例えば、両方のドメイン名でサイトにアクセスできるならば、"www.example.com" の証明書に "www.example.net" というドメイン名を追加できます。証明書リクエストに含まれるドメイン名すべてを所有または制御している必要があります。

こういう証明書は「マルチドメイン証明書」というらしい。別名はSAN。知らんかった。
rms-digicert.ne.jp

【注意点1】

マルチドメイン証明書の場合、ブラウザでSSL証明書マークを右クリックした際に表示されるSSL証明書の発行先(CN)として表示されるのはACM証明書の本体名称なので、その辺を気にする人は気を付けましょう。
例)
ドメイン名:aaa.com
追加の名前:bbb.co.jp/*.ccc.com
とかでACMを登録してELBでSSLオフロードした場合、https://bbb.co.jp には正常に接続されるものの、証明書の「発行先」はaaa.comとして表示されます。

【注意点2】

こっちに書きましたけど、デフォルトではマルチドメイン10個までだそうです。
zuntan02.hateblo.jp
それ以上は上限緩和申請が必要。