You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS CLI查询特定EC2实例的安全组ID与子网ID?

使用AWS CLI查询EC2实例的安全组ID和子网ID

当然可以通过AWS CLI程序化获取EC2实例的安全组ID和子网ID,以下是具体实现方法:

核心查询命令

利用describe-instances命令,结合实例定位与结果过滤参数,精准提取所需信息:

1. 同时获取实例ID、子网ID和安全组ID(表格格式输出)

aws ec2 describe-instances \
  --instance-ids i-1234567890abcdef0 \
  --query 'Reservations[*].Instances[*].{实例ID:InstanceId, 子网ID:SubnetId, 安全组ID:SecurityGroups[*].GroupId}' \
  --output table

2. 纯文本格式输出(适合脚本批量处理)

aws ec2 describe-instances \
  --instance-ids i-1234567890abcdef0 \
  --query 'Reservations[*].Instances[*].[InstanceId, SubnetId, SecurityGroups[*].GroupId]' \
  --output text

3. 单独提取子网ID

aws ec2 describe-instances \
  --instance-ids i-1234567890abcdef0 \
  --query 'Reservations[0].Instances[0].SubnetId' \
  --output text

4. 单独提取安全组ID(多组时自动换行输出)

aws ec2 describe-instances \
  --instance-ids i-1234567890abcdef0 \
  --query 'Reservations[0].Instances[0].SecurityGroups[*].GroupId' \
  --output text

参数说明

  • --instance-ids:指定目标实例ID,多个实例用空格分隔(如i-xxxxxx i-yyyyyy)
  • --query:通过JMESPath语法过滤返回的JSON数据,精准定位所需字段
  • --output:控制输出格式,支持json、table、text三种类型

扩展:通过实例名称查询

若不知道实例ID,可通过标签过滤定位:

aws ec2 describe-instances \
  --filters "Name=tag:Name,Values=我的EC2实例" \
  --query 'Reservations[*].Instances[*].{实例ID:InstanceId, 子网ID:SubnetId, 安全组ID:SecurityGroups[*].GroupId}' \
  --output table

注意事项

  • 确保AWS CLI已配置正确权限(需拥有ec2:DescribeInstances权限)
  • 若实例关联多个安全组,SecurityGroups[*].GroupId会返回所有关联组的ID

内容的提问来源于stack exchange,提问作者xpt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:40:35