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

Cloud Run连接Cloud SQL Postgres失败:DATABASE_URL配置及排查求助

Cloud Run连接Cloud SQL失败排查方案

额外检查方向

  • Cloud Build服务账号权限:当前执行prisma migrate的是Cloud Build服务账号(默认格式为[你的项目ID]@cloudbuild.gserviceaccount.com),而非Cloud Run的服务账号。需为该账号分配Cloud SQL Client角色,确保其具备访问Cloud SQL实例的权限。
  • Cloud SQL Auth Proxy启动状态:Cloud Run会自动注入Cloud SQL代理,但Cloud Build环境不会。需在Cloud Build步骤中先启动代理,再执行迁移命令。示例步骤:
    steps:
    - name: 'gcr.io/cloudsql-docker/gce-proxy'
      entrypoint: '/cloud_sql_proxy'
      args: ['-instances=learninfra001:us-central1:learninfra001-postgres=tcp:5432']
      background: true
    - name: 'gcr.io/cloud-builders/npm'
      env:
        - DATABASE_URL=$_DATABASE_URL
      entrypoint: npx
      dir: './server'
      args:
        - 'prisma'
        - 'migrate'
        - 'deploy'
    
  • 网络连通性验证:
    • 若Cloud SQL使用私有IP,需确保Cloud Build与Cloud SQL实例处于同一VPC,或已配置VPC对等连接。
    • 若使用公网IP,需将Cloud Build的出口IP段加入Cloud SQL的白名单(可通过Cloud Build控制台查看构建的出口IP)。
  • Cloud SQL实例状态:确认实例处于RUNNING状态,无维护中、暂停等异常情况。
  • DATABASE_URL参数验证:检查密码是否正确,db数据库是否确实存在于目标实例中,socket路径/cloudsql/learninfra001:us-central1:learninfra001-postgres是否与实例的连接名完全一致。

日志排查方法

  • Cloud Build详细日志:进入Cloud Build控制台,打开对应构建记录,查看每个步骤的完整输出,重点关注Prisma迁移时的底层错误信息(如连接超时、认证失败等)。
  • Cloud SQL实例日志:在Cloud SQL控制台的实例日志中,筛选postgres相关日志,查看是否有拒绝连接的记录(如IP未授权、账号密码错误等)。
  • Cloud Run服务日志:若Cloud Run运行时也无法连接,进入Cloud Run服务的日志页面,开启详细日志模式,查看连接请求的具体错误栈,排查代理注入、权限传递等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:01:58