Private Service Connect 提供您私有網路環境,避免公網暴露,同時整合 GCP (Google Cloud Platform,現稱 Google Cloud) 原生的安全機制,支援細緻的專案權限控制,是一種更安全的連線方式,也能更簡單的管理和更靈活的部署。特別適合需要跨專案資料庫存取、重視網路安全、追求精確網路控制的的組織。 以下內容包含相關概念說明和實作步驟指南 概念說明 步驟示意圖
Cloud SQL 設定 Private Service Connect (PSC) 的方法有兩種: 一種是自動建立,一種是手動設定。因為自動建立的方式還在 Preview,因此,以下介紹手動設定的方法: 如上圖,專案 A 配置 Client 端應用程式和 Cloud SQL。 建立 Cloud SQL 並啟動 PSC,當 Cloud SQL 啟動 PSC 功能的時候,就會自動產生一個 Service Attachment (如圖步驟1)。 手動建立 Endpoint 並指定一個 Cloud SQL 專用的私有 IP。 設定 Forwarding Rules 將 Endpoint 和 Service Attachment 建立連結。 注意事項 部署者須擁有以下權限 compute.networkAdmin dns.admin cloudsql.admin cloudsql.instanceUser 和 Private Service Access 比較: Private Service Access 只能指定一個私有IP網段,但是 Private Service Connect 可以指定一個特定的私有 IP。 PSC 優缺點分析 優點 可以幫 Cloud SQL 指定特定私有 IP。 可以做跨不同專案和跨不同 VPC Network 的存取。 缺點 最多支援 20 個 Endpoint (參見常見問題)。 手動設定步驟 建立有啟動 Private Service Connect 的 Cloud SQL Instance
啟動 PSC 的參數 --enable-private-service-connect 啟動 PSC 功能 --allowed-psc-projects=ALLOWED_PROJECTS 允許讀取這個 PSC 的專案白名單 A comma-separated list of allowed project IDs or numbers from where Private Service Connect endpoints can connect to Cloud SQL instances. 取得 Cloud SQL 產生的 Service Attachment Service Attachment 就是畫面顯示的 pscServiceAttachmentLink。
建立 Forwarding Rules,連接 Cloud SQL 和 Endpoint --target-service-attachment=SERVICE_ATTACHMENT_URI 就是剛剛Cloud SQL 產生的 Service Attachment
驗證方式 建立 Client 端的 VM 來測試 Cloud SQL 連線是否成功 --source-instance=SOURCE_INSTANCE Client 端的 VM --destination-network=DESTINATION_NETWORK Cloud SQL 網路
假設 Client 端應用程式和 Cloud SQL 分別配置在不同專案時,一個 Cloud SQL 最多支援幾個專案設定? 參考以下架構,每個Client端專案配置一個Endpoint,最多一個 Cloud SQL 可以支援 20 個 Endpoint,因此一個 Cloud SQL 可支援 20 個專案設定。
Cloud SQL 是否可以同時支援 Private Service Access 和 Private Service Connect? 可以,但這個功能還在 Pre-GA。 Cloud SQL 如何關閉 PSC 功能? 參見以下指令。
參考文件 https://cloud.google.com/sql/docs/mysql/about-private-service-connect https://cloud.google.com/sql/docs/mysql/configure-private-service-connect https://cloud.google.com/sql/docs/mysql/configure-private-services-access-and-private-service-connect