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

如何从GCP项目B访问项目A及自身的内部Cloud Run服务

解决GCP跨项目Cloud Run内部访问的网络配置问题

问题核心原因

Serverless VPC连接器是绑定单个VPC网络的,默认仅能访问该VPC内的资源。你遇到的超时问题,本质是连接器所在VPC缺少到目标资源子网的有效路由,或防火墙规则限制了跨项目流量。

可行解决方案

方案1:优化Shared VPC配置,单连接器实现双向访问

这是基于你现有架构最直接的方案:

  • 确认项目A共享给B的子网,在Shared VPC主机项目中已授予项目B的Compute Network User权限
  • 给项目B的Serverless VPC连接器添加自定义静态路由:将项目A内部负载均衡的IP段(或A子网的CIDR)加入连接器路由列表,确保流量能转发至Shared VPC子网
  • 检查项目A防火墙规则:允许来自项目B连接器IP段的流量访问内部负载均衡端口(默认Cloud Run内部服务用8080)
  • 检查项目B防火墙规则:允许来自自身连接器IP段的流量访问内部服务端口

配置完成后,项目B的Cloud Run使用自身VPC连接器,即可同时访问B的内部服务和A的Shared VPC子网内服务。

方案2:双连接器+流量路由策略

若不想修改现有Shared VPC路由,可给项目B的Cloud Run配置两个连接器:

  • 创建两个Serverless VPC连接器:一个绑定项目B的默认VPC,一个绑定项目A的Shared VPC子网所属VPC
  • 利用Cloud Run的--vpc-connector和--vpc-egress=all-traffic参数,结合服务自定义路由规则,指定访问A服务用A的连接器、访问自身服务用B的连接器
  • 例如通过内部域名区分:访问service-a.internal走A连接器,访问service-b.internal走B连接器

方案3:改用VPC对等连接(替代Shared VPC)

若Shared VPC架构不匹配你的场景,可切换为VPC Network Peering:

  • 在项目A和B的VPC间创建对等连接,确保两边启用自动创建路由
  • 给项目B的Serverless VPC连接器添加到项目A VPC CIDR的路由
  • 配置两边防火墙规则,允许对等VPC流量与连接器IP段流量互通

关键检查项

  • 确保Serverless VPC连接器的IP段不与A/B的子网CIDR重叠
  • 验证路由表:目标资源的子网CIDR在连接器所在VPC的路由表中存在有效下一跳(Shared VPC子网或对等连接)
  • 确认Cloud Run服务使用的服务账号拥有roles/vpcaccess.user权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:56:54