通过Terraform部署AWS Lambda函数时出现STS调用超时错误如何解决
Terraform初始化STS连接超时排查方案
首先明确:该报错与你提供的Lambda资源配置没有关联,属于Terraform初始化阶段验证AWS身份时,无法连接STS服务导致的网络故障,可按以下顺序排查:
- 验证本地AWS凭证有效性
直接执行AWS CLI命令aws sts get-caller-identity,如果该命令同样返回超时/错误,说明问题出在本地AWS环境配置,与Terraform无关。如果命令返回正常的账号、角色信息,再排查Terraform侧配置。 - 排查网络访问限制
如果你在公司内网、代理环境或者VPN环境下操作:- 确认本地已正确配置HTTP/HTTPS代理环境变量,且
sts.amazonaws.com域名、443端口出站访问没有被防火墙拦截 - 如果你使用AWS VPC Endpoint访问STS服务,确认你配置的私有STS端点地址正确、网络路由可达
- 确认本地已正确配置HTTP/HTTPS代理环境变量,且
- 修正STS区域配置
如果你的AWS资源部署在非美东1(us-east-1)区域,可做如下配置避免默认访问全局STS端点导致的连接问题:- 在Terraform AWS Provider块中显式指定STS区域参数
- 配置系统环境变量
AWS_STS_REGIONAL_ENDPOINTS=regional
- 检查S3后端配置正确性
确认你的Terraform代码中S3 Backend块的配置和你本地生效的AWS凭证一致:profile名称没有写错、凭证没有过期、指定的区域与S3桶所在区域匹配 - 临时验证测试
不确定是否是本地网络拦截导致时,可临时关闭VPN、本机防火墙后重新执行terraform init验证连接是否恢复
内容的提问来源于stack exchange,提问作者Jyothi Ambati
相关产品推荐
相关产品推荐

