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

Cloud Run经VPC Connector连接Cloud SQL随机超时问题求助

Cloud Run 部署时Cloud SQL连接随机超时问题(全流量走VPC Connector场景)

问题背景

我计划部署一个Cloud Run服务,核心配置如下:

  • Cloud SQL连接:关联1个Cloud SQL实例
  • VPC网络:使用Serverless VPC Access Connector,所有流量均通过该连接器路由

部署使用命令:

gcloud run services replace cloudrun.yaml --platform managed --region us-east1 --project my-project --format json

遇到的问题

创建新服务时约75%概率部署失败,报错信息:

Cloud SQL connection failed. Please see https://cloud.google.com/sql/docs/mysql/connect-run for additional details: connection to Cloud SQL instance at <public-ip>:3307 failed: timed out after 10s

额外信息:

  • 所有资源(Cloud Run、VPC、VPC Access Connector、Cloud SQL、NAT网关)均位于us-east1区域,可关联VPC的资源已绑定同一VPC
  • 将Connector设置为「仅通过VPC连接器路由到私有IP的请求」时,Cloud SQL连接正常,但不符合业务需求
  • 仅修改服务名称的同一yaml重新部署,成功概率仅25%,失败具有随机性

排查与解决方案

1. 扩容Serverless VPC Access Connector

全流量走Connector时,部署阶段Cloud Run的初始化请求会占用Connector的并发连接配额。如果Connector的规格过小,会导致随机连接超时:

  • 查看Connector的监控指标(如active_connections、connection_attempts),确认是否达到并发阈值
  • 升级Connector的机器类型(比如从e2-micro改为e2-small)或增加实例数量,提升并发处理能力

2. 验证NAT网关与公网访问规则

当全流量通过Connector路由时,Cloud Run访问Cloud SQL公网IP的流量会经过VPC的NAT网关,需确保:

  • NAT网关配置正常,能正常转发公网出站流量
  • Cloud SQL的公网IP白名单包含NAT网关的公网IP(或临时设置为允许所有IP做测试)
  • VPC防火墙规则允许Connector子网到Cloud SQL公网IP 3307端口的出站流量

3. 优化容器启动时的连接逻辑

部署超时可能是容器启动后立即尝试连接Cloud SQL,而此时Connector网络尚未完全就绪:

  • 在容器启动脚本中添加连接重试逻辑,比如连接失败时等待3-5秒后重试,最多重试5次
  • 在Cloud Run配置yaml中增大timeoutSeconds(比如设置为300),给容器更长的启动初始化时间

4. 改用Cloud SQL私有IP连接(推荐稳定方案)

如果业务场景允许,建议为Cloud SQL启用私有IP并绑定到同一VPC:

  • Cloud Run通过Connector直接访问Cloud SQL私有IP,无需走公网,避开NAT和公网白名单的限制,连接稳定性大幅提升
  • 此方案完全适配「全流量走Connector」的业务需求

5. 检查Connector路由配置

确认Connector的「所有流量路由」配置生效,且VPC路由表无冲突:

  • 检查VPC路由表,确认Connector的路由条目优先级正确,未被其他路由覆盖
  • 验证Connector的子网与Cloud SQL所在网络的连通性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:10:26