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

无网络环境EC2实例运行terragrunt apply遇卡求助

受限网络下Terragrunt EC2环境部署问题解决方案

一、必须配置的通用VPC端点

除了你已配置的STS、S3、DynamoDB、CodeArtifact,还得加上这些:

  • EC2端点:com.amazonaws.<region>.ec2,Terraform查询实例类型、AMI、子网等EC2资源时会调用其API,没有这个会卡住资源查询环节。
  • EC2 Messages端点:com.amazonaws.<region>.ec2messages,实例与AWS系统消息服务交互需要,部分场景下Terraform依赖该服务完成资源状态同步。
  • SSM端点:com.amazonaws.<region>.ssm,如果代码涉及SSM参数、实例关联SSM管理,必须配置;就算没直接用,部分AWS SDK调用也会依赖SSM的基础服务。
  • SSM Messages端点:com.amazonaws.<region>.ssmmessages,和SSM会话管理相关,避免因会话连接请求被拦截导致卡住。

二、按需添加的VPC端点(根据部署资源)

根据你要部署的AWS服务,对应添加端点:

  • 部署RDS:加com.amazonaws.<region>.rds和com.amazonaws.<region>.rds-data
  • 部署Lambda:加com.amazonaws.<region>.lambda
  • 部署CloudWatch:加com.amazonaws.<region>.monitoring(指标)和com.amazonaws.<region>.logs(日志)
  • 部署VPC相关资源(比如安全组、NAT网关):确保EC2端点已配置即可

三、必须白名单的域名

除了registry.terraform.io,还要放行这些:

  • terraform.io:Terraform CLI会拉取provider元数据、版本更新信息
  • releases.hashicorp.com:如果需要在线下载Terraform/Terragrunt二进制包、provider插件,必须放行;如果已经提前离线下载好,可跳过
  • 第三方provider域名:如果用了非官方provider,比如托管在GitHub的插件,要加github.com

四、关键配置修正建议

  1. 端点地址用内网域名:你当前provider配置里的STS、S3等端点用的是公网地址,虽然VPC内会自动解析到端点,但建议直接用VPC端点的内网专属域名(比如vpce-xxxxxx.sts.ap-southeast-1.vpce.amazonaws.com),同时确保VPC启用了enableDnsHostnames和enableDnsSupport,保证内网DNS解析正常。
  2. S3后端用网关端点:远程状态的S3后端必须用网关类型的VPC端点,并且把关联路由表指向该端点,确保Terragrunt读写状态文件走内网。
  3. 离线缓存provider:完全无网络的话,提前把所需版本的AWS Provider插件下载到~/.terraform.d/plugins目录,这样就不用访问registry拉取,避免网络依赖。
  4. 日志定位问题:设置环境变量TF_LOG=DEBUG和TERRAGRUNT_LOG=DEBUG,运行terragrunt apply时查看详细日志,找到卡住时正在调用的API,就能精准定位缺哪个端点或域名。

内容的提问来源于stack exchange,提问作者Ben L

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:48:14