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

Google Cloud Flex App Engine接入HA VPN的流量问题排查

问题分析与排查建议

可能遗漏的关键配置

  • App Engine Flex出站IP模式错误:你当前app.yaml里的instance_ip_mode设为external,这会让应用实例优先用公网IP发流量,根本不会走VPC内网的VPN隧道。要通过VPN访问私有服务,必须把这个参数改成internal,强制流量走子网私有IP。
  • AWS侧路由/安全组未放行:GCP侧BGP和隧道状态正常不代表AWS端配置到位——AWS可能没把GCP子网的路由挂到VPN网关,或者私有服务的安全组/网络ACL没允许GCP子网IP段的访问请求。
  • GCP路由优先级冲突:如果VPC里默认路由(指向公网)的优先级比BGP学习到的AWS路由还低,流量会被导去公网而非VPN。得确认BGP路由的优先级(默认100)低于默认路由(默认1000)。
  • App Engine服务账号权限不足:应用的服务账号可能没权限使用VPC内网资源,需要给它加roles/compute.networkUser权限,允许实例接入指定子网。

具体排查步骤

  • 修正App Engine配置并重新部署:修改app.yaml的instance_ip_mode为internal,执行gcloud app deploy重新部署。部署后检查实例IP是否属于custom-subnet的私有IP段。
  • 核对GCP路由表:进入VPC路由表页面,查看custom-subnet关联的路由表,确认存在指向AWS私有IP段的BGP路由,下一跳是HA VPN网关,且优先级正确。
  • 检查AWS端配置:
    • 确认AWS VPN连接的路由表包含GCP子网IP段,且已关联到私有服务所在的子网。
    • 检查私有服务的安全组,是否放行GCP子网IP段对应端口的入站流量(比如Web服务的80/443端口)。
    • 检查AWS网络ACL,入站和出站规则都要允许GCP与AWS私有IP段之间的双向流量。
  • 用临时VM测试连通性:在custom-subnet里创建一个Compute Engine实例,用它ping或traceroute AWS私有服务IP。如果能通,问题肯定在App Engine Flex配置上;如果也不通,说明VPN或路由/安全组有问题。
  • 查看流量日志定位丢包点:
    • 在GCP启用VPC流日志,过滤App Engine实例IP和AWS目标IP的流量,看是否有被丢弃的记录。
    • 在AWS启用VPC流量日志,检查GCP流量是否到达AWS边界,以及是否被安全组/ACL拦截。
  • 确认DNS解析结果:虽然能解析主机名,但要确认解析出的是AWS私有服务的私有IP(不是公网IP)。可以在App Engine实例里执行nslookup <目标主机名>验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:18:21