You need to enable JavaScript to run this app. 如何移除Terraform Registry中AWS VPC模块附带的IGW?
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Terraform Registry中AWS VPC模块附带的IGW?

2.77.0版本AWS VPC模块移除自动附加IGW的配置方法

terraform-aws-modules/vpc/aws 2.77.0版本的默认逻辑为:只要配置了非空的公有子网列表,就会自动完成三件事:创建Internet Gateway、将IGW关联到目标VPC、给所有公有子网的专属路由表添加0.0.0.0/0指向IGW的默认公网路由。
要移除这套自动附加的IGW关联流程,直接调整模块内置参数即可:

  • 核心配置项:在模块块内新增create_igw = false
    这个参数的默认值为true,保持默认时模块会自动执行上述所有IGW关联操作;设置为false后,模块会完全跳过所有IGW相关的创建、路由绑定流程,不会再自动把IGW的公网路由附加到公有子网。
  • 调整后的配置参考:
module "vpc" {
  source          = "terraform-aws-modules/vpc/aws"
  version         = "2.77.0"

  # 原有VPC、子网的其他配置保持不变
  create_igw = false
}

关键注意点

  • 该调整不会破坏原有公有子网的创建逻辑,你配置的子网网段、可用区关联、map_public_ip_on_launch(子网内实例自动分配公网IP开关)等配置都会正常生效,只是不会自动生成公网下一跳的路由。
  • 不要混淆参数的作用范围:map_public_ip_on_launch仅控制实例公网IP的自动分配,就算把这个参数设为false,只要create_igw保持默认值,模块依然会自动创建并关联IGW。
  • 后续如果需要给公有子网配置自定义的公网出口(比如自管IGW、传输网关、第三方安全网关),可以基于模块输出的公有子网路由表ID,手动创建对应的路由规则,和模块现有逻辑不会冲突。
  • 如果你的需求是仅移除公有子网指向IGW的默认路由、但保留IGW资源本身,2.77.0版本没有提供单独的开关参数实现这个效果,更推荐直接关闭模块自动创建IGW的逻辑,再手动搭建需要的IGW和路由关联,避免手动修改Terraform状态带来的配置不一致问题。

内容的提问来源于stack exchange,提问作者SUBHAS PATIL

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 00:36:04