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

GCP技术咨询:Cloud Scheduler能否调用内部Cloud Run服务端点?

解决方案

方案一:通过VPC访问连接器实现无代码修改的内部服务访问

这个方案能同时解决SC无法访问内部CR1,以及CR2无需修改代码即可访问CR1的问题:

  • 创建VPC访问连接器,关联到CR1所在的VPC网络,确保连接器的IP范围和VPC内其他资源不冲突
  • 将CR1配置为内部服务,并设置允许来自该VPC网络的流量
  • 配置Cloud Scheduler作业:
    • 选择HTTP目标类型,填写CR1的内部域名(格式为[服务名].[区域].internal.run.app)
    • 在"VPC连接"选项中选择刚创建的VPC连接器
    • 确保SC使用的服务账号拥有访问VPC连接器的权限(默认服务账号通常已有权限,若没有则添加roles/vpcaccess.user)
  • 部署CR2时,关联同一个VPC访问连接器,或者确保CR2和CR1处于同一个VPC网络中:
    • CR2可以直接通过内部域名调用CR1,无需添加身份验证逻辑,因为内部服务仅允许VPC内流量访问,天然受保护

方案二:基于身份验证的无代码适配(适用于使用Google客户端库的场景)

如果不想用VPC连接器,可通过服务账号授权实现,且若CR2使用Google官方客户端库发送请求,无需修改代码:

  • 将CR1配置为需要身份验证的服务
  • 给Cloud Scheduler的服务账号授予roles/run.invoker权限,允许其调用CR1
  • 配置SC作业时,选择"添加OIDC令牌",指定CR1的受众(audience)为CR1的服务URL
  • 给CR2的运行服务账号也授予roles/run.invoker权限:
    • 若CR2使用Google客户端库(如Go的google.golang.org/api/transport、Python的google-auth等)发送HTTP请求,客户端会自动从元数据服务器获取身份令牌并添加到请求头,无需修改业务代码
    • 若CR2使用自定义HTTP请求,此方案不适用,需优先选择方案一

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:40:35