修改VPC路由表的子网关联后网络故障求助
修复CloudFormation创建VPC的网络中断问题
嘿,我来帮你一步步排查和修复这个问题——手动修改CloudFormation(CF)管理的VPC资源后出现网络故障是很常见的,尤其是路由表和子网关联这类核心配置,咱们从几个关键方向入手:
1. 优先检查CloudFormation栈的漂移状态
CF创建的资源会和模板保持同步,手动修改后大概率会出现资源漂移(Drift),这可能导致CF的管理逻辑和实际资源配置冲突,进而引发网络问题:
- 登录AWS控制台,找到你的CF栈,开启「漂移检测」,查看哪些资源(比如路由表、子网关联)出现了漂移记录
- 如果确认是手动修改导致的漂移,建议直接通过CF栈的「更新」功能,使用原始模板重新同步配置——让CF把资源恢复到它预期的状态,这比手动修复更可靠
2. 验证路由表的完整配置
你已经重新关联了子网,但还要确认路由表本身的路由规则是否完整:
- 检查公网子网的路由表:是否存在指向Internet Gateway(IGW)的
0.0.0.0/0路由?如果这条路由被误删,公网流量根本出不去 - 检查私网子网的路由表:是否存在指向NAT Gateway的
0.0.0.0/0路由?没有的话私网实例没法访问外网 - 用AWS CLI快速核对路由表配置:
重点看aws ec2 describe-route-tables --filters "Name=vpc-id,Values=你的VPC-ID"Routes和Associations字段,确认所有子网都关联到了正确的路由表,且关键路由存在
3. 检查子网的核心配置
手动修改子网关联时,可能不小心改动了子网的其他关键设置:
- 确认公网子网的「自动分配公有IPv4地址」选项是开启的——如果关闭了,即使路由正确,实例也拿不到公网IP,无法对外通信
- 检查子网的网络ACL(NACL):是否有允许入站/出站流量的规则?NACL是无状态的,要确保双向流量都被允许(比如允许80、443、22端口的出入站)
4. 排查网关的状态
网关是VPC和外部网络连通的关键,别忽略这一步:
- 确认Internet Gateway(IGW)是否正常附着在你的VPC上?如果IGW被误分离,公网子网直接失去外网通路
- 如果是私网子网,检查NAT Gateway是否处于「可用」状态?NAT网关故障也会导致私网实例无法访问外网
5. 用AWS工具做精准诊断
如果以上步骤都没找到问题,用AWS自带的诊断工具快速定位故障点:
- 使用VPC可达性分析器:在VPC控制台找到这个工具,输入源(比如你的EC2实例)和目标(比如外网IP或另一个实例),它会自动排查路由、安全组、NACL等环节,告诉你哪里出现了阻断
- 检查EC2实例的网络接口:确认实例的主网络接口是否关联了正确的子网,有没有获取到正确的私有IP和公网IP(如果是公网实例)
你的VPC状态参考
初始状态

当前状态

内容的提问来源于stack exchange,提问作者Bhavik Joshi
相关产品推荐
相关产品推荐

