问题描述
当我有一个托管区域时,很容易创建该区域,然后通过按名称引用托管区域来创建代理帐户中该区域的NS记录。
- 编辑为了避免混淆,这是我想要实现的目标,但是对于多个托管区域,该域的所有者是管理帐户:https://dev.to/arswaw/create-a-subdomain-in-amazon-route53-in-2-minutes-3hf0
现在,我需要创建多个托管区域,并将名称服务器记录传递回父帐户,并且我不确定是否有可能(或如何)引用多个资源。读这篇文章可能没有多大意义,所以下面的代码是我所掌握的。
我现在有一个for_each
循环,该循环将遍历字符串列表并为每个字符串创建一个托管区域,然后我想在另一个帐户中创建相应的NS记录,请注意,我正在使用单独的提供商provider = aws.management_account
连接到管理帐户,这对于单个托管区域来说效果很好。
我不知道如何引用托管区域,是否有某些语法或我的方法错误?
resource "aws_route53_zone" "public_hosted_zone" {
for_each = local.aws_zones
name = "${each.value}.${var.domain}"
}
resource "aws_route53_record" "ns_records" {
for_each = local.aws_zones
provider = aws.management_account
allow_overwrite = true
name = "${each.value}.${var.domain}"
ttl = 30
type = "NS"
zone_id = data.aws_ssm_parameter.public_hosted_zone_id.value
records = [
aws_route53_zone.public_hosted_zone.name_servers[0],# Here is my old code which works for a single hosted zone but I cannot work out how to reference multiples created above
aws_route53_zone.public_hosted_zone.name_servers[1],aws_route53_zone.public_hosted_zone.name_servers[2],aws_route53_zone.public_hosted_zone.name_servers[3]
]
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)