GCP - Cloud SQL 連線
Cloud SQL 的連線
Cloud SQL 開起來之後,因為它概念上並不是給一個裝了 DB 的主機讓你操控,故沒有 SSH 連進去的功能,我們沒有辦法直接進入到它的 VM 底層。在考慮如何連接到 Cloud SQL Instance 時有很多方式和其優缺點:
是否讓 DB 可以從 public internet 連線,還是只要使用 private VPC
- Internal: VPC-only (Private) IP address
- External: internet-accessible (Public) IP address
Cloud SQL Instance 可以同時具有 External 和 Internal 位址。
是打算寫自己的 connection code,還是使用例如其他連接工具
Database connections 都會消耗資源,故如需自己寫程式來連線 DB 都要注意連接管理,減少超過 Cloud SQL 連接限制的可能。
- Cloud SQL Auth Proxy
- Database administration 等 DB Client 端產品,比如說常見的產品有
MySQL Workbench
、SQL Server SSMS
等等,可以來觀看 DB 資訊。
目前很不錯解決方案是使用 Cloud SQL Auth Proxy 進行連線,此解決方案提供 IAM permissions 使用 service account 的 credential 來連線。 Cloud SQL Auth Proxy 是 GCP 官方提供且推薦的認證連線方式。
Authenticate
單純 Granting access 給 application 並不會自動啟用 user account 使之可以連線 DB ,還是需要 configure default user account
- Built-in database authentication 使用
username/password
- 是否要求 SSL/TLS 進行加密,或者允許未加密連線
- Built-in database authentication 使用