use*_*749 30 subnet amazon-web-services amazon-emr amazon-vpc
我在 AWS 账户中有一个 VPC,并且有 5 个与该 VPC 关联的子网。子网有 2 种类型 - 公共和私有。如何识别哪个子网是公共的,哪个是私有的?每个子网都有 CIDR 10.249.?.? 范围。
基本上,当我在该子网中使用 ec2SubnetIds 列表启动 EMR 时,它说 *** 子网配置无效:提供的子网列表包含公共和私有子网。只允许使用一种类型的子网。
如何纠正这个错误。
jar*_*mod 50
问题是如何识别公共子网与私有子网,答案在于 AWS 中 VPC 的子网是“公共”还是“私有”的含义。
公共子网具有到Internet 网关的默认路由;私有子网没有。
因此,要确定给定子网是公共子网还是私有子网,您需要描述与该子网关联的路由表。这将告诉您路由,您可以测试0.0.0.0/0网关 ID 为igw-xxxxxxxxxxxxxxxxx(而不是local)的路由。
您可以在 AWS VPC 控制台中通过查看子网的路由表来判断子网是否为公共子网,例如:
您还可以使用 awscli 对给定的子网 ID 执行以下操作:
aws ec2 describe-route-tables \
--filter Name=association.subnet-id,Values=subnet-0a123fc414ad5b999 \
--query "RouteTables[].Routes[]"
Run Code Online (Sandbox Code Playgroud)
输出将如下所示:
[
{
"DestinationCidrBlock": "10.0.0.0/16",
"GatewayId": "local",
"Origin": "CreateRouteTable",
"State": "active"
},
{
"DestinationCidrBlock": "0.0.0.0/0",
"GatewayId": "igw-0fca21fadaa22a1b2",
"Origin": "CreateRoute",
"State": "active"
}
]
Run Code Online (Sandbox Code Playgroud)
在这里,您可以看到目标路由 的0.0.0.0/0目标是 Internet 网关(其 GatewayId 是igw-xxxxxxxxxxxxxxxxx)。这确认您正在查看公共子网。
| 归档时间: |
|
| 查看次数: |
19175 次 |
| 最近记录: |