无法将标签添加到中转网关默认路由 table

Unable to add tag to transit gateway default route table

我在 google 上进行了搜索,并一直在尝试将标签添加到中转网关默认路由,但没有成功。这是我试过的代码:

resource "aws_default_route_table" "example" {
  default_route_table_id = "${aws_ec2_transit_gateway.tgw.association_default_route_table_id}"
  tags = {
    Name = "default table"
  }
}

有办法吗?

aws_default_route_table用于管理VPC的默认路由
我相信你想要的资源是 ec2_transit_gateway_route_table

例如

resource "aws_ec2_transit_gateway_route_table" "example" {
  transit_gateway_id = "${aws_ec2_transit_gateway.tgw.id}"
  tags = {
    Name = "default table"
  }
}

VPC 中的默认路由 table 不是由 Terraform 创建或管理的。因此标记默认路由 table 是不可能的。根据我的经验,在 AWS VPC 中不使用默认的任何东西是 'best practice'。部署一个新的 VPC,根据您的需要、子网、标签等对其进行自定义

一个好的起点是使用官方的 Terraform AWS VPC 模块。它非常全面,几乎涵盖了您可以使用的任何用例。

我明白了,这可能对某人有帮助:

data "aws_ec2_transit_gateway_route_table" "default" {
  filter {
    name   = "default-association-route-table"
    values = ["true"]
  }

  filter {
    name   = "transit-gateway-id"
    values = ["${aws_ec2_transit_gateway.tgw.id}"]
  }
}

resource "null_resource" "tag-default-rt" {
  provisioner "local-exec" {
    command = "aws ec2 create-tags --resources ${data.aws_ec2_transit_gateway_route_table.default.id} --tags Key=Name,Value=Default-Route-Table"
  }

  depends_on = ["aws_ec2_transit_gateway.tgw"]
}