[GCP] Google Cloud SQL
TL;DR
讓本地的 port 可以 proxy 到 Google Cloud SQL 上
過時內容
以下使用的是舊版 Cloud SQL Proxy v1(cloud_sql_proxy),該版本已於 2024 年 9 月停止支援(EOL)。請改用 Cloud SQL Auth Proxy v2(cloud-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>
參考
- Cloud SQL for PostgreSQL 文件 @ google cloud
- GCP - Cloud SQL 的連線方式(cloud sql proxy) @ Aaron Jen's Blog