AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Terraform で AWS SES する

以下を参考にしながら Terraform 公式のリソース解説と反復横跳びして確認した。

cha-shu00.hatenablog.com

以下、作業していてつまづいた、注意しておくところ。

SPF 周り

mail_from_domain は必ずサブドメイン指定が必要 (以下 domain に指定しているのはネイキッドドメインなので、公式のサンプル記述のように bounce. サブドメインをつけておくのが丸そう)

# SPF
resource "aws_ses_domain_mail_from" "spf" {
  domain = var.domain_name
  # MAIL FROM アドレスとして使用するサブドメイン (上記ドメインの) (DMARC 検証に必要)
  mail_from_domain = "bounce.${var.domain_name}"
}

DMARC 周り

レコード内に記述する mailto: は、登録時点で受信先がなくても大丈夫そう。 とりあえず作るだけ作っておいて、あとから S3 に受信だけできるようにするか、管理用に rainloop などで管理用の画面用意、とかのほうがいいかもしれない。

# SES: DMARC ドメイン用レコード登録
resource "aws_route53_record" "dmarc" {
  zone_id = data.aws_route53_zone.default_zone.zone_id
  name = "_dmarc.${var.domain_name}"
  type = "TXT"
  ttl = "60"
  records = [
    "v=DMARC1;p=quarantine;pct=25;rua=mailto:dmarcreports@${var.domain_name}"
  ]
}