AWS route53 区域的 Terraform 错误 - 未找到匹配的 Route53Zone

AWS route53 区域的 Terraform 错误 - 未找到匹配的 Route53Zone

我正在创建 AWS route53 区域。

这是我的代码。创建区域

resource "aws_route53_zone" "kubetest" {
  name = "kubetest.com"
}

然后使用数据获取详细信息

data "aws_route53_zone" "selected" {
  name = "kubetest.com"
}

output "ns" {
  value = "${data.aws_route53_zone.selected.name_servers}"

但这样做时会出现错误terrafrom plan

Error: Error refreshing state: 1 error(s) occurred:

* data.aws_route53_zone.selected: 1 error(s) occurred:

* data.aws_route53_zone.selected: data.aws_route53_zone.selected: no matching Route53Zone found

如果我确实只创建第一个区域,然后添加工作正常的数据,在这种情况下,我必须运行terraform plan2 次,并对部分代码进行注释和取消注释data。我已经检查过了未找到匹配的 Route53Zone和其他人一样,但犯了同样的错误。

答案1

如果您也在同一文件中创建数据查找,则不需要在同一文件中进行数据查找。只需使用资源即可。数据源查找非常适合在 Terraform 之外或在另一个 Terraform 运行中创建的内容。例如,来自网络的一个 Terraform 运行可能会创建 VPC/子网/路由/等。您的运行可能会建立在其之上,因此您可以使用数据源查找来查找要使用的子网。

就这么做

resource "aws_route53_zone" "kubetest" {
  name = "kubetest.com"
}

output "ns" {
  value = "${aws_route53_zone.kubetest.name_servers}"
}

相关内容