AWS VPC公私子网实例连通性故障排查求助
解决VPC内公有子网与私有子网实例私网连通性问题
针对同一VPC下公有子网实例无法ping通私有子网实例私网IP的问题,可按以下方向逐一排查修正:
1. 修正路由表配置
同一VPC内的子网通信依赖VPC默认的本地路由(指向local的VPC CIDR路由,比如172.31.0.0/16 -> local),无需手动添加子网间的自定义路由。你之前添加的172.31.1.0/24和172.31.2.0/24路由是冗余且可能干扰正常逻辑的,建议删除。
确保路由表配置符合以下要求:
- 公有子网关联的路由表:包含
0.0.0.0/0 -> Internet Gateway(对外访问) +VPC CIDR -> local(私网通信) - 私有子网关联的路由表:包含
0.0.0.0/0 -> NAT Gateway(对外访问) +VPC CIDR -> local(私网通信)
2. 检查网络ACL(NACL)
NACL是无状态的防火墙,需同时配置入站和出站规则:
- 入站规则:添加允许
172.31.0.0/16(整个VPC私网段)的ICMP Echo Request(类型8)、以及业务所需TCP/UDP端口的规则,优先级需高于默认的拒绝规则。 - 出站规则:添加允许
172.31.0.0/16的ICMP Echo Reply(类型0)、以及业务返回流量的规则。
3. 验证安全组规则
安全组是有状态的,但需确保双向规则覆盖:
- 私有实例的安全组:入站规则明确允许来自公有实例所在安全组ID或
172.31.1.0/24的ICMP Echo Request。 - 公有实例的安全组:若手动限制了出站流量,需确保允许去往
172.31.2.0/24的ICMP Echo Reply(默认安全组允许所有出站,若未修改可跳过)。
4. 实例与子网关联验证
- 确认私有实例确实部署在目标私有子网中,可通过EC2控制台查看实例的子网属性。
- 确认私有子网已正确关联到包含本地路由和NAT网关路由的路由表,避免路由表关联错误导致私网流量无法转发。
5. 源/目的地址检查
普通EC2实例默认开启源/目的地址检查,该设置无需修改(仅NAT实例需要关闭此检查)。若私有实例被误关闭了该选项,可能导致流量异常,建议确认状态为开启。
内容的提问来源于stack exchange,提问作者Devashish Priyadarshi
相关产品推荐
相关产品推荐

