Mac Apple M1上Terraform Plan卡在GetCallerIdentity操作求助
解决方案
以下是针对Terraform调用STS GetCallerIdentity超时但AWS CLI正常的排查步骤:
确认Terraform使用的AWS身份凭证与CLI一致
AWS CLI默认读取~/.aws/credentials和~/.aws/config,但Terraform可能优先使用环境变量(AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY)或不同的profile。执行aws configure list查看当前CLI使用的凭证,对比Terraform的环境变量:echo $AWS_ACCESS_KEY_ID echo $AWS_SECRET_ACCESS_KEY如果CLI使用了特定profile(比如
aws --profile my-profile s3 ls),需在Terraform provider块中显式指定:provider "aws" { region = "us-west-2" profile = "my-profile" }显式指定AWS凭证文件路径
若Terraform无法自动识别默认凭证文件,可在provider块中强制指定:provider "aws" { region = "us-west-2" shared_credentials_file = "~/.aws/credentials" }排查代理设置冲突
检查AWS CLI是否配置了代理:aws configure get proxy如果CLI使用代理,需在Terraform provider中添加对应配置:
provider "aws" { region = "us-west-2" proxy_url = "http://your-proxy-address:port" }反之,若Terraform被系统代理环境变量影响,可临时取消:
unset HTTP_PROXY HTTPS_PROXY手动指定STS服务端点
部分网络环境下默认STS端点访问异常,可显式指定对应区域的STS端点:provider "aws" { region = "us-west-2" sts_endpoint = "https://sts.us-west-2.amazonaws.com" }启用调试日志定位细节
执行带调试日志的命令,获取更详细的请求错误信息:TF_LOG=DEBUG terraform plan日志中可查看STS请求的具体失败原因(如DNS解析超时、TCP连接被拒等),进一步缩小排查范围。
内容的提问来源于stack exchange,提问作者deGee
相关产品推荐
相关产品推荐

