首页 > 解决方案 > 使用 terraform 在 route53 上获取托管域的 zone_id

问题描述

嗨,我正在使用 terraform 创建 route53 记录,我已经有一个托管域(公共)让我们说example.com一下如何获取其 zone_id 并附加到记录。如何获取现有 route53 托管区域的 zone_id。我已经编写了一个文件,但它的作用是创建另一个托管区域example.com,而不是获取现有的example.com

resource "aws_route53_zone" "main" {
  name = "example.com"
}

resource "aws_route53_record" "www" {
  zone_id = data.aws_route53_zone.selected.zone_id 
  name    = "dev.${data.aws_route53_zone.selected.name}"
  type    = "A"
  alias {
    name                   = var.alb_dns
    zone_id                = var.zone_id
    evaluate_target_health = false
  }
}

标签: amazon-web-servicesterraformamazon-route53amazon-elbterraform-provider-aws

解决方案


private_zone = false你也需要添加

data "aws_route53_zone" "selected" {
  name         = "test.com."
private_zone = false
}

resource "aws_route53_record" "www" {
  zone_id = data.aws_route53_zone.selected.zone_id 
  name    = "dev.${data.aws_route53_zone.selected.name}"
  type    = "A"
  alias {
    name                   = var.alb_dns
    zone_id                = var.zone_id
    evaluate_target_health = false
  }
}

推荐阅读