使用AWS EC2 Query API添加Filter时遇AuthFailure问题排查
AWS EC2 DescribeInstances Filter 引发误导性 AuthFailure 错误的经历
问题场景
我最近在开发AWS EC2 Query API的接口层,原本进展都很顺畅,直到用DescribeInstances的Filter功能时踩了个坑:
- 不带Filter的请求完全正常:
?Action=DescribeInstances&DryRun=False&MaxResults=1000&Version=2016-11-15 - 但只要加上
ip-addressFilter,比如下面这个请求:
就会返回**"AWS无法验证提供的访问凭证(AuthFailure)"**错误。?Action=DescribeInstances&DryRun=False&Filter.1.Name=ip%2Daddress&Filter.1.Value=52%2E204%2E71%2E190&MaxResults=1000&Version=2016-11-15
排查思路
一开始我以为是权限配置出了问题,毕竟AuthFailure提示指向的是凭证验证。但为了彻底排除这个可能,我直接用绑定了Administrator IAM角色的EC2实例来测试接口,结果还是弹出同样的错误。这时候我就确定了:这个错误提示绝对是误导性的——管理员权限不可能连带Filter的实例查询都做不了,而且无Filter的请求明明能正常跑通。
最终解决
折腾了好一阵后才发现,这个问题根本不是我的代码或配置导致的,而是AWS服务端的自身故障,最后是亚马逊官方自行修复了这个问题。
内容的提问来源于stack exchange,提问作者Xliff
相关产品推荐
相关产品推荐

