0

我在使用 AWS SES 服务时遇到了问题。

理想情况下,我想使用 Terraform/Terragrunt 设置整个服务。不幸的是,我似乎无法解决如何去做。

要设置 SES 域,我需要针对我要使用的域进行验证。我要使用的域存在于不同的 AWS 账户中。所以从技术上讲,我需要运行 aws_ses_domain_identity 资源来获取域身份的 id,然后我需要使用 aws_ses_domain_identity 资源给我的 TXT 值在我的另一个 AWS 账户中创建 Route53 记录,最后我需要运行aws_ses_domain_identity_verification 来验证域。

以下是我所指的资源:

resource "aws_ses_domain_identity" "main" {
  domain = var.domain
}

resource "aws_route53_record" "ses_verification" {
  zone_id = data.aws_route53_zone.main.zone_id
  name = "_amazonses.${aws_ses_domain_identity.main.id}"
  type = "TXT"
  ttl = 60
  records = [aws_ses_domain_identity.main.verification_token]
}

resource "aws_ses_domain_identity_verification" "audit" {
  domain = aws_ses_domain_identity.main.id

  depends_on = [aws_route53_record.ses_verification]
}

resource "aws_ses_active_receipt_rule_set" "main" {
  rule_set_name = "primary-rules"
}

##########
## DATA ##
##########
data "aws_route53_zone" "main" {
  name = var.domain
}

如何使用 Terraform 解决这个问题?当模块如此紧密地交织在一起时,我认为将它们分成三个独立的模块是没有意义的。我是否在同一个模块中使用了两个不同的 AWS 提供商(DNS 账户、SES 账户)?

4

0 回答 0