连接Google Cloud SQL的DB Connection URI格式及本地连接方法
本地环境连接Cloud SQL Postgres方案
连接URI拼接格式
公网IP直连版本
如果选择公网直连,格式和你之前使用的Heroku Postgres URI完全兼容,模板如下:postgres://<DB_USER>:<DB_PASS>@<Cloud_SQL公网IP>:5432/<DB_NAME>
使用前提:你需要在Cloud SQL控制台的连接配置页,将本地开发环境的公网IP添加到授权网络白名单中,否则连接会被GCP拦截。
Cloud SQL Auth Proxy连接版本(官方推荐)
GCP官方推荐本地开发使用Cloud SQL Auth Proxy做加密链路连接,无需配置公网白名单,URI格式如下:postgres://<DB_USER>:<DB_PASS>@127.0.0.1:5432/<DB_NAME>
是否应该使用公网IP?
仅本地临时测试可以使用公网IP直连,长期开发、生产环境均不推荐。公网直连需要将数据库端口暴露在公网,还要维护动态变化的本地IP白名单,安全性低、维护成本高。
本地环境Cloud SQL Auth Proxy连接操作步骤
- 下载和你本地操作系统匹配的Cloud SQL Auth Proxy二进制文件,存入可访问的本地目录
- 本地安装gcloud CLI后执行授权命令:
gcloud auth application-default login,登录有权限访问Cloud SQL实例的GCP账号 - 启动Proxy服务,替换为你自己的Cloud SQL连接名称:
./cloud-sql-proxy <GCP_PROJECT_NAME>:us-central1:<CLOUD_SQL_INSTANCE_NAME> - Proxy正常启动后会默认监听本地5432端口,直接将上述Proxy版本的连接URI写入.env文件供Prisma调用即可,和你之前使用Heroku数据库的操作流程完全一致
如果本地已有其他PostgreSQL服务占用5432端口,可以启动Proxy时指定自定义端口,比如执行./cloud-sql-proxy --port 5433 <你的连接名称>,同步修改连接URI中的端口为对应值即可。
内容的提问来源于stack exchange,提问作者MLDimitry
相关产品推荐
相关产品推荐

