Kos*_*ris 5 amazon-route53 terraform
假设我有一个公共托管区域名称example.com.。我使用以下 Terraform 代码根据文档的名称动态获取托管区域 ID 。
data "aws_route53_zone" "main" {
  name = "example.com." # Notice the dot!!!
  private_zone = false
}
在terraform plan它出现此错误期间:
Error refreshing state: 1 error(s) occurred:
* data.aws_route53_zone.main: no matching Route53Zone found
是否有我应该报告的错误或我遗漏了什么?
该aws_route53_zone数据源会列出该Terraform有权查看帐户中所有的托管区域。
如果您尝试引用另一个帐户中的区域,则可以通过在具有列出所有区域 ( route53:ListHostedZones*,route53:GetHostedZone*)权限的区域的帐户中创建角色/用户,然后为此使用第二个“提供者”来实现此目的数据源。
所以你可能有这样的事情:
provider "aws" {
    # ... access keys etc/assume role block
}
# DNS account
provider "aws" {
    alias = "dns_zones"
    # ... access keys etc/assume role block
}
data "aws_route53_zone" "main" {
  provider = "aws.dns_zones"
  name = "example.com." # Notice the dot!!!
  private_zone = false
}
resource "aws_route53_record" "www" {
  zone_id = "${data.aws_route53_zone.main.zone_id}"
  name = "www.${data.aws_route53_zone.main.name}"
  ...
}
使用 thezone_id代替 thename为我做到了。
data "aws_route53_zone" "api2" {
  # name = "example.com."
  zone_id = "REPLACEWITHYOURID"
  vpc_id = "${var.vpc_id}"
}
| 归档时间: | 
 | 
| 查看次数: | 10669 次 | 
| 最近记录: |