從本機電腦連線至 PostgreSQL 適用的 Cloud SQL
瞭解如何透過 Google Cloud 控制台和用戶端應用程式,在 Linux、macOS 或 Windows 本機電腦上部署連結至 PostgreSQL 執行個體的範例應用程式。
假設您及時完成所有步驟,這項快速入門導覽課程建立的資源通常不到一美元。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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 所需的權限,請要求管理員在您要建立及連線的專案中,授予您下列 IAM 角色:
-
建立或刪除執行個體、資料庫和使用者:
Cloud SQL 管理員角色 (
roles/cloudsql.admin)。 -
建立或刪除 IAM 服務帳戶:
IAM 服務帳戶管理員角色 (
roles/iam.serviceAccountAdmin)。 -
新增或移除 IAM 政策繫結:
專案 IAM 管理員角色 (
roles/resourcemanager.projectIamAdmin)。 - 建立、管理及輪換服務帳戶金鑰: 服務帳戶金鑰管理員 (roles/iam.serviceAccountKeyAdmin)。
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
設定 Cloud SQL
如要建立 Cloud SQL 執行個體,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 選取「PostgreSQL」分頁,然後按一下「沙箱」方塊中的「建立沙箱執行個體」。或者,您也可以按一下「建立執行個體」,然後完成下列步驟:
- 按一下「Choose PostgreSQL」(選擇 PostgreSQL)。
- 選取「Enterprise」版本。
- 選擇「Sandbox」預設設定。
- 如果系統提示您啟用 Compute API,請按一下「啟用 API」按鈕。
- 在「執行個體資訊」部分中,輸入
quickstart-instance做為「執行個體 ID」。 - 輸入 postgres 使用者的密碼。記下您建立的密碼,因為後續步驟會用到。
- 在「選擇區域和可用區供應情形」部分,選取「單一可用區」選項。
- 點選「建立執行個體」。
建立資料庫
控制台
-
前往 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 控制台的「Service accounts」(服務帳戶) 頁面。
- 點選名為「quickstart-service-account」的 IAM 帳戶編輯圖示 (看起來像鉛筆)。
- 刪除 Cloud SQL 用戶端角色。
- 按一下 [儲存]。
如果您未使用本快速入門導覽課程啟用的 API,可以停用這些 API。
- 本快速入門導覽課程中啟用的 API:
- Cloud SQL Admin API
- Identity and Access Management API
前往 Google Cloud 控制台的「APIs」頁面。
選取要停用的 API,然後按一下「停用 API」按鈕。
後續步驟
您可以根據需求,進一步瞭解如何建立 Cloud SQL 執行個體。您也可以瞭解如何建立 Cloud SQL 執行個體的 PostgreSQL 使用者和資料庫。
如要進一步瞭解定價,請參閱 PostgreSQL 適用的 Cloud SQL 定價。
請點選下列連結瞭解更多資訊:
此外,您也可以瞭解如何從其他 Google Cloud 應用程式連線至 Cloud SQL 執行個體:
