從 Cloud Run 連線至 MySQL 適用的 Cloud SQL
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
瞭解如何透過 Google Cloud 控制台和用戶端應用程式,在 Cloud Run 上部署連結至 MySQL 執行個體的範例應用程式。
假設您及時完成所有步驟,這項快速入門導覽課程建立的資源通常不到一美元。
如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導):
事前準備
- 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 Run 上執行 Cloud SQL 範例應用程式所需的 Cloud API。
按一下「Enable APIs」(啟用 API),啟用本快速入門所需的 API。
這會啟用下列 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
按一下下列按鈕開啟 Cloud Shell,直接在瀏覽器中使用指令列存取 Google Cloud 資源。您可以使用 Cloud Shell 執行本快速入門導覽課程中的
gcloud
指令。使用 Cloud Shell 執行下列
gcloud
指令:gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \ containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
這個指令會啟用下列 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
設定 Cloud SQL
建立 Cloud SQL 執行個體
公開 IP
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 點選「建立執行個體」。
- 按一下「Choose MySQL」(選擇 MySQL)。
- 請確認執行個體的 Cloud SQL 版本為「Enterprise Plus」。
- 在「Instance ID」(執行個體 ID) 欄位中輸入
quickstart-instance
。 - 在「Password」(密碼) 欄位中,輸入超級使用者的密碼。請儲存這個密碼,以供日後使用。
- 在「選擇區域和可用區供應情形」部分,選取「單一可用區」。
- 按一下「顯示設定選項」選單。
- 展開「機器設定」節點。
- 在「機器類型」區域中,選取「4 個 vCPU,32 GB」類型。
- 按一下「建立執行個體」,然後等待執行個體初始化並啟動。
執行下列指令前,請將 DB_ROOT_PASSWORD 替換為資料庫使用者的密碼。
視需要修改下列參數的值:
- --database-version:資料庫引擎類型和版本。 如未指定,系統會使用 API 預設值。 如要查看目前可用的版本,請參閱 gcloud 資料庫版本說明文件。
- --cpu:機器中所需的核心數量。
- --memory:整數值,表示機器所需的記憶體量。請提供大小單位 (例如 3072MB 或 9GB)。如未指定單位,系統會假設您使用的是 GB。
- --region:執行個體所在的區域位置 (例如 asia-east1、us-east1)。如未指定,系統會使用預設的
us-central
。
執行 gcloud
sql instances create
指令,建立 Cloud SQL 執行個體。
gcloud sql instances createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD
私人 IP
分配 IP 位址範圍並建立私人連線,以便設定 Cloud SQL 的私人服務存取權
-
在 Google Cloud 控制台中,前往「VPC networks」(虛擬私有雲網路) 頁面。
- 選取
default
虛擬私有雲網路。 - 選取 [Private service connection] (私人服務連線) 分頁標籤。
- 選取「Allocated IP ranges for services」(已分配的服務 IP 範圍) 分頁標籤。
- 按一下「Allocate IP range」(分配 IP 範圍)。
- 為分配範圍的「Name」(名稱) 指定
google-managed-services-default
。 - 選取 IP 範圍的「自動」選項,並將前置字串長度指定為
16
。 - 按一下 [Allocate] (分配),建立已分配範圍。
- 選取
default
虛擬私有雲網路的「Private connections to services」(私人服務連線) 分頁。 - 按一下「建立連線」,在網路與服務生產端之間建立私人連線。
- 在「已指派的分配範圍」部分,選取「
google-managed-services-default
」。 - 按一下 [Connect] (連線) 建立連線。
建立啟用 SSL 的私人 IP 位址執行個體
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 點選「建立執行個體」。
- 按一下「Choose MySQL」(選擇 MySQL)。
- 請確認執行個體的 Cloud SQL 版本為「Enterprise Plus」。
- 在「Instance ID」(執行個體 ID) 欄位中輸入
quickstart-instance
。 - 在「Password」(密碼) 欄位中,輸入超級使用者的密碼。請儲存這個密碼,以供日後使用。
- 在「選擇區域和可用區供應情形」部分,選取「單一可用區」。
- 按一下「顯示設定選項」選單。
- 展開「機器設定」節點。
- 在「機器類型」區域中,選取「4 個 vCPU,32 GB」類型。
- 展開「連線」節點。
- 取消勾選「公開 IP」核取方塊,即可建立只有私人 IP 位址的執行個體。
- 勾選「Private IP」(私人 IP) 核取方塊。
- 從「Network」(網路) 選單中,選取「default」(預設)。
- 按一下「建立執行個體」,然後等待執行個體初始化並啟動。
- 按一下「連線」。
- 在「安全性」部分,選取「僅允許 SSL 連線」即可啟用 SSL 連線。
- 在「啟用 SSL」對話方塊中,按一下「啟用並重新啟動」,然後等待執行個體重新啟動。
分配 IP 位址範圍並建立私人連線,以便設定 Cloud SQL 的私人服務存取權
-
執行
gcloud compute addresses create
指令,分配 IP 位址範圍。gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
執行
gcloud services vpc-peerings connect
指令,建立與已分配 IP 位址範圍的私人連線。將 YOUR_PROJECT_ID 替換為專案的專案 ID。gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
建立啟用 SSL 的私人 IP 位址執行個體
-
執行下列指令前,請將 DB_ROOT_PASSWORD 替換為資料庫使用者的密碼。
- --database-version:資料庫引擎類型和版本。 如未指定,系統會使用 API 預設值。 如要查看目前可用的版本,請參閱 gcloud 資料庫版本說明文件。
- --cpu:機器中的核心數量。
- --memory:整數值,表示要納入機器的記憶體容量。可以提供大小單位 (例如 3072MB 或 9GB)。如未指定單位,系統會假設您使用的是 GB。
- --region:執行個體所在的區域位置 (例如 asia-east1、us-east1)。如未指定,系統會使用預設的
us-central1
。 查看完整區域清單。 執行
gcloud sql instances patch
指令,為執行個體啟用「僅允許 SSL 連線」。
視需要修改下列參數的值:
執行 gcloud
sql instances create
指令,建立使用私人 IP 位址的 Cloud SQL 執行個體。
gcloud sql instances createquickstart-instance \ --database-version=MYSQL_8_0 \ --cpu=1 \ --memory=4GB \ --region=us-central1 \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
建立資料庫
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 選取「
quickstart-instance
」。 - 在 SQL 導覽選單中,選取「資料庫」。
- 按一下 [Create database] (建立資料庫)。
- 在「Create a database」(建立資料庫) 對話方塊的「Database name」(資料庫名稱) 欄位中,輸入
quickstart-db
。保留字元集和定序的值。 - 點選「建立」。
執行 gcloud
sql databases create
指令來建立資料庫。
gcloud sql databases createquickstart-db --instance=quickstart-instance
新增使用者
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 在 SQL 導覽選單中選取「使用者」。
- 按一下「新增使用者帳戶」。
- 在「Add a user account to instance instance_name」(在執行個體「instance_name」中新增使用者帳戶) 頁面中,
新增下列資訊:
- 使用者名稱:設為
quickstart-user
- 密碼:指定資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。
- 在「主機名稱」部分,預設為「允許任何主機」,表示使用者可以從任何 IP 位址連線。
(選用) 選取「依 IP 位址或位址範圍限制主機」, 然後在「主機」部分輸入 IP 位址或位址範圍。 使用者只能從指定的 IP 位址或位址連線。
- 使用者名稱:設為
- 按一下「新增」。
執行下列指令前,請先進行下列替換:
- PASSWORD,並提供資料庫使用者的密碼。 請記下這個值,本快速入門導覽課程的後續步驟會用到。
執行 gcloud sql users create
指令來建立使用者。
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
Cloud SQL 的使用者名稱長度限制與地端 MySQL 相同:MySQL 8.0 以上版本為 32 個字元,舊版則為 16 個字元。
將範例應用程式部署至 Cloud Run
設定 Cloud Run 服務帳戶
-
前往 Google Cloud 控制台的「IAM」頁面。
- 針對名為「Compute Engine 預設服務帳戶」的服務帳戶,按一下鉛筆圖示。
- 按一下「新增其他角色」。
- 新增名為「Cloud SQL Client」的角色。
- 按一下 [儲存]。
-
執行下列
gcloud
指令,取得專案的服務帳戶清單:gcloud iam service-accounts list
- 複製 Compute Engine 服務帳戶的電子郵件地址。
- 執行下列指令,將「Cloud SQL Client」(Cloud SQL 用戶端) 角色新增至 Compute Engine 服務帳戶:
gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL " \ --role="roles/cloudsql.client"
設定 Cloud SQL 範例應用程式
有了 Cloud SQL 執行個體、資料庫和具備用戶端權限的服務帳戶,您現在可以設定範例應用程式,連線至 Cloud SQL 執行個體。
公開 IP
如果是公開 IP 路徑,Cloud Run 會提供加密功能,並透過 Unix Socket 使用 Cloud SQL Auth Proxy 建立連線。-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 - 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成您的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
- 在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
- 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=gcr.io/
YOUR_PROJECT_ID /run-sql -DskipTests
- 在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
- 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 - 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
私人 IP
如果是私人 IP 路徑,應用程式會透過無伺服器虛擬私有雲端存取,直接連線至執行個體。這個方法會使用 TCP Socket 直接連線至 Cloud SQL 執行個體,不需使用 Cloud SQL Auth Proxy。建立及下載 SSL 伺服器和用戶端憑證
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 按一下
quickstart-instance
即可查看「總覽」頁面 - 按一下「連結」分頁標籤。
- 在「安全性」部分下方,按一下「建立用戶端憑證」。
- 在「Create a client certificate」(建立用戶端憑證) 對話方塊中,輸入
quickstart-key
做為名稱,然後按一下「Create」(建立)。 在「New SSL certificate created」(已建立新的 SSL 憑證) 對話方塊中,按一下每個下載連結即可下載憑證。然後按一下「關閉」。
建立無伺服器虛擬私有雲連線,透過私人 IP 連線至執行個體
-
在 Google Cloud 控制台中,前往「無伺服器虛擬私有雲存取」-「建立連接器」頁面。
- 輸入
quickstart-connector
做為名稱。 - 從「網路」下拉式選單中選取「預設」
- 從「子網路」下拉式選單中選取「自訂 IP 範圍」
- 在「IP 範圍」輸入方塊中輸入
10.8.0.0
- 按一下「建立」來建立連接器。
使用 SSL 憑證建構範例應用程式
-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 -
在
Open in Cloud Shell
對話方塊中,按一下「確認」,下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。 -
將 SSL 憑證檔案上傳至 certs 資料夾。
- 在 Cloud Shell 編輯器中,對「certs」資料夾按一下滑鼠右鍵,然後選取「Upload Files」。
- 在本機電腦上選取下列檔案:
client-key.pem
client-cert.pem
server-ca.pem
- 選取這三個 SSL 憑證檔案,然後按一下「開啟」,完成將檔案上傳至 Cloud Shell 編輯器的程序。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成您的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
建立及下載 SSL 伺服器和用戶端憑證
Java 使用者可直接透過連接器建立安全連線,因此不必建立及下載 SSL 伺服器和用戶端憑證。
建立無伺服器虛擬私有雲連線,透過私人 IP 連線至執行個體
-
在 Google Cloud 控制台中,前往「無伺服器虛擬私有雲存取」-「建立連接器」頁面。
- 輸入
quickstart-connector
做為名稱。 - 從「網路」下拉式選單中選取「預設」
- 從「子網路」下拉式選單中選取「自訂 IP 範圍」
- 在「IP 範圍」輸入方塊中輸入
10.8.0.0
- 按一下「建立」來建立連接器。
建構範例應用程式
-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 - 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=gcr.io/
YOUR_PROJECT_ID /run-sql -DskipTests
建立及下載 SSL 伺服器和用戶端憑證
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 按一下
quickstart-instance
即可查看「總覽」頁面 - 按一下「連結」分頁標籤。
- 在「安全性」部分下方,按一下「建立用戶端憑證」。
- 在「Create a client certificate」(建立用戶端憑證) 對話方塊中,輸入
quickstart-key
做為名稱,然後按一下「Create」(建立)。 在「New SSL certificate created」(已建立新的 SSL 憑證) 對話方塊中,按一下每個下載連結即可下載憑證。然後按一下「關閉」。
建立無伺服器虛擬私有雲連線,透過私人 IP 連線至執行個體
-
在 Google Cloud 控制台中,前往「無伺服器虛擬私有雲存取」-「建立連接器」頁面。
- 輸入
quickstart-connector
做為名稱。 - 從「網路」下拉式選單中選取「預設」
- 從「子網路」下拉式選單中選取「自訂 IP 範圍」
- 在「IP 範圍」輸入方塊中輸入
10.8.0.0
- 按一下「建立」來建立連接器。
使用 SSL 憑證建構範例應用程式
-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 - 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
將 SSL 憑證檔案上傳至 certs 資料夾。
- 在 Cloud Shell 編輯器中,對「certs」資料夾按一下滑鼠右鍵,然後選取「Upload Files」
- 在本機電腦上選取下列檔案:
client-key.pem
client-cert.pem
server-ca.pem
- 選取這三個 SSL 憑證檔案,然後按一下「開啟」,完成將檔案上傳至 Cloud Shell 編輯器的程序。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
建立及下載 SSL 伺服器和用戶端憑證
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 按一下
quickstart-instance
即可查看「總覽」頁面 - 按一下「連結」分頁標籤。
- 在「安全性」部分下方,按一下「建立用戶端憑證」。
- 在「Create a client certificate」(建立用戶端憑證) 對話方塊中,輸入
quickstart-key
做為名稱,然後按一下「Create」(建立)。 在「New SSL certificate created」(已建立新的 SSL 憑證) 對話方塊中,按一下每個下載連結即可下載憑證。然後按一下「關閉」。
建立無伺服器虛擬私有雲連線,透過私人 IP 連線至執行個體
-
在 Google Cloud 控制台中,前往「無伺服器虛擬私有雲存取」-「建立連接器」頁面。
- 輸入
quickstart-connector
做為名稱。 - 從「網路」下拉式選單中選取「預設」
- 從「子網路」下拉式選單中選取「自訂 IP 範圍」
- 在「IP 範圍」輸入方塊中輸入
10.8.0.0
- 按一下「建立」來建立連接器。
使用 SSL 憑證建構範例應用程式
-
在 Cloud Shell 編輯器中開啟範例應用程式的原始碼。
開啟 Cloud Shell 編輯器 - 在「Open in Cloud Shell」(在 Cloud Shell 中開啟) 對話方塊中,按一下「Confirm」(確認),下載範例應用程式程式碼,並在 Cloud Shell 編輯器中開啟範例應用程式目錄。
-
將 SSL 憑證檔案上傳至 certs 資料夾。
- 在 Cloud Shell 編輯器中,對「certs」資料夾按一下滑鼠右鍵,然後選取「Upload Files」
- 在本機電腦上選取下列檔案:
client-key.pem
client-cert.pem
server-ca.pem
- 選取這三個 SSL 憑證檔案,然後按一下「開啟」,完成將檔案上傳至 Cloud Shell 編輯器的程序。
-
在 Cloud Shell 中執行下列指令,建構 Docker 容器並發布至 Container Registry。
請將 YOUR_PROJECT_ID 改成專案的專案 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
部署範例應用程式
將範例部署至 Cloud Run 的步驟,取決於您指派給 Cloud SQL 執行個體的 IP 位址類型。
圖片連結方法會因設定的環境變數而異。
- 如要使用 TCP 連線,請設定
INSTANCE_HOST
環境變數的值。這個連線方法會採用以環境變數形式設定的憑證和通訊埠。 - 如要使用 Unix Socket 連線,請設定
INSTANCE_UNIX_SOCKET
環境變數的值。請勿設定
INSTANCE_HOST
環境變數的值。Java 本身不支援 Unix Socket。如果應用程式是以 Java 編寫,則必須使用 Cloud SQL Java 連接器。
- 如要使用其中一個 Cloud SQL 語言連接器連線,請設定
INSTANCE_CONNECTION_NAME
和DB_IAM_HOST
環境變數的值。請勿為下列環境變數設定值:
INSTANCE_HOST
INSTANCE_UNIX_SOCKET
DB_PORT
DB_ROOT_CERT
DB_CERT
DB_KEY
3307
上建立與 Cloud SQL 的連線。
公開 IP
-
前往 Google Cloud 控制台的「Cloud Run」頁面。
-
按一下「建立容器」,然後選取「服務」,顯示「建立服務」表單。
- 按一下「容器映像檔網址」輸入欄位中的「選取」按鈕。
- 選取您在上一個步驟中建立的
gcr.io/YOUR_PROJECT_ID/run-sql
容器映像檔。 - 輸入
quickstart-service
做為服務名稱。 - 在「驗證」部分中,選取
Allow unauthenticated invocations
選項。如果您沒有權限 (Cloud Run 管理員角色) 可選取這個選項,服務會部署並要求驗證。 - 展開「Container, Variables & Secrets, Connections, Security」(容器、變數和密鑰、連線、安全性) 專區。
- 點選「環境變數」下方的「新增變數」,建立下列
Environment variables
。 按照下列方式設定環境變數的值: - INSTANCE_UNIX_SOCKET:設為
/cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance
。 - INSTANCE_CONNECTION_NAME:設為執行個體的「連線名稱」,該名稱會顯示在 Google Cloud 控制台的「Cloud SQL 執行個體」頁面上。
- DB_NAME:設為
quickstart-db
。 - DB_USER:設為
quickstart-user
。 - DB_PASS:設為您在先前的「建立使用者」快速入門步驟中指定的
quickstart-user
密碼。 -
啟用連線至 Cloud SQL:
- 按一下「連結」分頁標籤。
- 按一下「Cloud SQL connections」(Cloud SQL 連線) 區段下方的「Add Connection」(新增連線) 按鈕。
- 從下拉式選單中選取先前建立的
quickstart-instance
。
-
如要建立 Cloud Run 服務,請按一下「建立」。
- Cloud Run 服務部署完成後,「Service details」(服務詳細資料) 頁面頂端會顯示執行中服務的「URL」(網址)。
按一下「URL」連結,即可在 Cloud Run 上查看已部署的範例應用程式,該應用程式已連線至 Cloud SQL。
執行下列指令前,請先進行下列替換:
- YOUR_PROJECT_ID 為您的專案 ID。
-
INSTANCE_CONNECTION_NAME,並將其換成執行個體的連線名稱,該名稱會顯示在 Google Cloud 控制台的「Cloud SQL 執行個體」頁面上。
-
將 DB_PASS 換成您在上一個「建立使用者」快速入門步驟中建立的
quickstart-user
密碼。 -
看到 Cloud Run 服務已部署的確認訊息後,請按一下訊息中的「服務網址」連結,查看連線至 Cloud SQL 的 Cloud Run 範例應用程式。
執行下列 gcloud run deploy
指令,建立 Cloud Run 服務。
環境變數會因您想使用的連線方法而異:
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME " \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS "
系統提示指定區域時,請輸入 us-central1
提供的數字選項。
私人 IP
-
前往 Google Cloud 控制台的「Cloud Run」頁面。
-
按一下「建立容器」,然後選取「服務」,顯示「建立服務」表單。
- 保留從現有容器映像檔部署的選項,然後按一下「選取」,指定您在上一步建立的
gcr.io/YOUR_PROJECT_ID/run-sql
容器映像檔。 - 輸入
quickstart-service
做為服務名稱。 - 在「驗證」部分中,選取
Allow unauthenticated invocations
選項。如果您沒有權限 (Cloud Run 管理員角色) 可選取這個選項,服務會部署並要求驗證。 - 展開「Container, Variables & Secrets, Connections, Security」(容器、變數和密鑰、連線、安全性) 專區。
- 按一下「環境變數」下方的「新增變數」,建立下列環境變數。按照下列方式設定環境變數的值:
DB_NAME
:設為quickstart-db
。DB_USER
:設為quickstart-user
。DB_PASS
:設為您在先前的「建立使用者」快速入門步驟中指定的quickstart-user
密碼。INSTANCE_CONNECTION_NAME
:設為執行個體的「連線名稱」,該名稱會顯示在 Google Cloud 控制台的「Cloud SQL 執行個體」頁面上。DB_PORT
:設為3306
。DB_ROOT_CERT
:設為certs/server-ca.pem
。DB_CERT
:設為certs/client-cert.pem
。DB_KEY
:設為certs/client-key.pem
。PRIVATE_IP
:設為TRUE
。-
啟用連線至 Cloud SQL:
- 按一下「連線」。
- 按一下「Cloud SQL connections」(Cloud SQL 連線) 部分中的「Add connection」(新增連線)。
- 選取您先前建立的
quickstart-instance
Cloud SQL 執行個體。 - 從「VPC Network」(虛擬私有雲網路) 下拉式選單中選取
default: Serverless VPC Access Connector "quickstart-connector"
。 - 選取「透過虛擬私有雲連接器轉送所有流量」選項。
-
按一下「建立」即可建立 Cloud Run 服務。
- 部署 Cloud Run 服務後,「服務詳細資料」頁面頂端會顯示執行中服務的網址。按一下「URL」連結,即可在 Cloud Run 上查看已部署的範例應用程式,該應用程式已連線至 Cloud SQL。
執行下列指令前,請先進行下列替換:
- YOUR_PROJECT_ID 為您的專案 ID。
-
INSTANCE_CONNECTION_NAME,並將其換成執行個體的連線名稱,該名稱會顯示在 Google Cloud 控制台的「Cloud SQL 執行個體」頁面上。
-
將 DB_PASS 換成您在上一個「建立使用者」快速入門步驟中建立的
quickstart-user
密碼。 -
看到 Cloud Run 服務已部署的確認訊息後,請按一下訊息中的「服務網址」連結,查看連線至 Cloud SQL 的 Cloud Run 範例應用程式。
執行下列 gcloud run deploy
指令,建立 Cloud Run 服務。環境變數會因您想使用的連線方法而異:
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME \ --vpc-connector="quickstart-connector " --vpc-egress=all-traffic \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS " \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME " \ --set-env-vars DB_ROOT_CERT="certs/server-ca.pem" \ --set-env-vars DB_CERT="certs/client-cert.pem" \ --set-env-vars DB_KEY="certs/client-key.pem" \ --set-env-vars PRIVATE_IP="TRUE"
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME \ --vpc-connector="quickstart-connector " --vpc-egress=all-traffic \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS " \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME "
系統提示指定區域時,請輸入 us-central1
提供的數字選項。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
-
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
- 選取
quickstart-instance
執行個體,開啟「Instance details」(執行個體詳細資料) 頁面。 - 在頁面頂端的圖示列中,按一下 [刪除]。
- 在「Delete instance」(刪除執行個體) 對話方塊中輸入
quickstart-instance
,然後按一下「Delete」(刪除) 刪除執行個體。 -
前往 Google Cloud 控制台的「Cloud Run」頁面。
- 選取「
quickstart-service
」服務名稱旁的核取方塊。 - 按一下 Cloud Run 頁面頂端的「刪除」。
選用清除步驟
如果您未使用指派給 Compute Engine 服務帳戶的 Cloud SQL 用戶端角色,可以移除該角色。
-
前往 Google Cloud 控制台的「IAM」頁面。
- 按一下名為「Compute Engine default service account」的 IAM 帳戶編輯圖示 (看起來像鉛筆)。
- 刪除 Cloud SQL 用戶端角色。
- 按一下 [儲存]。
如果您未使用本快速入門導覽課程啟用的 API,可以停用這些 API。
- 本快速入門導覽課程中啟用的 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
前往 Google Cloud 控制台的「API」頁面。
選取要停用的 API,然後按一下「停用 API」按鈕。
後續步驟
您可以根據需求,進一步瞭解如何建立 Cloud SQL 執行個體。您也可以瞭解如何建立 Cloud SQL 執行個體的 MySQL 使用者和資料庫。
如要進一步瞭解定價,請參閱 MySQL 適用的 Cloud SQL 定價。
請點選下列連結瞭解更多資訊:
此外,您也可以瞭解如何從其他 Google Cloud 應用程式連線至 Cloud SQL 執行個體: