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

跨项目连接CloudSQL Postgres时Cloud SQL Proxy超时故障排查

解决跨VPC通过Cloud SQL Auth Proxy连接PostgreSQL超时问题

以下是针对你的问题的排查和解决步骤:

1. 核对Cloud SQL Auth Proxy启动参数

日志显示代理尝试连接10.35.144.3:3307,但PostgreSQL默认端口为5432,3307是MySQL的代理端口。检查你的启动命令是否正确指定了PostgreSQL的端口:

  • 正确的启动命令示例:
    ./cloud_sql_proxy -instances=project-b:your-region:your-postgres-instance=tcp:5432
    
  • 用netstat -tulpn | grep 5432(或你指定的本地端口)确认代理是否在正常监听目标端口。

2. 验证Cloud SQL私网配置

  • 确认Project-B中的Cloud SQL实例已启用私网IP,且所属网络为Project-B的默认VPC。
  • 检查Cloud SQL实例的VPC网络访问控制,确保Project-A自定义VPC的CIDR段被添加到允许列表中(或设置为允许所有对等VPC访问)。

3. 检查VPC对等连接的路由配置

  • 在Project-A的自定义VPC路由表中,确认存在指向Project-B默认VPC CIDR的路由,下一跳为已创建的VPC对等连接。
  • 在Project-B的默认VPC路由表中,确认存在指向Project-A自定义VPC CIDR的路由,下一跳为同一对等连接。
  • 排查是否有优先级更高的路由(如静态路由、VPN路由)覆盖了对等连接的路由规则。

4. 检查防火墙规则

  • 在Project-B的默认VPC中,添加或更新防火墙规则:允许来自Project-A自定义VPC CIDR的流量访问Cloud SQL实例的5432端口(PostgreSQL默认端口)。
  • 在Project-A的自定义VPC中,确保防火墙规则允许实例向外部(包括对等VPC)发起5432端口的出站请求。

5. 验证实例权限与代理版本

  • 确认Project-A中运行代理的实例所使用的服务账号(或默认服务账号)拥有roles/cloudsql.client角色,该角色允许访问Cloud SQL实例。
  • 尝试更新Cloud SQL Auth Proxy到最新版本,旧版本可能存在兼容性问题。

6. 测试基础网络连通性

在Project-A的实例上执行以下命令,验证与Cloud SQL私网IP的连通性:

telnet 10.35.144.3 5432

如果连接失败,说明网络层面(路由、防火墙)存在问题,回到步骤3和4重新排查;如果连接成功,再检查代理的启动参数和权限配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:30:41