我寫了以下Terraform代碼:
resource "aws_instance" "agent" {
count = 100
key_name = var.Jenkins_Controller_KeyName。
instance_type = "t2.micro"
ami = data.aws_ami.latest-amazonlinux2.id
}
我的目標是創建100個Jenkins代理EC2實體。我想為每個實體創建Route53記錄。因此,如果我有count = 100,它將創建100條A記錄,像這樣(偽代碼):
for i in 0..100
create_a_name("worker" i.to_string)
我怎樣才能在Terraform中做到這一點?有可能嗎?
uj5u.com熱心網友回復:
與其使用count,不如使用aws_autoscaling_group,desired_capacity和max_size為100。這種方式可以確保高可用性和容錯性你的從屬實體。也許這是一個值得考慮的問題。
但無論如何,為了回答你關于aws_route53_record的問題。你可以沿著這些思路做一些事情:
resource "aws_route53_record"/span> "www"/span> {
count = length(aws_instance.agent)
zone_id = aws_route53_zone.primary.zone_id
name = "worker${count.index}.example.com"。
type = "A"/span>
ttl = "300"/span>
# 從你的問題中不清楚你是想使用公共還是私人IP?
records = [aws_instance.agent[count.index].public_ip] (記錄)。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/325343.html
標籤:
