我正在尝试创建具有两个子网的vpc:一个具有Internet网关的公用网络,以及一个只能与其他本地资源进行通信的私有网络。
我在创建公共路线表时没有问题:
resource "aws_route_table" "HW2-public-crt" {
vpc_id = "${aws_vpc.hw2_vpc.id}"
route {
//associated subnet can reach everywhere
cidr_block = "0.0.0.0/0"
//CRT uses this IGW to reach internet
gateway_id = "${aws_internet_gateway.hw2-igw.id}"
但是当我尝试创建私有路由表时:
resource "aws_route_table" "HW2-private-crt" {
vpc_id = "${aws_vpc.hw2_vpc.id}"
route {
cidr_block = "10.0.0.0/16"
我收到此错误:
“创建路由时出错:MissingParameter:请求必须恰好包含以下其中之一:gatewayId,natGatewayId,networkInterfaceId,vpcPeeringConnectionId,egressOnlyInternetGatewayId,transitionGatewayId或instanceId 状态码:400“
在控制台中创建路由表时,我没有看到这样的要求 有什么想法吗?
答案 0 :(得分:0)
您收到错误消息是因为尝试在路由表中创建一条路由而不告知该路由。
如果您不想路由到子网之外
请注意,将VPC的CIDR块映射到“本地”的默认路由是隐式创建的,无法指定。
如果您要在本地以外创建路由:
route
参数(这是可选的,以及删除命令后该命令为何起作用)需要cidr_block
和以下之一:
上面的列表是与路由的cidr_block匹配时要路由到的路径。
参考