地形,将几个子网传递给自动分离组



有一个定义子网的代码,如下所示:

resource "aws_subnet" "public" {
count = length(data.aws_availability_zones.available.names)
vpc_id                  = aws_vpc.main_vpc.id
cidr_block              = cidrsubnet(var.vpc_cidr, 8, count.index)
availability_zone       = element(data.aws_availability_zones.available.names, count.index)
map_public_ip_on_launch = true
tags = {
Name = "${var.environment}-public-${element(data.aws_availability_zones.available.names, count.index)}"
}
}

稍后有一个定义自动缩放组的代码:

resource "aws_autoscaling_group" "ec2_testing" {
availability_zones  = [data.aws_availability_zones.available.names[0]]
vpc_zone_identifier = [element(aws_subnet.public.*id, count.index),]
desired_capacity    = 1
max_size            = 1
min_size            = 1
launch_template {
id      = aws_launch_template.ec2_testing.id
version = "$Latest"
}
}

我收到错误:

需要逗号将每个函数参数与下一个函数参数分开。

编辑:只需要分配一个子网。

vpc_zone_identifier应该如何纠正?请帮忙。

就像ydaetskcoR提到的,应该采取两种行动:

aws_subnet.public.*id应该是aws_subnet.public.*.id.还有你 availability_zones如果您 还指定vpc_zone_identifier,因为它是不必要的,并且会 使逻辑复杂化(您当前的示例将失败,因为这些子网 并非都在同一个可用区(

你要么需要依靠那aws_autoscaling_group才能 使用count.index,或者你只需要使用aws_subnet.public.*.id[0]类似于您在 上述参数。

添加此内容以提高可见性。

相关内容

  • 没有找到相关文章

最新更新