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

已加入VPC的AWS App Runner服务如何访问公网?

AWS App Runner加入VPC后无法访问公网问题

现状

  • 后端部署为AWS App Runner服务
  • 因需与私有RDS实例通信,已将服务接入VPC
  • 当前后端可正常与RDS实例通信

预期

  • 后端同时具备公网HTTP请求发起能力

实际情况

  • 后端发起的所有公网HTTP请求均超时无响应
  • 可通过App Runner生成的域名正常访问服务(入站流量正常)

已检查项

  • 已连接Internet Gateway
  • 路由表已配置0.0.0.0/0指向Internet Gateway
  • 安全组已允许全量出站访问
  • 曾尝试替换为NAT Gateway并配置对应路由表,但问题未解决

配置截图

  • AWS App Runner服务的VPC Connector配置:VPC Connector配置截图
  • 允许所有流量的安全组出站规则:安全组出站规则截图
  • 将出站流量路由至Internet gateway的路由表:路由表配置截图
  • 与所有子网关联的路由表(默认配置未修改):路由表子网关联截图

公网访问验证方式

  • 尝试请求google.com
  • 在请求前、请求后及异常捕获处添加日志
  • 仅请求前日志输出,后续无内容,调用该请求的API持续加载直至5分钟后网关超时:请求超时日志截图

问题分析与解决方案

核心问题

App Runner通过VPC Connector接入VPC时,其运行的任务实例不会分配公网IP,因此直接将私有子网的路由指向Internet Gateway无法实现公网出站访问——Internet Gateway仅能为带有公网IP的资源提供公网访问能力。

正确配置步骤

  1. 创建NAT Gateway并部署在公有子网

    • 确保NAT Gateway所在的公有子网路由表已配置0.0.0.0/0指向Internet Gateway,且该公有子网的实例可正常访问公网
    • 为NAT Gateway分配弹性公网IP(EIP)
  2. 调整私有子网路由表

    • 将App Runner VPC Connector所关联的私有子网的路由表中,0.0.0.0/0的下一跳修改为NAT Gateway(而非Internet Gateway)
  3. 确认安全组规则

    • App Runner服务关联的安全组需允许出站流量到NAT Gateway(可配置全量出站或限定端口)
    • NAT Gateway关联的安全组需允许来自App Runner安全组的入站流量(对应公网请求的响应回传)
  4. 重新部署App Runner服务

    • 修改VPC Connector配置或路由表后,需触发App Runner服务重新部署,确保配置生效

额外说明

根据AWS App Runner路线图相关讨论:当App Runner通过VPC Connector连接到私有子网时,必须借助NAT Gateway实现公网出站访问,直接使用Internet Gateway无法生效,这是由App Runner的VPC接入机制决定的。

内容的提问来源于stack exchange,提问作者Hossam El-Deen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:25:28