【问题标题】:Route Propagation on AWS via Terraform通过 Terraform 在 AWS 上进行路由传播
【发布时间】:2019-04-04 07:30:03
【问题描述】:

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

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

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

NAT GW Architecture and routing

我们有 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 的路由表上传播的路由?

提前致谢

克里斯

【问题讨论】:

    标签: terraform-provider-aws aws-vpc


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 2019-04-03
      • 2014-07-18
      • 1970-01-01
      • 2020-05-14
      • 2021-08-21
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多