terraformでsesv2を使ってsesの設定をする

2023/07/18に公開

モチベーション

sesv2からdefaultのconfiguration setを設定できる
https://github.com/hashicorp/terraform-provider-aws/issues/21129

設定

自分で書いたやつを晒す

# ses.tf
resource "aws_sesv2_email_identity" "hoge" {
  email_identity         = "hoge.com"
  configuration_set_name = aws_sesv2_configuration_set.hoge.configuration_set_name
}

resource "aws_sesv2_configuration_set" "hoge" {
  configuration_set_name = "hoge"
  suppression_options {
    suppressed_reasons = ["BOUNCE", "COMPLAINT"]
  }
}

# route53.tf
resource "aws_route53_zone" "hoge" {
  name = "hoge.com"
}

resource "aws_route53_record" "dkim" {
  count   = 3
  zone_id = aws_route53_zone.hoge.zone_id
  name    = "${element(aws_sesv2_email_identity.hoge.dkim_signing_attributes[0].tokens, count.index)}._domainkey.hoge.com"
  type    = "CNAME"
  ttl     = 1800
  records = ["${element(aws_sesv2_email_identity.hoge.dkim_signing_attributes[0].tokens, count.index)}.dkim.amazonses.com"]
}

tips

v1でやっていた、sesに確認するためのTXTレコードは必要なくなったらしい(DKIMの設定のみでOK)

dkim_signing_attributesの最初にtokensは入っているらしい

Discussion