Terraform 无法创建 AWS Route53 记录,但我可以手动创建它吗?

Chr*_*s F 2 terraform terraform-provider-aws

地形 v0.12.x

我正在尝试使用此脚本创建 Route53 记录,该脚本旨在创建别名为 ALB 的 A 记录。

data "aws_route53_zone" "mycompany_com" {
  name         = "mycompany.com."
  private_zone = true
}

resource "aws_route53_record" "jenkins_master_green" {
  zone_id = data.aws_route53_zone.mycompany_com.zone_id
  name    = "jenkins-green.${data.aws_route53_zone.mycompany_com.name}"
  type    = "A"
  alias {
    name = aws_lb.jenkins_master_green.dns_name
    zone_id = data.aws_route53_zone.mycompany_com.zone_id
    evaluate_target_health = false
  }
}
Run Code Online (Sandbox Code Playgroud)

该计划显示了我期望的正确值

$ terraform plan -out out.output
Run Code Online (Sandbox Code Playgroud)

但是当我应用这个计划时我得到了

$ terraform apply out.output
aws_route53_record.jenkins_master_green: Creating...

Error: [ERR]: Error building changeset: InvalidChangeBatch: [Tried to create an alias that targets <redacted>.us-east-1.elb.amazonaws.com., type A in zone <redacted>, but the alias target name does not lie within the target zone, Tried to create an alias that targets <redacted>.us-east-1.elb.amazonaws.com., type A in zone <redacted>, but that target was not found]
    status code: 400, request id: 2cf7384d-fa16-4828-854b-ea3e56cc0754
Run Code Online (Sandbox Code Playgroud)

如果我转到 AWS Route53 控制台,我可以创建记录。我缺少什么?

leb*_*b4r 5

尝试使用zone_id来自aws_lb.jenkins_master_green

data "aws_route53_zone" "mycompany_com" {
  name         = "mycompany.com."
  private_zone = true
}

resource "aws_route53_record" "jenkins_master_green" {
  zone_id = data.aws_route53_zone.mycompany_com.zone_id
  name    = "jenkins-green.${data.aws_route53_zone.mycompany_com.name}"
  type    = "A"
  alias {
    name                   = aws_lb.jenkins_master_green.dns_name
    zone_id                = aws_lb.jenkins_master_green.zone_id
    evaluate_target_health = false
  }
}
Run Code Online (Sandbox Code Playgroud)