如何解决使用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进一步用于配置中
解决方案:
- 创建一个空资源:
resource "aws_route53_zone" "non-prod-zone" {}
- 导入资源
terraform import aws_route53_zone.non-prod-zone YOUR_HOSTED_ZONE_ID
- 用名称争论资源
resource "aws_route53_zone" "non-prod-zone" {
name = var.non_prod_hosted_zone
}
- $(地形刷新)将输出变量?
Outputs:
hosted_zone_test_envs_id = YOUR_HOSTED_ZONE_ID
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。