Я создал пару подсетей, используя блок ресурсов ниже.
resource "aws_subnet" "private" {
count = "${length(var.private_subnet)}"
vpc_id = "${aws_vpc.vpcname.id}"
cidr_block = "${var.private_subnet[count.index]}"
availability_zone = "${data.aws_availability_zones.available.names[count.index]}"
map_public_ip_on_launch = false
tags {
Name = "${var.private}-${format("%01d", count.index + 1)}"
Environment = "${terraform.workspace}"
}
}
После этого я создал таблицу приватных маршрутов eip, nat, private, добавил маршрут в таблицу приватных маршрутов и, наконец, когда я пытаюсь связать таблицу приватных маршрутов с приватными * подсетями, терраформ работает частично, т.е. из 4 подсетей только 2 приватные подсети. связаны с таблицей приватных маршрутов.
resource "aws_route_table_association" "private-subnet-association" {
subnet_id = "${element(aws_subnet.private.*.id, count.index)}"
route_table_id = "${aws_vpc.vpcname.private_route_table.id}"
}
Что мне нужно изменить, чтобы применить сопоставление ко всем частным подсетям.
subnet_id = "${element(aws_subnet.private*.?.id, count.index)}"