Terraformを使ってACMのDNS認証を行う

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術1課の岩本です。

AWSを利用する際にAWS発行のSSL証明書を利用する機会も多いと思います。

ACMではSSL証明書の認証のためメールやDNSを用いますが、
マネジメントコンソール、もしくはメール受信などの承認プロセスなどが別途必要となります。

Terraformを用いると、Terraform内だけでACMの承認が行えます。

やってみた

解説

  • aws_acm_certificate で対象となるドメイン用のSSL証明書を作成しています。
  • data "aws_route53_zone" とすることで、既存の(同一アカウントのRoute53に存在する)HostedZone名を指定しています。
    • 新規でHostedZoneを作成するのであればresourceと記載します。
  • aws_route53_recordにて、生成された認証用のDNSレコードを追加しています。

参考aws_acm_certificate_validation

まとめ

aws_acm_certificate_validation を使うことで、SSL証明書の作成がTerraform内で完結できます。

ALBなどを作成する際などに、SSLリスナーを作る場合は、事前にSSL証明書の作成などが必要でしたが、

aws_acm_certificate_validationを用いることで、証明書の作成からALBへの割り当てまでを一括で行えるようになります。

AWS運用自動化サービス「Cloud Automator」