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

私有EC2实例通过NAT Gateway无法访问互联网问题排查

AWS私有EC2实例无法ping通google.com的排查方案

问题描述

我在AWS VPC中的私有EC2实例上无法ping通google.com。已配置bastion堡垒机并通过guacamole连接到私有实例,但执行ping google.com时请求一直处于挂起状态。

相关配置信息:

  • Network ACLs已完全开放
  • 私有子网路由表将所有目标指向NAT Gateway(推测为笔误,应为NAT Gateway而非Network Gateway)
  • 公有子网路由表将所有目标指向Internet Gateway
  • 堡垒机安全组规则:堡垒机安全组入站/出站规则
  • 私有实例安全组规则:私有实例安全组入站/出站规则
  • ping命令执行状态:ping请求挂起状态

核心排查步骤

1. 验证NAT Gateway的可用性与基础配置

  • 检查NAT Gateway状态:确保它处于Available状态,若为Pending或Failed,则无法提供转发服务
  • 确认部署位置:NAT Gateway必须部署在公有子网中,且该公有子网的路由表已正确关联Internet Gateway(IGW)——只有NAT Gateway自身能访问公网,才能为私有实例做流量转发
  • 检查弹性公网IP(EIP):确认NAT Gateway绑定的EIP未被释放、未关联到其他资源

2. 确认路由表的关联与规则正确性

  • 私有子网关联检查:确保私有子网确实绑定了指向NAT Gateway的路由表,而非误关联到公有路由表或其他无效路由表
  • 默认路由规则验证:路由表中0.0.0.0/0(或::/0)的目标必须是NAT Gateway的ID(格式如nat-xxxxxx),而非Internet Gateway——私有实例无公网IP,无法直接通过IGW访问公网

3. 安全组出站规则细节检查

  • 私有实例安全组:确认出站规则允许ICMP协议(ping依赖ICMP),或至少允许所有协议(0.0.0.0/0)的出站流量,避免规则限定了特定IP范围导致无法访问公网
  • 堡垒机安全组:由于私有实例访问公网走NAT Gateway路径,堡垒机安全组不影响该流量,但需确保其出站规则不限制与私有实例的SSH/RDP连接(仅影响堡垒机到私有实例的访问)

4. 实例内部网络配置排查

  • 查看本地路由:执行ip route命令,确认默认路由指向VPC的主网关(如10.0.0.1,取决于VPC CIDR段),该网关会将流量转发至NAT Gateway
  • 验证DNS解析:执行nslookup google.com,若解析失败,需检查VPC的DNS配置:确保已启用Enable DNS hostnames和Enable DNS resolution,且DNS服务器为AWS默认服务器(通常是VPC CIDR段+2)
  • 直接ping公网IP:尝试执行ping 8.8.8.8,若能ping通则为DNS问题;若仍挂起,则为路由或NAT转发问题

5. NAT Gateway流量与资源检查

  • 查看监控指标:在CloudWatch中查看NAT Gateway的BytesOutToDestination、ErrorPortAllocation等指标,排查是否存在端口分配耗尽或流量异常
  • 公有子网IP可用性:确认NAT Gateway所在的公有子网有足够的可用私有IP,避免因IP耗尽导致无法建立转发连接

6. 其他潜在限制排查

  • 账户服务限制:检查AWS账户是否存在NAT Gateway数量、流量带宽等限制(此类情况较少见)
  • 第三方防火墙:确认私有实例未被附加AWS WAF或第三方防火墙规则,限制了ICMP出站流量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:05:36