首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Terraform创建EC2。路由表关联卡在创建模式中

无法使用Terraform创建EC2。路由表关联卡在创建模式中
EN

Stack Overflow用户
提问于 2021-03-08 12:23:46
回答 1查看 155关注 0票数 0

我试图创建一个简单的基础设施,包括EC2、VPC和因特网与互联网网关的连接,但是当基础设施是通过地形创建时,终端输出会在创建模式下停留大约5-6分钟,使用子网id进行路由表关联,最后抛出vpc-id、routetableid、子网id不存在且不存在的错误。共享以下一些特定代码:

代码语言:javascript
复制
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"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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} ..."进行内插。

结果可能应该如下所示:

代码语言:javascript
复制
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"
    }
}

不能保证这是可行的,因为现在可能有无效的引用,但是那些需要由您清理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66529801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档