在AWS中,使用Terraform我已经启动了在私有子网中运行的某些实例。我必须在私有实例中安装某些软件包。所以我与一个连接到互联网网关的路由表进行临时关联。安装程序包后,当我想将该特定子网与连接到NAT的路由表关联时,它会抛出错误,告知路由表关联已存在。但如果我去aws控制台,我可以手动完成。我有什么方法可以使用terraform做到这一点?
先谢谢你。
答案 0 :(得分:0)
没有看到你的Terraform文件有点困难。但是根据您的解释,似乎VPC的默认行为是使用连接到NAT实例的路由表。您可以创建路由表,然后以这种方式使用Terraform使其成为VPC的默认值:
resource "aws_main_route_table_association" "a" {
vpc_id = "${aws_vpc.foo.id}"
route_table_id = "${aws_route_table.bar.id}"
}
然后,当您想暂时将子网关联到您的互联网网关时,只需添加以下内容:
resource "aws_route_table_association" "a" {
subnet_id = "${aws_subnet.your_subnet.id}"
route_table_id = "${aws_route_table.your_IG_route_table.id}"
}
完成后删除路由表关联。