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

AWS:ELB、NAT网关与公有子网配置异常问题排查

核心误区澄清

首先明确:外部客户端(包括无服务器场景)访问公有子网EC2上的API,不需要通过NAT网关。NAT网关的核心作用是让私有子网内的实例主动访问外网(比如拉取依赖、调用第三方API),而外部流量访问EC2是通过ELB的公网IP直接进入,和NAT网关无关联。你配置NAT网关后出现403,大概率是修改了公有子网的路由表,破坏了原有正常的网络通路。

正确的ELB+NAT网关配合方案(若需NAT网关满足实例外网访问需求)

如果你的EC2实例需要主动访问外网,同时保留外部通过ELB访问EC2的能力,按以下步骤配置:

  • 子网规划优化(推荐):将EC2实例迁移至私有子网,ELB保留在公有子网。这是AWS最佳实践,避免公有子网实例直接暴露公网IP,提升安全性。
  • 部署NAT网关:在公有子网创建NAT网关,并绑定弹性公网IP(EIP)。
  • 路由表配置:
    • 公有子网路由表:默认路由(0.0.0.0/0)指向互联网网关(IGW),确保ELB能接收外部流量、NAT网关能正常访问外网。
    • 私有子网路由表:默认路由指向NAT网关,让EC2实例能通过NAT网关访问外网;同时保留VPC内部路由(如10.0.0.0/16指向本地),确保ELB与EC2实例的内部通信正常。
  • 安全组与NACL配置:
    • ELB安全组:允许外部客户端的访问端口(如80/443)入站,允许ELB访问EC2的API端口(如8080)出站。
    • EC2安全组:允许ELB安全组的流量入站(对应API端口),按需配置出站规则(可允许所有出站流量,或限制到NAT网关、特定外部服务IP)。
    • NACL:确保公有子网允许外部到ELB的端口入站、ELB到私有子网EC2的端口出站;私有子网允许ELB到EC2的端口入站、EC2到NAT网关的端口出站,同时放行所有返程流量。
当前403问题的排查修复步骤

若已配置NAT网关导致访问失败,按以下步骤排查:

  1. 检查公有子网路由表:确保默认路由指向互联网网关(IGW),而非NAT网关。若指向NAT网关,外部流量到ELB后的返回流量会被拦截,导致无法正常响应。
  2. 校验安全组规则:确认ELB的入站规则允许外部客户端的IP/端口,EC2的入站规则允许ELB安全组访问API端口。
  3. 检查NACL配置:确保相关子网的NACL放行所需端口的双向流量(如80/443端口)。
  4. 验证EC2服务状态:确认API服务本身未因网络配置变化返回403(比如服务绑定了特定IP、权限验证逻辑受网络环境影响)。

内容的提问来源于stack exchange,提问作者Marlon van der Linde

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:48:17