首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform“为VPC接口终结点创建区域匹配失败的R53别名”--但区域是正确的

Terraform“为VPC接口终结点创建区域匹配失败的R53别名”--但区域是正确的
EN

Stack Overflow用户
提问于 2021-12-15 21:09:03
回答 1查看 887关注 0票数 0

我试图在私有托管区域中创建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‘次记录,并使用泛型端点的名称,因为在发生故障时,我希望跨两个子网进行解析。

相关代码如下。有没有人对可能发生的事情有任何洞察力?

代码语言:javascript
复制
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,正如您在错误消息中看到的那样。

有什么好主意吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-15 22:06:17

对于name of alias,我认为您应该使用aws_vpc_endpoint提供的一个,因此:

代码语言:javascript
复制
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的价值是什么,但我不认为它是正确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70370325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档