我试图在私有托管区域中创建Route53别名记录,使用Terraform v0.13.6并指向vpce (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,正如您在错误消息中看到的那样。
有什么好主意吗?
发布于 2021-12-15 22:06:17
对于name of alias,我认为您应该使用aws_vpc_endpoint提供的一个,因此:
alias {
name = aws_vpc_endpoint.ssm_endpoint[each.key].dns_entry[0].dns_name
zone_id = aws_vpc_endpoint.ssm_endpoint[each.key].dns_entry[0].hosted_zone_id
evaluate_target_health = true
}我不知道each.value.url的价值是什么,但我不认为它是正确的。
https://stackoverflow.com/questions/70370325
复制相似问题