跳至主要内容

[GCP] Google Cloud SQL

TL;DR

讓本地的 port 可以 proxy 到 Google Cloud SQL 上

過時內容

以下使用的是舊版 Cloud SQL Proxy v1cloud_sql_proxy),該版本已於 2024 年 9 月停止支援(EOL)。請改用 Cloud SQL Auth Proxy v2cloud-sql-proxy)。

v2 的下載與使用方式請參考官方文件:Cloud SQL Auth Proxy

v2 連線範例(macOS amd64):

# 下載 Cloud SQL Auth Proxy v2
curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.14.1/cloud-sql-proxy.darwin.amd64
chmod +x cloud-sql-proxy

# 連線(v2 語法)
./cloud-sql-proxy --port 5432 <project>:<region>:<instance>
# 下載 Cloud SQL
curl -o cloud_sql_proxy https://dl.google.com/cloudsql/cloud_sql_proxy.darwin.amd64
chmod +x cloud_sql_proxy

# GCP 權限認證...
gcloud config set account <email>

# 連線
# instance_name 會是 project:region:instance-name 組成
cloud_sql_proxy -instances=<pjchender-gcp:asia-east1-a:pjchender-sql>=tcp:5432

# 出現成功連結後,可以使用 psql 連進 database
$ psql -U postgres -h localhost -d db_name

在 terminal 登入 google cloud SQL shell

$ gcloud sql connect <instance> -d <database> -u <username>

參考