You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:01:10