Terraform无法创建AW​​S Route53记录,但是我可以手动创建它吗?

时间:2020-11-10 03:43:38

标签: terraform terraform-provider-aws

Terraform 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
  }
}

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

$ terraform plan -out out.output

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

$ 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

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

1 个答案:

答案 0 :(得分:4)

尝试使用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
  }
}