如何地形导入VPC的AWS默认路由表?

时间:2020-05-14 23:07:52

标签: terraform terraform-provider-aws

此处的文档:https://www.terraform.io/docs/providers/aws/r/default_route_table.html声称您可以使用VPC ID导入默认路由表。

当我尝试这样做时,出现以下错误:

$ terraform import 'aws_default_route_table.aws-vpc' vpc-12345678

Error: resource aws_default_route_table doesn't support import

我试图使用路由表ID本身,以防万一文档不正确,但是我遇到相同的错误。

我成功导入了路由表所属的VPC,并再次尝试导入路由表无济于事。

对于上下文-我需要导入默认路由表的原因是为了启用VPN网关的路由传播,如下所示:

resource aws_default_route_table aws-vpc {
  default_route_table_id = var.aws_default_route_table_id
  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = var.aws_internet_gateway_id
  }
  propagating_vgws = [
    aws_vpn_gateway.aws-vpn-gw.id
  ]
}

我是否缺少某些东西,或者真的不可能将现有的默认路由表导入terraform吗?

2 个答案:

答案 0 :(得分:3)

我跳到导入部分太快了。在同一文档https://www.terraform.io/docs/providers/aws/r/default_route_table.html的开头有此子句:

The aws_default_route_table behaves differently from normal resources, in that Terraform does not create this resource, but instead attempts to "adopt" it into management. We can do this because each VPC created has a Default Route Table that cannot be destroyed, and is created with a single route.

因此,您无法导入TL; DR,但是您可以尝试创建现有的路由表,terraform会“采用”该路由表,其效果将与导入现有资源相同。

答案 1 :(得分:1)

我认为您的导入看起来不错。您可能需要使用terraform-aws-provider提出错误报告。 https://github.com/terraform-providers/terraform-provider-aws