AWS CLI执行describe-instances未返回运行中的EC2实例如何排查
AWS CLI执行describe-instances返回空列表排查方案
执行查询命令返回结果如下:
[root@centos7 ~]# aws ec2 describe-instances { "Reservations": [] }
排查步骤
- 区域不匹配问题排查
EC2属于区域级服务,CLI默认查询的区域和实例实际所属区域不一致时会返回空结果。- 先确认控制台中运行的t2.micro实例所属的区域ID(如us-east-1、ap-southeast-1、cn-north-1等)
- 执行
aws configure get region查看CLI当前默认配置的区域 - 若区域不匹配,可在执行命令时指定区域:
aws ec2 describe-instances --region <实例所属区域ID>,也可以执行aws configure修改默认区域参数
- IAM权限问题排查
当使用的IAM身份缺少ec2:DescribeInstances权限时,部分场景下AWS会返回空列表而非权限报错。- 执行
aws sts get-caller-identity查看当前CLI使用的IAM身份,确认和你预期使用的账号身份一致,没有误用其他账号的凭证 - 检查该身份关联的IAM策略,确认已放开
ec2:DescribeInstances操作权限
- 执行
- 账号匹配问题排查
确认你控制台查看实例所用的AWS账号,和当前CLI凭证所属的账号为同一个,不存在跨账号查询的情况 - 配置异常排查
检查CLI全局配置是否配置了默认过滤规则导致结果被隐藏,可执行aws ec2 describe-instances --debug查看接口原始返回结果,确认后端是否真的没有返回实例数据 - 实例状态排查
刷新EC2控制台,确认目标t2.micro实例确实处于运行/停止状态,没有被终止后超出保留周期被清除。
内容的提问来源于stack exchange,提问作者idiot one
相关产品推荐
相关产品推荐

