You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

请求两类AWS EC2实例信息查询的AWS CLI命令

AWS CLI 实例信息查询解决方案

没问题,我帮你基于参考命令扩展出了两个需求对应的可用AWS CLI命令,具体如下:

查询1:提取指定字段且关联特定标签VPC的实例信息

针对你需要的实例名称、公网IP、运行状态、带Production标签的VPC、实例类型这些信息,我们需要先获取带有Production标签的VPC ID,再用这些ID过滤实例,命令如下:

# 获取带Production标签的VPC ID并传入实例查询
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running" \
            "Name=vpc-id,Values=$(aws ec2 describe-vpcs --filters "Name=tag:Name,Values=Production" --query "Vpcs[*].VpcId" --output text | tr '\t' ',')" \
  --query "Reservations[*].Instances[*].[Tags[?Key=='Name']|[0].Value, PublicIpAddress, State.Name, VpcId, InstanceType]" \
  --output table

命令说明:

  • $(...)部分通过命令替换自动获取所有带Production标签的VPC ID,并用tr将空格分隔的ID转为逗号分隔,适配AWS CLI的多值过滤格式
  • --query参数调整为你需要的字段顺序:实例名称、公网IP、运行状态、VPC ID、实例类型
  • --output table让输出更直观易读,你也可以换成jsontext格式

如果你的VPC标签不是Name=Production,而是其他键值对(比如Environment=Production),只需把describe-vpcs里的--filters改成"Name=tag:Environment,Values=Production"即可。


查询2:提取属于带'scheduling'标签VPC的实例信息

针对你需要的全部IP(公网+内网)、实例名称、实例类型、运行状态,同样先获取带'scheduling'标签的VPC ID,再过滤实例,命令如下:

# 获取带scheduling标签的VPC ID并传入实例查询
aws ec2 describe-instances \
  --filters "Name=vpc-id,Values=$(aws ec2 describe-vpcs --filters "Name=tag-key,Values=scheduling" --query "Vpcs[*].VpcId" --output text | tr '\t' ',')" \
  --query "Reservations[*].Instances[*].[Tags[?Key=='Name']|[0].Value, PublicIpAddress, PrivateIpAddress, InstanceType, State.Name]" \
  --output table

命令说明:

  • describe-vpcs--filterstag-key匹配所有带有scheduling标签键的VPC;如果需要匹配特定标签值(比如scheduling=auto),可以改成"Name=tag:scheduling,Values=auto"
  • --query中包含了PublicIpAddressPrivateIpAddress,满足“全部IP”的需求
  • 保留了实例名称、类型和运行状态字段,完全覆盖你的需求

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

火山引擎 最新活动