有没有办法使用 terraform 创建默认的 AWS VPC?
aws_vpc
资源没有任何属性将 VPC 标记为默认值。
我知道我可以使用 aws-cli aws ec2 create-default-vpc
,但这超出了地形。
默认 VPC 在每个可用区中附带一个公有子网、一个互联网网关以及用于启用 DNS 解析的设置。
自 2022 年 8 月 17 日起,可以在当前区域中通过 AWS 上的 Terraform 创建默认 VPC。
它就像:
resource "aws_default_vpc" "default" {
tags = {
Name = "Default VPC"
}
}
需要注意的一些要点:(如此处所述)
aws_default_vpc
资源的行为与普通资源不同,因为如果存在默认 VPC,Terraform 不会创建此资源,而是将其"采用"到管理中。如果不存在默认 VPC,Terraform 会创建新的默认 VPC,这会导致隐式创建其他资源(例如子网、互联网网关等)。- 默认情况下,
terraform destroy
不会删除默认 VPC,但会从 Terraform 状态中删除资源。将force_destroy
参数设置为 true 以删除默认 VPC。
不,看起来您不能通过 TF,您可以采用现有的默认 VPC,但不能创建它:https://www.terraform.io/docs/providers/aws/r/default_vpc.html。
因此,请使用 AWS CLI 重新创建它(如果可以),然后使用此新提供程序来采用它。