AWS Certificate Manager(ACM)の証明書更新の注意ポイント

記事タイトルとURLをコピーする

こんにちは。高橋@技術4課です。

前回の記事:AWS Certificate ManagerでSSLをお手軽に!

以前に AWS Certificate Manager(ACM)についての記事を書きました。そこで「ACMの証明書は自動更新!」と書いたのですが、自動更新には条件があります。今回はその自動更新の条件と注意点について紹介します。

自動更新の必須事項

AWS Certificate Manager (ACM) 証明書の自動更新時の注意点
AWS Solution Architectブログに記載されている通り、自動更新が行われるには 3点条件があります。

  1. 証明書に記載されているFQDNが名前解決できること
  2. 証明書が使用されていること(AWSリソースに関連付けられていること)
  3. 証明書に紐付いているAWSリソースが、インターネット経由で SSL/TLS接続できること

自動更新の注意事項

HTTPSリクエストをインターネットから受けられるようにする

自動更新にあたって、ACMはドメインに応じた FQDNに対して HTTPSリクエストを送信し、コネクションが確立できたときに自動更新がされます。

そのため ACMの証明書が設定されているAWSリソースが、インターネットからHTTPSリクエストを受けられるようにする必要があります。

AWS WAFやセキュリティグループで HTTPSリクエストに IP制限をかけている場合、コネクションが確立できず自動更新がされません。この場合メールベースでの更新が必要となります。

ワイルドカードドメイン利用の場合

HTTPSリクエストによる自動更新は、ワイルドカードドメインを利用していても有効です。

HTTPSコネクションの接続先は、AWSの公式ドキュメントをご覧ください。

Managed Renewal for ACM's Amazon-Issued Certificates - How Domain Validation Works

例として証明書のドメインが *.sample.com の場合、ACMは www.sample.com, sample.com にリクエストを送信します。

複数リージョンで同じドメインの証明書を作成している場合

複数のリージョンで同じドメインの証明書を作成している場合、リージョン毎に更新を行う必要があります。

証明書の有効期限は発行から 13ヶ月のため、証明書毎に期限が異なります。複数リージョンで証明書を運用している場合、更新のタイミングに注意してください。

自動更新ができない場合

以上の条件を満たさない場合、手動での更新が必要となります。

WHOISに記載のメールアドレスと、管理アドレス(admin@、administrator@、hostmaster@、webmaster@、および postmaster@)宛に、手動更新の手順が記載された検証メールが送信されます。

検証メールのサンプルはこちらです。

Greetings from Amazon Web Services,

An SSL/TLS certificate for 【ドメイン名】 is nearing its expiration date and requires your approval to renew.

Verify that the following domain, AWS account ID, AWS Region, certificate identifier, and expiration date correspond to a certificate that you or someone in your organization is using.

Domain: 【ドメイン名】
AWS account ID: 【アカウントID】
AWS Region name: 【リージョン】
Certificate identifier: 【証明書識別子】
Expiration date: 【有効期限】

To approve this request, go to Amazon Certificate Approvals (【更新用リンクのURL】) and follow the instructions on the page.

If you choose not to approve this request, you do not need to do anything; however, the certificate will expire, which might make your website unreachable. To prevent future approval requests for this certificate, delete the certificate. See the AWS Certificate Manager User Guide for details.

This email is intended solely for authorized individuals for 【ドメイン名】. To express any concerns about this email or if this email has reached you in error, forward it along with a brief explanation of your concern to validation-questions@amazon.com.

証明書の有効期限 45日前から AWS Personal Health Dashboard上で通知が行われますので、メールを見落としそうな方はそちらからも確認するといいでしょう。

検証メール受信の注意点

SAブログにも記載の通り、自動更新に失敗した場合、この検証メールが受信できないと証明書の更新ができません。WHOISや MXレコードの設定を確認し、確実にメールが受信できる環境を維持しておいてください。

またこのメールは、証明書がAWSリソースに関連付けられているときのみ送信されます。

万が一このメールが受信できなかった場合、マネジメントコンソール、あるいは APIよりメールの再送が可能です。
Request a Domain Validation Email for Certificate Renewal

まとめ

再度お伝えしますが、証明書が自動更新されるのは以下の条件を満たしているときだけです。

  1. 証明書に記載されているFQDNが名前解決できること
  2. 証明書が使用されていること(AWSリソースに関連付けられていること)
  3. 証明書に紐付いているAWSリソースが、インターネット経由で SSL/TLS接続できること

メールからの更新は忘れる可能性がありますし、何より手間がかかります。自動更新なら忘れることもなく楽ですので、ぜひとも自動更新機能を活用してください。

SEOやセキュリティの観点から SSLはもはや ""当たり前"" になりつつあります。証明書の更新を忘れて、ユーザに不便をかけるといったことは避けたいですね。

ACMを利用して、快適な SSLライフを過ごしてください!
ではでは