gpt4 book ai didi

amazon-web-services - AWS VPC 识别私有(private)和公有子网

转载 作者:行者123 更新时间:2023-12-04 11:03:11 25 4
gpt4 key购买 nike

我在 AWS 账户中有一个 VPC,并且有 5 个子网与该 VPC 关联。子网有 2 种类型 - 公共(public)和私有(private)。如何识别哪个子网是公有的,哪个是私有(private)的?每个子网都有 CIDR 10.249.?.?范围。

基本上,当我在该子网中使用 ec2SubnetIds 列表启动 EMR 时,它会说
***子网配置无效:提供的子网列表包含公共(public)子网和私有(private)子网。只允许使用一种类型的子网。

如何纠正这个错误。

最佳答案

问题是如何区分公有子网和私有(private)子网,答案在于在 AWS 中,VPC 的子网是“公有”还是“私有(private)”意味着什么。

公共(public)子网有一条到 Internet Gateway 的默认路由。 ;私有(private)子网没有。

因此,要确定给定子网是公共(public)子网还是私有(private)子网,您需要描述与该子网关联的路由表。这将告诉您路线,您可以测试 0.0.0.0/0网关 ID 为 igw-xxxxxxxxxxxxxxxxx 的路由(相对于 local )。

您可以通过查看子网的路由表来判断子网在 AWS VPC 控制台中是否是公共(public)的,例如:

enter image description here

您也可以使用 awscli 对给定的子网 ID 执行以下操作:

aws ec2 describe-route-tables \
--filter Name=association.subnet-id,Values=subnet-0a123fc414ad5b999 \
--query "RouteTables[].Routes[]"

输出将如下所示:
[
{
"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"
}
]

在这里,您可以看到 0.0.0.0/0 的目的地路线目标是 Internet 网关(其 GatewayId 为 igw-xxxxxxxxxxxxxxxxx )。这确认您正在查看公共(public)子网。

关于amazon-web-services - AWS VPC 识别私有(private)和公有子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48830793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com