如何在AWS CloudShell或CLI中按ARN前缀匹配列出EC2实例?
列出匹配指定ARN前缀的EC2实例(AWS CLI/CloudShell)
不管用AWS CloudShell还是本地AWS CLI,都可以通过以下方式列出符合arn:aws:ec2:*:*:instance/*前缀的EC2实例:
单区域查询
如果只需要查看当前CLI配置区域的实例,直接运行这条命令就能输出所有实例的ARN(自动匹配前缀格式):
aws ec2 describe-instances --query 'Reservations[*].Instances[*].Arn' --output text
要是想同时看到实例ID和对应的ARN,用表格输出更清晰:
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, Arn]' --output table
多区域查询
你的ARN前缀里用了*:*,意味着要覆盖所有AWS区域。可以用一段bash脚本遍历所有区域查询:
#!/bin/bash # 获取所有可用的AWS区域 regions=$(aws ec2 describe-regions --query 'Regions[*].RegionName' --output text) # 逐个区域查询实例ARN for region in $regions; do echo "=== 区域: $region ===" aws ec2 describe-instances --region $region --query 'Reservations[*].Instances[*].Arn' --output text done
把这段代码复制到CloudShell里运行,就能得到所有区域中符合前缀的实例ARN。如果只需要特定几个区域,直接替换regions变量的值就行,比如:
regions="us-east-1 eu-west-1 ap-southeast-1"
内容的提问来源于stack exchange,提问作者Jeppe
相关产品推荐
相关产品推荐

