[ACM] CloudFormationがACMのDNSレコード検証に対応しました
はじめに
AWSチームのすずきです。
CloudFormationが、ACM(AWS Certificate Manager)のDNSレコードを利用したドメインの所有検証に対応し、 Amazon発行の無料サーバ証明書がより簡単に設置出来るようになりました。
早速試す機会がありましたので、紹介させていただきます。
CloudFormation
今回、以下のテンプレートを利用しました。
AWSTemplateFormatVersion: '2010-09-09' Description: ACM DNS Validation template (20180828) Parameters: DomainName: Description: FQDN of the certificate Type: String Default: 'acm.mesoko.jp' ValidationDomain: Description: The domain to which validation Type: String Default: 'mesoko.jp' Resources: ACMCertificate: Type: AWS::CertificateManager::Certificate Properties: DomainName: !Sub '${DomainName}' SubjectAlternativeNames: - !Sub '*.${DomainName}' DomainValidationOptions: - DomainName: !Sub '${DomainName}' ValidationDomain: !Ref 'ValidationDomain' Tags: - Key: Name Value: !Sub '${DomainName}-20180828' ValidationMethod: DNS
- 「ValidationMethod:」として「DNS」の指定が可能になりました。
- 「EMAIL」を指定した場合、従来通りのメールを利用したドメイン所有確認が行われます。
動作例
CloudFormationスタック作成
- ダウンロードしたYAMLファイルを利用して、新規CloudFormationスタックの作成を行います。
- 「DomainName」は、SSL証明書を発行するFQDN(CN:コモンネーム)を記述します。
- 「ValidationDomain」は、CNAMEレコードを設置するDNSゾーンを指定します。サブドメインの場合、親ゾーンを指定する事も可能です。
- イベントステータスとして「AWS::CertificateManager::Certificate」の作成がDNS検証待ちとなります。
‐ 以前に設置した検証用のCNAMEレコードが有効な場合、DNS検証が完了次第、作成完了となります。
ACM操作
- 「検証保留中」のドメインを開き、ドメインのDNS設定情報を確認します。
- 表示されたCNAMEレコード内容を、DNSサーバに登録します。
- 同一アカウントのRoute53のHostedZoneで管理されているドメインの場合、ACMのWebコンソールから必要なDNSレコード情報の追加が可能です。
- 設定後、数分〜30分程度でDNS検証が実施され、証明書の状態が「発行済み」となります。
まとめ
CloudFormationを利用してAmazon発行のSSL証明書を発行する事は可能でしたが、 これまでは証明書の発行の度にメール承認が求められるため、利用しにくい場合がありました。
今回、CloudFormationがACMのDNS検証に対応した事で、初回のみ検証用のCNAMEレコードの追加が必要ですが、2回目以降はSSL証明書の即時発行、有効化が可能になりました。
複数リージョン、マルチアカウントで展開されるシステムや、シングルドメイン証明書の利用などで 多数のSSL証明書の発行が求められる場合には、今回のアップデートをぜひお試しください。