这就是我想要做的。我有 2 个使用 Terraform 创建的自动缩放组。一种是在三个不同的可用区中启动 3 个 EC2 实例,并使用公共 IP 地址。另一个 Auto Scaling 组正在三个不同的可用区中启动 3 个 EC2 实例,使用私有 IP 地址我试图为每个实例设置一个唯一的“名称”标签。在 Terraform 中,我看到自动缩放资源有一个标签块,但在应用时,相同的标签应用于所有 3 个实例。此外,我尝试将我的代码设置为一个自动扩展组可以启动我的所有实例(公共和私有),但是在我的 vpc_zone_identifier 语句中使用“for”表达式循环时遇到问题。这个问题迫使我为私有实例创建第二个 Auto Scaling 组。
resource "aws_autoscaling_group" "public" {
name = "${var.main_as}-Public"
launch_configuration = aws_launch_configuration.main.id
vpc_zone_identifier = [
for subnet in aws_subnet.public : subnet.id
]
min_size = 3
max_size = 3
}
resource "aws_autoscaling_group" "private" {
name = "${var.main_as}-Private"
launch_configuration = aws_launch_configuration.main.id
vpc_zone_identifier = [
for subnet in aws_subnet.private : subnet.id
]
min_size = 3
max_size = 3
}