🎉

【入門#9】TerraformでACM証明書を作ろう

に公開

今回の目標

Terraformを使って、ALBに紐づけるACM証明書を作ります。
将来的には下記のシステム構成図になるように進めていきますが、今回はその中のACMに絞って解説します。

◯今回のシステム構成図の全体像

関連記事:https://zenn.dev/alt_tanuki/articles/7c1f97da33496b

ではやっていきましょう!

ACM証明書を書いていきます

network.tfに下記の記述をどんどん書いていきます!

ACM証明書

resource "aws_acm_certificate" "cask_tokyo_cert" {
  # 検証するドメイン
  domain_name               = "ec2.cask.tokyo"
  # 検証方法
  validation_method         = "DNS"

  tags = {
    Name = "cask-tokyo-acm"
  }
}

Route53 CNAMEレコード

resource "aws_route53_record" "cask_tokyo_cert_cname" {
  for_each = {
    for dvo in aws_acm_certificate.cask_tokyo_cert.domain_validation_options : dvo.domain_name => {
      name   = dvo.resource_record_name
      record = dvo.resource_record_value
      type   = dvo.resource_record_type
    }
  }

  allow_overwrite = true
  name = each.value.name
  records = [each.value.record]
  type = each.value.type
  ttl = "300"

  # レコードを追加するドメインのホストゾーンIDを指定(ホストゾーン詳細画面から確認)
  zone_id = "XXXXXXX"
}

上記のもとterraform applyを行うと!
ACM証明書が発行されており、DNSのCNAMEレコードも作成されているため
検証済みの状態となります。

以上です!

ACMはなんだかんだ早いですね。
あとCNAMEレコード作成はブラックボックス感がやはりあります。

下記の記事を目次として、続きをどんどん構築を行っていきますので、今回作成したACMをALBに紐づける方法などが気になる方はぜひ見に来てください!

https://zenn.dev/alt_tanuki/articles/7c1f97da33496b

Discussion