1

我的公司使用 AWS 作为云提供商,使用 Terraform 将我们的基础设施作为代码片段。我需要改变我们在 AWS 中的流量路由方式。我们目前有 1 个 NAT 网关。因此,如果此活动的可用区发生故障,我们将失去来自我们私有子网上的实例的外部连接。

我创建了 2 个额外的 NAT GW。每个 AZ 一个。我已经通过 Terraform 完成了所有这些工作,但是在路由方面我遇到了一个绊脚石。

我创建了这种类型的设置,您可以在其中为每个 AZ 中的私有子网和公共子网创建一个路由表

NAT GW 架构和路由

我们有 Direct Connect 并使用 BGP 向 AWS 宣传我们的数据中心网络。我似乎无法弄清楚如何在私有子网路由表上启用路由传播,以便在这些路由表中填充我们的本地网络。

resource "aws_route_table" "private-subnet-a-routes" {
    vpc_id = "${aws_vpc.foo.id}"
    propogating_vgws "${aws_vgw.foo.id}" 

我已经尝试过了,但得到以下错误

  • 资源“aws_route_table.private-subnet-a-routes”配置:变量 aws_vgw.foo.id 中引用的未知资源“aws_vgw.foo”

有谁知道如何设置要在您的 VPC 中的主 VGW 的路由表上传播的路由?

提前致谢

克里斯

4

1 回答 1

0

不确定是否能回答您的问题,但可能会给您一些想法:

resource "aws_route" "nat" {
    count = "${var.num_availability_zones}"
    route_table_id = "${element(aws_route_table.private.*.id, count.index)}"
    destination_cidr_block = "0.0.0.0/0"
    nat_gateway_id = "${element(aws_nat_gateway.nat.*.id, count.index)}"

    depends_on = ["aws_internet_gateway.main", "aws_route_table.private"]
}

https://www.terraform.io/docs/providers/aws/d/route.html

于 2018-11-01T19:43:33.187 回答