微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Terraform在route53上获取托管域的zone_id

如何解决使用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
  }
}

解决方法

在terraform中,数据源可用于在运行时检索信息。 AWS提供程序包括用于route53区域的数据源。这是其用法示例:

data "aws_route53_zone" "selected" {
  name         = "test.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
  }
}
,

您还需要添加df.to_csv('averages.csv',mode='a',header=False)

private_zone = false
,

重新要求:

  • 我已经拥有托管区域(区域:AWS的全球区域)
  • 我想将$(teraform输出)托管区域ID进一步用于配置中

解决方案:

  1. 创建一个空资源:
resource "aws_route53_zone" "non-prod-zone" {}
  1. 导入资源
terraform import aws_route53_zone.non-prod-zone YOUR_HOSTED_ZONE_ID
  1. 用名称争论资源
resource "aws_route53_zone" "non-prod-zone" {
  name = var.non_prod_hosted_zone
}
  1. $(地形刷新)将输出变量?
Outputs:

hosted_zone_test_envs_id = YOUR_HOSTED_ZONE_ID

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。