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

AWS EC2实例中Terraform Plan/Apply卡住报错求助

解决Terraform Plan时STS请求超时的问题

排查及修复步骤

1. 检查EC2实例的出站网络权限

安全组入站开放不代表出站不受限,Terraform调用AWS API需要HTTPS(443端口)访问:

  • 查看实例所在安全组的出站规则,确保允许443端口访问0.0.0.0/0。
  • 若使用了网络ACL,需同步确认出站规则允许443端口流量,入站规则允许HTTPS响应流量。

2. 验证AWS凭证与STS连通性

直接用AWS CLI测试STS服务是否可达:

  • 执行命令:aws sts get-caller-identity
    • 若返回InvalidClientTokenId,说明aws configure配置的Access Key/Secret Key有误,重新核对后配置。
    • 若命令超时,执行curl https://sts.amazonaws.com测试网络连通性,确认实例能正常访问AWS服务端点。

3. 调整Terraform AWS Provider的超时配置

在provider.tf中增加超时参数,避免默认超时时间过短导致请求被取消:

provider "aws" {
  region = "你的AWS区域"
  retry_max = 5
  timeout {
    create = "10m"
    update = "10m"
    delete = "10m"
  }
}

同时确认region配置与实例所在区域一致,避免跨区域访问延迟过高。

4. 检查实例的DNS解析配置

无法解析AWS服务域名也会导致请求失败:

  • 查看/etc/resolv.conf,确认DNS服务器为VPC默认DNS(VPC IPv4地址末尾+2,比如VPC网段为10.0.0.0/16时,DNS为10.0.0.2)。
  • 执行nslookup sts.amazonaws.com测试域名解析,若失败,检查VPC的enableDnsSupport和enableDnsHostnames是否已开启。

5. 改用IAM角色替代长期凭证

避免Access Key/Secret Key的配置问题,给EC2实例附加IAM角色:

  • 在AWS控制台创建带AdministratorAccess权限的IAM角色,信任实体选择EC2。
  • 给运行Terraform的EC2实例关联该角色,删除~/.aws/credentials文件,Terraform会自动使用实例角色的临时凭证进行API调用。

内容的提问来源于stack exchange,提问作者kishore ram

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:52:35