從本機電腦連線至 PostgreSQL 適用的 Cloud SQL
瞭解如何透過 Google Cloud 控制台和用戶端應用程式,在 Linux、macOS 或 Windows 本機電腦上部署連結至 PostgreSQL 執行個體的範例應用程式。
假設您及時完成所有步驟,這項快速入門導覽課程建立的資源通常不到一美元。
事前準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
啟用在本機電腦上執行 Cloud SQL 範例應用程式所需的 Cloud API。
控制台
按一下「Enable APIs」(啟用 API) 按鈕,啟用本快速入門導覽課程所需的 API。
這會啟用下列 API:
- Cloud SQL Admin API
- IAM API
gcloud
安裝 gcloud CLI,透過指令列存取 Google Cloud 資源。gcloud CLI 用於執行本快速入門導覽課程中顯示的
gcloud CLI
指令。所有指令都經過格式化,可在 Linux/macOS 終端機或 Windows Powershell 中執行。開啟終端機並執行下列
gcloud
指令:gcloud services enable sqladmin.googleapis.com iam.googleapis.com
這個指令會啟用下列 API:
- Cloud SQL Admin API
- IAM API
設定 Cloud SQL
建立 Cloud SQL 執行個體
控制台
建立具有公開 IP 位址的執行個體
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 點選「建立執行個體」。
- 按一下「Choose PostgreSQL」(選擇 PostgreSQL)。
- 在「Instance ID」(執行個體 ID) 中輸入
quickstart-instance
。 - 輸入 postgres 使用者的密碼。請儲存這個密碼,以供日後使用。
- 在「選擇區域和可用區供應情形」部分,點選「單一可用區」選項。
- 按一下並展開「Show Configuration Options」(顯示設定選項) 部分。
- 在「Machine Type」(機器類型) 下拉式選單中,選取「Lightweight」(輕量)。
按一下「建立執行個體」,然後等待執行個體初始化並啟動。
gcloud
建立具有公開 IP 位址的執行個體
執行下列 gcloud
sql instances create
指令前,請將 DB_ROOT_PASSWORD 替換為資料庫使用者的密碼。
視需要修改下列參數的值:
- --database_version:資料庫引擎類型和版本。 如未指定,系統會使用 API 預設值。 如要查看目前可用的版本,請參閱 gcloud database versions 說明文件。
- --cpu:要在機器中設定的核心數量。
- --memory:整數值,表示要在機器中設定的記憶體量。請提供大小單位 (例如 3072MB 或 9GB)。如未指定單位,系統會假設您使用的是 GB。
- --region:執行個體所在的區域位置 (例如 asia-east1、us-east1)。如未指定,系統會使用預設的
us-central
。 查看完整區域清單。
執行 gcloud
sql instances create
指令,建立 Cloud SQL 執行個體。
gcloud sql instances create quickstart-instance --database-version=POSTGRES_13 --cpu=1 --memory=4GB --region=us-central --root-password=DB_ROOT_PASSWORD
建立資料庫
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 選取「
quickstart-instance
」。 - 開啟「資料庫」分頁。
- 按一下 [Create database] (建立資料庫)。
- 在「New database」(新增資料庫) 對話方塊中,輸入
quickstart_db
做為資料庫名稱。
- 點選「建立」。
gcloud
執行 gcloud
sql databases create
指令來建立資料庫。
gcloud sql databases create quickstart_db --instance=quickstart-instance
新增使用者
控制台
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在「SQL」導覽選單中選取「使用者」。
- 按一下「新增使用者帳戶」。
- 在「Add a user account to instance instance_name」(在執行個體「instance_name」中新增使用者帳戶) 頁面中,
新增下列資訊:
- 在「Username」(使用者名稱) 欄位中輸入
quickstart-user
。 - 在「Password」(密碼) 欄位中,指定資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。
- 在「Username」(使用者名稱) 欄位中輸入
- 按一下「新增」。
gcloud
更改下列內容:
- PASSWORD,並提供資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。
執行 gcloud sql users create
指令來建立使用者。
gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD
Cloud SQL 的使用者名稱長度限制與地端 PostgreSQL 相同。
設定服務帳戶
控制台
建立服務帳戶
- 前往 Google Cloud 控制台的「Create service account」(建立服務帳戶) 頁面。
- 選取 Google Cloud 專案。
- 輸入
quickstart-service-account
做為服務帳戶名稱。 - 選用:輸入服務帳戶的說明。
- 按一下「建立並繼續」,然後繼續進行下一個步驟。
- 選擇要授予專案服務帳戶的 Cloud SQL 用戶端角色。
- 按一下「繼續」。
- 按一下「Done」(完成),即完成建立服務帳戶。
建立並下載服務帳戶金鑰檔案
- 前往 Google Cloud 控制台的「Service accounts」(服務帳戶) 頁面。
- 選取專案。
- 點選要建立金鑰的
quickstart-service-account
服務帳戶電子郵件地址。 - 按一下「Keys」(金鑰) 分頁標籤。
- 按一下「Add key」(新增金鑰) 下拉式選單,然後選取「Create new key」(建立新的金鑰)。
- 選取「JSON」做為金鑰類型,然後按一下「Create」(建立)。
按一下「Create」(建立),即可下載服務帳戶金鑰檔案。金鑰檔案下載後,就不能再次下載。
請務必妥善保存金鑰檔案,因為此檔案可當做服務帳戶進行驗證。您可以任意移動及重新命名這個檔案。
gcloud
建立服務帳戶
- 如要建立服務帳戶,請執行
gcloud iam service-accounts create
指令: DESCRIPTION
:服務帳戶的選填說明- 如要為專案中的服務帳戶授予 Cloud SQL 用戶端角色,請執行
gcloud projects add-iam-policy-binding
指令。將 PROJECT_ID 替換為您的 Google Cloud 專案 ID:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client"
gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"
請替換下列值:
建立並下載服務帳戶金鑰檔案
如要從本機電腦使用剛建立的服務帳戶,您需要服務帳戶金鑰檔案,才能將範例應用程式驗證為服務帳戶。如要建立及下載服務帳戶金鑰檔案,請執行 gcloud iam service-accounts keys create
指令:
gcloud iam service-accounts keys create KEY_FILE --iam-account=quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com
替換下列值:
-
KEY_FILE
:私密金鑰的新輸出檔案路徑,例如~/sa-private-key.json
。 -
PROJECT_ID
:您的 Google Cloud 專案 ID。
服務帳戶金鑰檔案會下載至本機。金鑰檔案下載後,就不能再次下載。
請務必妥善保存金鑰檔案,因為任何人都能使用此檔案,當做服務帳戶進行驗證。您可以任意移動及重新命名這個檔案。
為程式設計語言設定開發環境
為偏好的程式設計語言設定本機電腦的開發環境。
Go
請完成下列步驟,設定開發環境來執行 Go 範例應用程式。
- 前往 Go 開發環境設定指南。
- 完成「安裝 Go」一節中的操作說明。
Java
請完成下列步驟,設定開發環境來執行 Java 範例應用程式。
- 前往 Java 開發環境設定指南。
- 完成「安裝 JDK (Java Development Kit)」一節中的指示。
- 按照「安裝自動化建置工具」一文中的操作說明,設定 Apache Maven。
Node.js
請完成下列步驟,設定開發環境來執行 Node.js 範例應用程式。
- 請參閱 Node.js 開發環境設定指南。
- 請按照「安裝 Node.js 和 npm」一節中的說明操作。
Python
請完成下列步驟,設定開發環境來執行 Python 範例應用程式。
- 請參閱 Python 開發環境設定指南。
- 完成「安裝 Python」一節中的操作說明。
安裝 Git
安裝開放原始碼的版本管控系統 Git。
複製範例應用程式
使用 git clone
指令,將範例應用程式複製到本機電腦。
Go
執行下列指令,將 Go 範例應用程式複製到本機電腦,並將目錄變更為包含範例應用程式的目錄。
-
複製範例應用程式。
git clone https://github.com/GoogleCloudPlatform/golang-samples
-
將目錄變更為包含範例應用程式的目錄。
cd golang-samples/cloudsql/postgres/database-sql
Java
執行下列指令,將 Java 範例應用程式複製到本機電腦,然後將目錄變更為包含範例應用程式的目錄。
-
複製範例應用程式。
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
-
將目錄變更為包含範例應用程式的目錄。
cd java-docs-samples/cloud-sql/postgres/servlet
Node.js
執行下列指令,將 Node.js 範例應用程式複製到本機電腦,然後將目錄變更為包含範例應用程式的目錄。
-
複製範例應用程式。
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
-
將目錄變更為包含範例應用程式的目錄。
cd nodejs-docs-samples/cloud-sql/postgres/knex
Python
執行下列指令,將 Python 範例應用程式複製到本機電腦,然後將目錄變更為包含範例應用程式的目錄。
-
複製範例應用程式。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
將目錄變更為包含範例應用程式的目錄。
cd python-docs-samples/cloud-sql/postgres/sqlalchemy
設定及執行範例應用程式
設定並執行範例應用程式。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 選取
quickstart-instance
執行個體,開啟「Instance details」(執行個體詳細資料) 頁面。 - 在頁面頂端的圖示列中,按一下 [刪除]。
- 在「Delete instance」(刪除執行個體) 對話方塊中輸入
quickstart-instance
,然後按一下「Delete」(刪除) 以刪除執行個體。
選用清除步驟
如果您未使用指派給 quickstart-service-account
服務帳戶的 Cloud SQL 用戶端角色,可以移除該角色。
-
前往 Google Cloud 控制台的「IAM」頁面。
- 點選名為「quickstart-service-account」的 IAM 帳戶編輯圖示 (看起來像鉛筆)。
- 刪除 Cloud SQL 用戶端角色。
- 按一下 [儲存]。
如果您未使用本快速入門導覽課程啟用的 API,可以停用這些 API。
- 本快速入門導覽課程中啟用的 API:
- Cloud SQL Admin API
- Identity and Access Management API
前往 Google Cloud 控制台的「API」頁面。
選取要停用的 API,然後按一下「停用 API」按鈕。
後續步驟
您可以根據需求,進一步瞭解如何建立 Cloud SQL 執行個體。您也可以瞭解如何為 Cloud SQL 執行個體建立 PostgreSQL 使用者和資料庫。
如要進一步瞭解定價,請參閱 PostgreSQL 適用的 Cloud SQL 定價。
請點選下列連結瞭解更多資訊:
此外,您也可以瞭解如何從其他 Google Cloud 應用程式連線至 Cloud SQL 執行個體: