如何使用 terraform 创建默认 AWS VPC?

Nar*_*asK 3 terraform terraform-provider-aws

有没有办法使用 terraform 创建默认 AWS VPC?

aws_vpc资源没有任何属性将 VPC 标记为默认。

我知道我可以使用 aws-cli aws ec2 create-default-vpc,但那超出了 terraform 的范围。

shi*_*g00 5

默认 VPC 在每个可用区中都有一个公有子网、一个互联网网关以及用于启用 DNS 解析的设置。

自 2022 年 8 月 17 日起,可以在当前区域通过 AWS 上的 Terraform 创建默认 VPC。

它很简单:

resource "aws_default_vpc" "default" {
    tags = {
        Name = "Default VPC"
    }
}
Run Code Online (Sandbox Code Playgroud)

需要注意的一些重要事项:(如此处所述

  • aws_default_vpc资源的行为与普通资源不同,因为如果存在默认 VPC,Terraform 不会创建该资源,而是“采用”它进行管理。如果不存在默认VPC,Terraform会创建一个新的默认VPC,这会导致隐式创建其他资源(例如子网、Internet 网关等)。
  • 默认情况下,terraform destroy不会删除默认 VPC,但会从 Terraform 状态中删除资源。将参数设置force_destroy为 true 以删除默认 VPC。