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

Cloud Run容器无法连接Cloud SQL实例问题排查

Cloud Run连接Cloud SQL超时问题解决方案

问题根源

你通过公网IP直接连接Cloud SQL,但Cloud Run实例没有固定出站IP,无法被加入SQL实例的授权IP白名单,导致连接被防火墙拦截,触发超时错误。

可行配置方案

1. 使用Cloud SQL Auth代理(官方推荐)

  • 部署Cloud Run服务时,添加Cloud SQL实例关联:
    执行部署命令时加入参数:--add-cloudsql-instances=你的项目ID:实例区域:实例名称
  • 调整数据库连接字符串为代理本地地址:host=127.0.0.1 port=5432 user=数据库用户名 password=数据库密码 dbname=目标数据库名
  • 确保Cloud Run使用的服务账号拥有Cloud SQL Client角色权限

2. 配置VPC访问连接器(适合私有网络场景)

  • 创建VPC访问连接器,将Cloud Run实例接入你的VPC网络
  • 给Cloud SQL实例配置私有IP,保证其与VPC连接器处于同一网络
  • 修改连接字符串使用Cloud SQL的私有IP,同时确认VPC内防火墙规则允许Cloud Run实例访问SQL实例的5432端口

3. 临时方案:添加Cloud Run出站IP范围(不推荐长期使用)

  • 查看Cloud Run所在区域的出站IP范围:通过GCP控制台查看,或执行命令 gcloud run services describe 你的服务名 --region 服务区域
  • 将获取到的IP范围添加到Cloud SQL实例的授权IP列表中
  • 注意:该IP范围可能会随GCP调整发生变化,长期依赖存在风险

额外检查点

  • 确认Cloud Run服务账号已被授予Cloud SQL Client或更高权限的角色
  • 检查Cloud SQL实例的对应数据库服务(如PostgreSQL)是否正常启用,5432端口是否处于监听状态
  • 核对连接字符串中的用户名、密码、数据库名是否正确,避免混淆公网IP、私有IP或代理地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:43:17