【发布时间】:2021-10-21 11:02:01
【问题描述】:
我已经使用 terraform 创建了一些 AWS EC2 实例,如下所示:
resource "aws_instance" "deploya"{
....
}
resource "aws_instance" "deployb"{
....
}
resource "aws_instance" "deployc"{
....
}
对于上面的aws_instances,我想创建route_53一条记录。
我在本地人中有 A 记录的名称,如下所示。它们也用于脚本中的许多其他地方
locals {
namea = "namea.aws.ra.com"
nameb = "nameb.aws.ra.com"
namec = "namec.aws.ra.com"
}
我知道我可以为每个 aws_instance 创建 Route53 A 记录,如下所示:
resource "aws_route53_record" "www" {
allow_overwrite = true
zone_id = data.aws_route53_zone.selected.zone_id
name = local.namea
type = "A"
ttl = "300"
records = [aws_instance.deploya.private_ip]
}
我在上述手动方法中面临的问题是代码长度、重复性和可维护性我想在这里使用一些迭代来保持代码紧凑,但我无法弄清楚这是 Terraform 的新手。此外,可能还有更多 aws_instances。
这里的代码如何保持紧凑?
【问题讨论】:
标签: amazon-ec2 terraform amazon-route53 terraform-provider-aws terraform0.12+