1. 簡介
上次更新時間:2020 年 5 月 4 日
思考關聯性
市面上的應用程式與架構有很多種。在本程式碼研究室中,我們將說明從任何位置連線至 Cloud SQL。您必須授權可明確連線的 IP,才能啟用這項功能。可說是最安全的選項,可用於連線至 Cloud SQL 資料庫,但同時也是設定與開始使用最容易的方法。
有時候,您需要在實際工作環境中執行這項作業,但如果可以避免,請選用更安全的替代方案 (例如使用 Cloud SQL Proxy)。這種設定最適合用於開發和測試。
建構項目
這個程式碼研究室的內容非常精簡。這個概念的用意是帶您瞭解相互連結的部分,而無需過度考慮應用程式本身。在最完美的情況下,連線至 Cloud SQL 就像是連結至 SQL 資料庫的任何其他執行個體一樣,因此您應該能取得在這個程式碼研究室中建立的內容,並套用至任何正式版應用程式。
這些操作說明包含使用 GCP 控制台的逐步操作說明,以及與 CLI 或自動化功能對應的 gcloud 指令。
個別步驟如下:
- 建立 Cloud SQL 執行個體 (本教學課程使用的是 Postgres,但運作方式類似 MySQL 或 SQL Server) 並授權特定 IP 可連線至該執行個體
軟硬體需求
- 您的 GCP 帳戶有權啟用 API 及建立服務
- 安裝 Postgres 用戶端以驗證連線能力 (如要使用 MySQL 而非 Postgres,則可使用 MySQL 用戶端)
2. 建立 Cloud SQL 執行個體
Cloud SQL 是我們的代管關聯資料庫服務,支援 MySQL、PostgreSQL 和 SQL Server。在本程式碼研究室中,我們會建立 Postgres 資料庫,但這三種做法的操作說明相似。
在控制台中
如先前所述,本程式碼研究室大部分都適用於任何 SQL 版本,但在本程式碼研究室中,請選擇 PostgreSQL。
- 為執行個體提供 ID
- 挑選您所在位置附近的區域
- 輸入預設使用者的密碼 (使用者名稱將是所選資料庫的預設值,例如 MySQL 為
root
,或是 PostgreSQL 為postgres
) - 向下捲動,然後按一下
show configuration options
- 展開「
Connectivity
」部分 - 確認已勾選
Public IP
且已取消勾選Private IP
- 按一下「
」按鈕
- 取得連線來源的 IP 位址。最簡單的方法是透過 Google 搜尋「我的 IP 位址是什麼」?而且搜尋結果包含您的公開 IP。
- 在網路欄位中輸入 IP 規格,並視需要輸入名稱,然後按一下
New Network
方塊中的 [完成]。 - 向下捲動,然後按一下「建立」
執行個體通常會在幾分鐘後啟動。
執行個體建立後,請在清單中點選進入執行個體,然後在總覽頁面的 Connect to this instance
標頭下方複製列出的 public IP address
。即使在執行個體完全例項化之前,您還是可以點選詳細資料,等到執行個體建立完畢後,才會看到執行個體的物件。
使用 gcloud
首先,請擷取您要授權的 IP 位址,以便連線至 Cloud SQL 執行個體。最簡單的方式就是開啟瀏覽器,然後搜尋「我的 IP 位址」搜尋結果就會列出您的公開 IP 位址。如果您無法在執行上述操作後開啟瀏覽器,可以使用 dig
等公用程式。
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
您必須指定離自己最近的 Cloud SQL 執行個體區域。您可以執行下列指令來查看區域清單:
gcloud sql tiers list
每個級別僅適用於特定區域。在教學課程的 gcloud 部分,我們只是建立一個微型執行個體,因此您只要特別執行,即可找到這個級別的可用區域 (只要已安裝 grep 即可):
gcloud sql tiers list | grep db-f1-micro
建立執行個體本身的指令如下所示 (別忘了將 <AUTHORIZED_IP> 換成瀏覽器或 dig 中的 IP,以及將 <REGION> 替換成離您附近的 IP,以及根使用者「postgres」的密碼):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
這項作業會在幾分鐘內完成。
完成後,CLI 的輸出內容會列出執行個體的 PRIMARY_ADDRESS
。請複製這組 ID,以便進行下一個步驟。
3. 測試連線與包裝
如要驗證執行個體設定是否正確,請使用您輸入的 IP 位址機器在指令列中執行作業:
psql "host=<從上一步複製的 IP>port=5432 sslmode=disable user=postgres"
然後在建立 Cloud SQL 執行個體時,指定您設定的預設使用者密碼。
恭喜!如果一切順利,系統會顯示 Postgres 提示,並可針對資料庫執行指令。
後續步驟
查看一些程式碼研究室…