ACM の証明書を他の ELB に移し替える

投稿日: 2022/12/30
更新日: 2022/12/30
タグ:
 AWS 
シェア:

URL copied!


概要

システムをサーバー移行した際にサブドメイン用の証明書をELB1からELB2へ移した。その時の備忘録。

前提

変更前

変更後

ドメイン

  • 変更前
    • ELB1
      • example.com
    • ELB2
      • sub.example.com
  • 変更後
    • ELB1
      • example.com
      • sub.example.com
    • ELB2 (削除)

設定の確認

Route 53

Route 53 > ホストゾーン > <ドメイン名>


表1

レコード名 タイプ ルーティングポリシー 値/トラフィックのルーティング先
example.com A シンプル <ELB1>
sub.example.com A シンプル <ELB2>
<何らかの値>.example.com CNAME シンプル <ACM1>
<何らかの値>.sub.example.com CNAME シンプル <ACM2>

ACM

AWS CertificateManager > 証明書 > <証明書id>

確認できること

表2

項目名 内容
証明書のステータス ステータス:発行済み
更新ステータス:成功
証明書のステータス ステータス:発行済み
更新ステータス:成功
ドメイン <Route53 のレコードがあれば表示される>
関連づけられたリソース <証明書が使われているリソースが表示される>
例:ELB2 の HTTPS(443) に関連

ロードバランサー

EC2 > Load balancers > <ロードバランサー名> > Listeners > HTTPS:443 > Certificates

下記の項目が存在

  • Default certificate: <ドメイン名>
    • デフォルトの証明書を変更(1つしか選択できない)することが可能
  • Listener certificates for SNI
  • Server Name Indication (SNI)を使った複数のTLS/SSL証明書を追加削除が可能

(参考)
Application Load BalancerがSNIを利用した複数のTLS証明書のスマートセレクションをサポートしました - AWS

変更の仕方

  1. Route 53:ドメインのルーティング先を表3のように変更
  2. ロードバランサー:ELB2は不要になるので HTTPS:443 listener を削除
    sub.example.com の証明書がELB2の Default certificate に設定されていたので削除して関連付を外す
  3. ロードバランサー:ELB1 の SNI に追加
    • SNIセクションにある Add certificate を押下
    • ACM and IAM certificates から追加したいドメインを選択し Include as pending below を押下

表3

レコード名 タイプ ルーティングポリシー 値/トラフィックのルーティング先
example.com A シンプル <ELB1>
sub.example.com CNAME シンプル example.com
<何らかの値>.example.com CNAME シンプル <ACM1>
<何らかの値>.sub.example.com CNAME シンプル <ACM2>

おわりに

上記を正しく設定したことで、証明書を再発行しなくても app2 を sub.example.com で閲覧した際に証明書が正しく適用できていることが確認できました。