我在使用 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 账户)?