Google Cloud API Gateway与Cloud Run私有连通配置咨询
关于Google Cloud API Gateway与Cloud Run私有连通性的问题解答
API Gateway 访问开启「仅允许内部流量」Cloud Run的可行方案
原生Google Cloud API Gateway默认无法直接访问配置了Allow internal traffic only的Cloud Run服务,核心原因是API Gateway的出口流量不属于Cloud Run信任的VPC内部流量范畴,公网转发的请求会直接被入站规则拦截。可落地的实现方案有3种:
- 中转方案:通过内部负载均衡+Serverless NEG做私网转发
给目标Cloud Run服务创建Serverless网络端点组(NEG),将其挂载到内部HTTP(S)负载均衡的后端服务池;给API Gateway配置无服务器VPC访问连接器,将指向Cloud Run的请求路由到ILB的内网地址,这时候链路全程在Google内网传输,完全符合Cloud Run的内部流量校验规则,不会走公网链路。 - 架构替换方案:换用VPC原生的全托管网关组合
直接把前置API Gateway替换为Google Cloud HTTP(S)负载均衡+Cloud Endpoints+Cloud Armor的组合,这套架构和Cloud Run同属Google内部网络平面,只要给负载均衡的服务账号配置对应Cloud Run的调用权限,不需要额外中转就能直接访问开启了仅内部流量限制的Cloud Run服务,同时还能保留API密钥校验、流量控制、安全防护等API治理能力。 - 轻量方案:公网访问+严格身份校验
取消Cloud Run的「仅允许内部流量」配置,改为在Cloud Run入站规则里配置仅允许指定服务账号调用,绑定API Gateway使用的服务账号权限,同时拒绝所有其他主体的调用请求。这种方案配置成本最低,虽然没有走私有连接配置,但流量全程在Google内部网络承载,不会经过公网互联网链路,安全性和私有链路基本一致。
API Gateway 私有IP部署支持情况
目前Google Cloud API Gateway不支持分配私有IP,也无法直接部署到用户自有的VPC私有网络内部。
该服务是Google公网边缘托管的无服务器产品,所有接入端点默认分配公网IP,没有提供VPC植入、私有地址暴露的配置入口。如果需要在自有VPC内部通过私有IP提供API网关能力,可以选择两类替代方案:
- 在自有VPC内的GKE集群、Compute Engine实例上自托管开源API网关(比如Envoy、APISIX、Kong等)
- 使用内部HTTP(S)负载均衡搭配Cloud Endpoints,搭建VPC内部可访问的私有API网关,所有流量全程不经过公网。
内容的提问来源于stack exchange,提问作者BntMrx
相关产品推荐
相关产品推荐

