如何实现Cloud Run间内部入口通信?求最简可行配置方案
实现Cloud Run/Cloud Functions仅内部&负载均衡器访问且互通信的最简方案
首选方案是配置DNS解析+启用私有Google访问,无需额外创建负载均衡器或VPC连接器,步骤最简洁:
步骤1:启用子网的私有Google访问
针对发起请求的源服务(Cloud Functions/Cloud Run)所在的子网,开启私有Google访问:
- 控制台操作:进入VPC网络→子网→选择目标子网→编辑→勾选“启用私有Google访问”→保存
- gcloud命令:
gcloud compute networks subnets update [子网名称] \ --region [区域] \ --enable-private-ip-google-access
步骤2:配置DNS解析规则
将目标Cloud Run服务的*.run.app域名解析到私有Google API网段(199.36.153.8/30):
- 控制台操作:进入云DNS→创建私有区域(若无现存区域)→添加记录集:
- 名称:
*.run.app(或目标服务的具体域名,如my-service-abcdef.a.run.app) - 类型:A
- 数据:
199.36.153.8、199.36.153.9、199.36.153.10、199.36.153.11 - 私有网络:选择你的VPC网络
- 名称:
- gcloud命令:
gcloud dns record-sets create "*.run.app." \ --zone [私有DNS区域名称] \ --type A \ --ttl 300 \ --rrdatas "199.36.153.8,199.36.153.9,199.36.153.10,199.36.153.11"
步骤3:验证通信
从源服务发起请求到目标Cloud Run的域名,确认请求通过VPC路由,且目标服务的“仅内部&负载均衡器流量”访问控制规则生效。
方案优势
- 无额外资源成本:无需创建Private Service Connect端点或内部负载均衡器,减少维护量
- 配置侵入性低:仅需两步核心操作,不影响现有服务运行
- 兼容性广:同时支持Cloud Functions与Cloud Run之间的通信,适配官方流量控制逻辑
内容的提问来源于stack exchange,提问作者Vojtěch
相关产品推荐
相关产品推荐

