我试图创建一个简单的基础设施,包括EC2、VPC和因特网与互联网网关的连接,但是当基础设施是通过地形创建时,终端输出会在创建模式下停留大约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"
}
}发布于 2021-03-08 12:35:05
您需要删除所有引用值周围的":vpc_id = "aws_vpc.main-vpc.id"应该是vpc_id = aws_vpc.main-vpc.id,等等。否则,您将尝试使用文本id "aws_vpc.main-vpc.id"在vpc中创建一个aws_route_table。
每当您想引用变量、资源或数据源时,都不要在"中换行,或者使用"something ${aws_vpc.main-vpc.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"
}
}不能保证这是可行的,因为现在可能有无效的引用,但是那些需要由您清理。
https://stackoverflow.com/questions/66529801
复制相似问题