ACMでDNSによるドメイン検証が可能になりました(自動更新が個人的に楽になった)
はじめに
https://aws.amazon.com/jp/about-aws/whats-new/2017/11/aws-certificate-manager-easier-certificate-validation-using-dnsaws.amazon.com
今まで、ACMでドメイン検証をする場合は、メール受信による検証だけだったのですが、これにDNSレコードの登録(CNAMEレコード)による検証が加わりました。
正直、今まではこれだけのためにメール受信環境を構築することもあり、TerraformとかCloud Formation等でテンプレ化をしていても面倒だったのでかなり嬉しいリリースです。
*DNSレコード検証の自動更新プロセスについて詳細な内容にアップデートをしました (1/22)
何が嬉しいか
メールの受信環境を構築しなくて良いのは楽ですね。
また、DNSレコード検証専用の自動更新プロセスも誕生しました。
実は私はこちらの自動更新プロセスの方が嬉しいです。
メール検証の場合、証明書の自動更新の際に以下のプロセスが発生していました。
ACMからの接続による検証が通ると勝手に更新されていて、ACM最高だわ!となるのですが、そもそもSGなどで接続を制限している環境で運用をしていると、更新時にメール検証の一手間が発生してしまい、あー。ってなっていました。
では、DNSレコード検証ではどのようなプロセスとなるのか。
DNS を使用したドメインの所有権の検証 - AWS Certificate Manager
証明書は使用中で CNAME レコードが残っている状態であれば、証明書は ACM によって自動的に更新されます。
とあります。つまり以下の2点をクリアできれば自動的に更新されます。
- CNAMEレコードによる検証を行う
- 証明書が使用中であるか検証を行う
また「証明書が使用中」であることは以下のいずれかで確認可能です。
- コンソールで確認したときに「使用中?」が「はい」になっている
describe-certificate
コマンドInUseBy
に何かしらのARNが存在する
上記で検証が失敗した場合はAWS Accountに対して確認用Eメールが送付されます。
Eメール認証で取得した証明書からドメイン認証へ乗り換える方法
これはよくある質問に答えが載っていました。
既存の証明書を E メールでの検証から DNS での検証に変更できますか?
できません。しかし、無料の証明書を新たに ACM からリクエストして、この新しいものに対して DNS での検証を選択できます。
つまり、Eメール認証で取得したドメイン名の証明書をDNS認証で新しく取得して、各AWSリソースとの紐づけを順次切り替えていけば良いです。