Cloud Run通过VPC连接Cloud SQL时连接菜单不可见求助
Cloud Run 连接 Cloud SQL(SQL Server)问题处理
VPC连接菜单不显示的原因及解决
- 区域不匹配:Serverless VPC Access连接器必须与Cloud Run服务部署在同一区域,否则不会在配置菜单中显示。
- 连接器类型错误:需创建Serverless VPC Access 连接器(而非普通VPC peering),只有该类型连接器会出现在Cloud Run的VPC配置选项中。
- 权限不足:确认当前账号拥有
roles/vpcaccess.admin或足够权限查看、使用VPC连接器。
连接Cloud Run到Cloud SQL(SQL Server)的两种方案
方案一:Serverless VPC Access 内网连接
- 创建Serverless VPC Access连接器
- 进入Google Cloud控制台的VPC网络 > Serverless VPC Access页面
- 点击「创建连接器」,选择与Cloud Run服务一致的区域,关联目标VPC网络,配置不冲突的IP范围,等待创建完成。
- 配置Cloud Run服务
- 进入Cloud Run服务编辑页,找到「VPC连接」选项(此时可看到刚创建的连接器)
- 选择目标连接器,设置流量路由规则(按需选「全部流量」或「仅私有IP流量」)
- 配置Cloud SQL实例
- 确保Cloud SQL实例启用私有IP,且所属VPC与连接器关联的VPC一致
- 在Cloud SQL「连接」页面,将Cloud Run所在VPC子网加入授权网络
- 用Cloud SQL私有IP配置Cloud Run的数据库连接字符串,实现内网访问。
方案二:Cloud SQL Auth Proxy 连接(无需VPC)
如果VPC配置受阻,可采用该方案:
- 为Cloud Run服务分配服务账号,授予
roles/cloudsql.client权限 - 将Cloud SQL Auth Proxy打包进容器镜像,或作为sidecar启动,命令示例:
./cloud-sql-proxy 你的项目ID:区域:SQL实例名 --port 1433 - 在Cloud Run环境变量中配置数据库地址为
localhost:1433,补充用户名、密码等信息即可连接。
注意事项
- Cloud Run无服务器实例不支持静态IP,VPC连接需依赖Cloud SQL私有IP
- 确保SQL Server实例防火墙允许来自对应VPC子网的1433端口流量
- Serverless VPC Access连接器的IP范围需预留足够可用地址,避免连接失败
内容的提问来源于stack exchange,提问作者Breno Ribeiro
相关产品推荐
相关产品推荐

