【发布时间】:2022-01-19 00:44:25
【问题描述】:
我正在尝试使用 Terraform v0.13.6 在私有托管区域中创建 Route53 别名记录并指向 VPC 端点 (vpce),但遇到了自然故障:
Error building changeset: InvalidChangeBatch: [Tried to create an alias that targets ssm.us-west-2.amazonaws.com., type A in zone [XXXX], but the alias target name does not lie within the target zone] status code: 400
我正在寻址的区域 [XXXX] 确实是 VPCe 的区域,而不是 DNS 的区域,所以我希望避免这种常见错误。
当我通过控制台或命令行查看 VPCe 时,我在结果中看到 正确 区域(与 [XXXX] 匹配),因此 Terraform 返回字面上告诉我 VPCe 是不在控制台和 CLI 所说的区域中。
当我使用控制台创建别名记录时,它工作正常!
VPCe 位于两个子网中,因此 VPCe 控制台记录中列出了三 (3) 个 DNS 名称(显然是通用记录,每个指定子网都有一个)但 DNS 区域都相同,因此应该不成问题。在代码中,我追踪第 0 条记录,并使用通用端点的名称,因为我希望在失败的情况下跨两个子网进行解析。
相关代码如下。有人对可能发生的事情有任何见解吗?
resource "aws_route53_record" "endpoint_record" {
for_each = var.vpce
provider = aws.someprovider
zone_id = aws_route53_zone.private[each.key].zone_id
name = ""
type = "A"
alias {
name = each.value.url
zone_id = aws_vpc_endpoint.ssm_endpoint[each.key].dns_entry[0].hosted_zone_id
evaluate_target_health = true
}
depends_on = [
aws_route53_zone.private,
]
}
别名调用中的 url 是 ssm.us-west-2.amazonaws.com 类型,如您在错误消息中所见。
有什么想法吗?
【问题讨论】:
标签: amazon-web-services terraform terraform-provider-aws amazon-route53 amazon-vpc