我正在尝试创建一个简单的基础架构,其中包括 EC2、VPC 和与 Internet 网关的 Internet 连接,但是在通过 terraform apply 创建基础架构时,终端输出在路由表的创建模式下卡住了大约 5-6 分钟使用子网 ID 关联,然后最终抛出错误,即 vpc-id、routetableid、子网 ID 不存在且未找到。 下面分享一些具体的代码:
resource "aws_route_table" "dev-public-crt" {
vpc_id = "aws_vpc.main-vpc.id"
route {
cidr_block = "0.0.0.0/0"
gateway_id = "aws_internet_gateway.dev-igw.id"
}
tags = {
Name = "dev-public-crt"
}
}
resource "aws_route_table_association" "dev-crta-public-subnet-1"{
subnet_id = "aws_subnet.dev-subnet-public-1.id"
route_table_id = "aws_route_table.dev-public-crt.id"
}
resource "aws_vpc" "dev-vpc" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "dev-vpc"
}
}
resource "aws_subnet" "dev-subnet-public-1" {
vpc_id = "aws_vpc.dev-vpc.id"
cidr_block = "10.0.1.0/24"
map_public_ip_on_launch = "true"
tags = {
Name = "dev-subnet-public-1"
}
}
您需要删除所有引用值周围的 "
:vpc_id = "aws_vpc.main-vpc.id"
应该是 vpc_id = aws_vpc.main-vpc.id
等。否则您尝试在vpc 的文字 id aws_route_table
.
每当您想引用变量或资源或数据源时,要么根本不包含在 "aws_vpc.main-vpc.id"
中,要么使用 "
结果应该是这样的:
"something ${aws_vpc.main-vpc.id} ..."
不能保证这有效,因为现在可能存在无效引用,但需要您清理这些引用