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

如何让Cloud Build连接私有IP的Cloud SQL实例?

解决Cloud Build访问私有IP Cloud SQL实例的连通性问题

问题1解答:Cloud SQL与Cloud Build的托管VPC及对等配置

  • Cloud SQL和Cloud Build不共享同一个Google托管服务VPC。Cloud SQL使用Google专为其服务托管的独立专用VPC,Cloud Build私有构建池则使用另一套Google托管的专用VPC网络,二者相互独立。
  • 不需要为两个服务配置独立的对等空间,但仅靠Cloud Build与你的VPC建立对等连接,无法直接访问Cloud SQL的私有IP——因为VPC对等连接不具备传递性,Cloud Build的托管网络不能通过你的VPC间接访问Cloud SQL的托管网络。

问题2解答:实现连通性的可行方案

方案1:使用Cloud SQL Auth Proxy(推荐)

这是最简洁且无需修改网络配置的方式,通过IAM权限而非VPC连通性实现访问:

  • 在Cloud Build的构建步骤中,添加下载并启动Cloud SQL Auth Proxy的命令:
    # 下载适配当前系统的proxy
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    chmod +x cloud_sql_proxy
    # 启动proxy,后台运行
    ./cloud_sql_proxy -instances=<你的实例连接名>=tcp:5432 &
    
  • 确保Cloud Build的服务账号拥有Cloud SQL Client角色,之后构建任务就可以通过localhost:5432访问Cloud SQL实例(端口根据数据库类型调整,比如MySQL用3306)。

方案2:通过Private Service Connect建立直接连接

如果必须通过私有IP访问,可以用Private Service Connect绕过对等传递性限制:

  1. 在你的VPC中创建一个Private Service Connect端点,目标选择你的Cloud SQL实例。
  2. 配置Cloud Build私有构建池的网络设置,允许其访问该端点所在的VPC子网。
  3. 构建任务即可通过Private Service Connect端点的私有IP访问Cloud SQL实例。

不推荐的方案(对应你提到的选项)

  • 直接将Cloud SQL与Cloud Build网络对等:Google不支持用户直接配置Cloud SQL托管网络与Cloud Build托管网络的对等连接,该操作无法通过控制台或API完成。
  • HA VPN:成本过高,仅适用于复杂跨区域场景,完全没必要用于Cloud Build访问Cloud SQL的需求。
  • GCE堡垒机:需要额外维护实例,且会增加构建流程的复杂度和延迟,不够高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:07:33