我正在学习PluralSight课程"Terraform-入门;在其中,它们引用了这个地形文件module_three.tf,其中声明了以下内容:
我已将原始值us-east-1
更改为我选择的区域eu-west-2
variable "region" {
default = "eu-west-2"
}
和
#This uses the default VPC. It WILL NOT delete it on destroy.
resource "aws_default_vpc" "default" {
}
命令terraform init
和terraform plan
按预期执行(如本课程所述(,但terraform apply
产生以下输出:
aws_default_vpc.default: Creating...
Error: No default VPC found in this region.
如何确定给定区域中的默认专有网络,以及如何为我的区域指定默认专有网络
不得不问这个问题似乎违反了AWS文档,因为在他们的"默认VPC和默认子网"一节中,他们明确指出:
如果您在2013-12-04之后创建了AWS帐户,它只支持EC2-VPC。在这种情况下,在每个AWS区域中都有一个默认VPC。A.默认VPC已准备好供您使用,因此您无需创建并配置自己的专有网络。你可以立即启动亚马逊EC2实例到您默认的VPC中。您还可以使用以下服务默认情况下的弹性负载平衡、Amazon RDS和Amazon EMRVPC。
这是因为terraform在该区域中找不到任何默认VPC。您可以添加默认VPC,如下
aws ec2 create-default-vpc
按照这些说明创建了一个默认的VPC。
我曾假设VPC是由AWS以存储库风格定义的,但实际上它只是在帐户自己的VPC列表中创建的一个条目。