aws cli – 列出私有子网

有没有一种方法来列出或确定哪些子网使用aws cli公有vs私有?

aws ec2 describe-subnets列出了所有内容,但是我没有看到任何明显的标识符,哪些标识符可能是公共的或私有的。

然后我抓住aws ec2 describe-route-tables --filter Name="association.subnet-id",Values="$subnet"来查看路由表是否有任何识别信息,对于我未经训练的眼睛,我不能看到那里的任何公共/私人信息。

还有另一个电话,我应该看看?

“私有”(而不是“公共”)不是子网的文字configuration属性。

它从子网的相关路由表派生而来,尽pipe它不是路由表的文字configuration属性。

官方定义:

如果一个子网的stream量被路由到一个Internet网关,这个子网就被称为公有子网。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html

这意味着直接连接到Internet网关,而不是通过NAT网关,NAT实例,虚拟专用网关或其他网关types的设备。

通常情况下,公有子网是其关联的路由表具有指向Internet网关对象的默认路由的子网,尽pipe它也可以是具有仅具有特定目的地的路由表的子网直接路由到因特网网关,这基本上仍然是一个公共子网。

因为configuration确实有一定的灵活性,所以没有严格的划分。 出于实际的目的,任何与具有指向因特网网关的路由的路由表相关联的子网通常可以被假定为“公共”子网,其余的将是“私有的”,因此发现过程将等于穿越层次从另一个方向,从这些路由表的VPC→路由表(那些IGW路由=公共)→关联的子网。