使用Terraform创建EC2资源报错,疑AWS用户配置问题求排查
解决思路
1. 核对AWS凭证准确性
- 检查
aws configure输入的Access Key ID和Secret Access Key是否与AWS控制台生成的完全一致,注意避免空格、大小写错误或复制遗漏。 - 直接查看本地凭证文件:Linux/macOS路径为
~/.aws/credentials,Windows路径为C:\Users\<你的用户名>\.aws\credentials,确认文件内的密钥信息无误。
2. 确认用户凭证状态与权限
- 登录AWS控制台进入IAM用户页面:
- 检查用户所属组是否确实关联
AmazonEC2FullAccess策略,且策略未被添加拒绝类语句。 - 确认该用户的访问密钥处于活跃状态,未被禁用或删除。
- 检查用户所属组是否确实关联
3. 验证区域配置一致性
- 执行
aws configure get region查看CLI配置的区域,确认与Terraform provider中指定的us-east-1一致,区域不匹配可能导致请求路由异常。
4. 测试AWS CLI连通性
- 执行命令
aws sts get-caller-identity:- 若同样返回
InvalidClientTokenId错误,说明问题出在AWS凭证本身,与Terraform无关,重点排查凭证有效性。 - 若命令正常返回用户信息,检查是否有环境变量
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY覆盖了本地CLI配置,清空后再测试Terraform。
- 若同样返回
5. 检查Terraform Provider配置
- 确认当前Terraform的AWS provider未硬编码其他凭证,确保其读取的是本地AWS CLI的默认配置。
内容的提问来源于stack exchange,提问作者richardnew
相关产品推荐
相关产品推荐

