AWS CLI 获取 VPC 的私有子网
AWS CLI Get private subnets for VPC
我有一个启动一些 ECS 任务的脚本。对于 运行 任务,我必须提供任务可以在其中 运行 的私有子网。但是,目前我正在将私有子网 ID 从 AWS 控制台复制并粘贴到我的脚本中,这有点笨拙,因此我尝试使用 AWS CLI 以脚本方式获取私有子网。
我已经弄清楚如何获取 VPC Id,但我似乎无法通过以下方式过滤子网结果:
a) 我只得到私有子网
b) 我只得到那些子网的 ID
我现在拥有的是:
aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789
如何将 'a' 和 'b' 添加到此命令(首选没有任何外部或第 3 方工具)?
通过在 --query
参数中使用 JMESPath 表达式,我只能获得私有子网:
aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789 --query 'Subnets[?MapPublicIpOnLaunch==`false`].SubnetId'
结果:
[
"subnet-0123456789",
"subnet-9876543210"
]
我有一个启动一些 ECS 任务的脚本。对于 运行 任务,我必须提供任务可以在其中 运行 的私有子网。但是,目前我正在将私有子网 ID 从 AWS 控制台复制并粘贴到我的脚本中,这有点笨拙,因此我尝试使用 AWS CLI 以脚本方式获取私有子网。
我已经弄清楚如何获取 VPC Id,但我似乎无法通过以下方式过滤子网结果:
a) 我只得到私有子网 b) 我只得到那些子网的 ID
我现在拥有的是:
aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789
如何将 'a' 和 'b' 添加到此命令(首选没有任何外部或第 3 方工具)?
通过在 --query
参数中使用 JMESPath 表达式,我只能获得私有子网:
aws ec2 describe-subnets --filter Name=vpc-id,Values=vpc-0123456789 --query 'Subnets[?MapPublicIpOnLaunch==`false`].SubnetId'
结果:
[
"subnet-0123456789",
"subnet-9876543210"
]