從 Cloud Run 連線
本頁面將逐步說明如何使用 Google Cloud 控制台和用戶端應用程式,在 Cloud Run 服務上部署範例應用程式。這個範例應用程式會將 Cloud Run 連線至 PostgreSQL 適用的 AlloyDB。
事前準備
- 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.
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
啟用必要的 Cloud API,以便在 Cloud Run 上執行 PostgreSQL 適用的 AlloyDB 範例應用程式。
在「確認專案」步驟中,按一下「下一步」,確認要變更的專案名稱。
在「啟用 API」步驟中,按一下「啟用」,啟用下列項目:
- AlloyDB API
- Cloud Run Admin API
- Compute Engine API
- Cloud Build API
- Container Registry API
- Service Networking API
- Cloud Resource Manager API
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
按一下 [Create cluster] (建立叢集)。
Google Cloud 控制台會提供叢集類型供您選擇。選取「高可用性」。
按一下「繼續」。
「設定叢集」部分會展開。
在「基本資訊」下方的「叢集 ID」欄位中,輸入
my-cluster
。在「Password」(密碼) 欄位中輸入任意密碼。請記下這組密碼,您會在稍後的快速入門導覽課程中再次使用。
在「Region」(區域) 欄位中,選取「
us-central1 (Iowa)
」。在「連線」的「網路」下拉式選單中,選取
default
。如果您尚未設定私人服務存取權,系統會顯示「必須使用私人服務連線」對話方塊。
在「Private services access connection required」(必須使用私人服務連線) 對話方塊中,如要建立私人服務連線,請完成下列步驟:
按一下「設定連線」。
系統會顯示標示為「啟用 Service Networking API」的新窗格。
在窗格中,選取「使用系統自動分配的 IP 範圍」。
按一下「繼續」。
按一下「建立連線」,然後等待連線設定完成。
窗格就會移除。
按一下「繼續」。
「設定主要執行個體」部分會展開。
在「基本資訊」下方的「Instance ID」(執行個體 ID) 欄位中輸入
my-primary
。選取「機器」值旁的
2 vCPU, 16 GB
。按一下 [Create cluster] (建立叢集)。
等待叢集建立完成。
如果不在新建立的叢集「總覽」頁面,請前往 Google Cloud 控制台的「叢集」頁面。
如要顯示叢集「總覽」頁面,請按一下
my-cluster
叢集名稱。在導覽選單中,按一下「AlloyDB Studio」。
在「Sign in to AlloyDB Studio」(登入 AlloyDB Studio) 頁面的「Database」(資料庫) 清單中,選取
postgres
。在「使用者」下拉式清單中,選取
postgres
。在「Password」(密碼) 欄位中,輸入您在「建立叢集及其主要執行個體」中建立的密碼。
按一下「驗證」。「Explorer」窗格會顯示資料庫中的物件清單。
在「Editor 1」分頁中,建立資料庫:
CREATE DATABASE quickstart_db;
按一下「執行」。等待「結果」窗格顯示
Statement executed successfully
訊息。前往 Google Cloud 控制台的「Dashboard」(資訊主頁) 頁面。
在「專案資訊」資訊卡中找出專案 ID。
記下專案 ID。您會在快速入門導覽課程的下一個步驟中使用。
在 Google Cloud 控制台中開啟 Cloud Shell。
在 Cloud Shell 編輯器中,使用下列指令從 GitHub 複製存放區和範例應用程式程式碼:
cloudshell_open --repo_url \ "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \ --dir \ "examples/go" \ --force_new_clone
在 Artifact Registry 中建立 Docker 映像檔存放區:
gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_ID
將
PROJECT_ID
替換為專案 ID。在「授權 Cloud Shell」對話方塊中,按一下「授權」。如果您先前已完成這個步驟,系統就不會顯示這項提示。
如要建構 Docker 容器並發布至 Artifact Registry,請使用下列指令:
gcloud builds submit --tag us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_ID
將
PROJECT_ID
替換為專案 ID。前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
在表格中找出「資源名稱」為
my-primary
的資料列。請記下該列的私人 IP 位址。您會在快速入門導覽課程的下一個步驟中使用。
IP 位址的格式範例為
172.19.209.2:5432
。前往 Google Cloud 控制台的「Cloud Run」頁面。
在「Services」(服務) 分頁中,按一下「Deploy Container」(部署容器)。
在「建立服務」頁面中,選取「透過現有的容器映像檔部署單一修訂版本」選項。
在「Container image URL」(容器映像檔網址) 欄位中,按一下「Select」(選取)。
在「Select container image」(選取容器映像檔) 窗格中,完成下列步驟:
- 選取「Artifact Registry」分頁標籤。
- 展開「
us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy
」。 - 展開「
run-sql
」。 - 選取最新的映像檔。
- 按一下「選取」。
在「Service name」(服務名稱) 欄位中輸入
quickstart-service
。確認「區域」清單預設選取「
us-central1 (Iowa)
」。在「Authentication」(驗證) 部分中,選取「Allow unauthenticated invocations」(允許未經驗證的叫用)。
確認已在「CPU allocation and pricing」(CPU 分配和定價) 部分選取「CPU is only allocated during request processing」(只在要求處理期間分配 CPU)。
展開「容器、磁碟區、網路與安全性」部分。
在「容器」分頁中,選取「變數和密鑰」分頁,然後完成下列步驟:
在「環境變數」部分,按一下「新增變數」。
在
Name
和Value
欄位中輸入下列內容:DB_NAME
:quickstart_db
DB_USER
:postgres
DB_PASS
:在「建立叢集及其主要執行個體」中建立叢集時輸入的密碼。DB_PORT
:5432
INSTANCE_HOST
:叢集主要執行個體的 IP 位址,您可以在「找出新執行個體的 IP 位址」中找到。請勿加入通訊埠編號,例如設為172.19.209.2
,而非172.19.209.2:5432
。
從「Container(s)」分頁切換至「Networking」分頁,然後完成下列步驟:
勾選「連線至虛擬私有雲,以傳出流量」核取方塊。
選取「直接將流量傳送至虛擬私有雲」選項。
在「Network」(網路) 下拉式清單中,選擇
default
值。在「子網路」下拉式清單中,確認已選取
default
值。
按一下「建立」,即可建立 Cloud Run 服務。
Cloud Run 服務部署完成後,「quickstart-service」頁面的「URL」欄位會顯示範例應用程式的網址。
應用程式使用 AlloyDB 做為資料儲存庫。
前往 Google Cloud 控制台的「Cloud Run」頁面。
在「quickstart-service」頁面中,按一下「複製到剪貼簿」content_copy,複製應用程式網址。
在新瀏覽器分頁中,貼上複製的應用程式網址,然後按一下 Enter 鍵。
顯示的投票收集網頁應用程式範例如下:
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
找到要刪除的
my-cluster
叢集,然後依序點按旁邊的「動作」圖示 more_vertdelete「刪除」。在隨即顯示的「Delete cluster」(刪除叢集) 對話方塊中,於「my-cluster」(我的叢集) 欄位中輸入
my-cluster
,確認要刪除叢集。點選「刪除」。
前往 Google Cloud 控制台的「Cloud Run」頁面。
選取「
quickstart-service
」服務名稱旁的核取方塊。按一下「Cloud Run」頁面頂端的「刪除」圖示 delete。
在隨即顯示的「Delete quickstart-service」(刪除快速入門服務) 對話方塊中,按一下「Delete」(刪除) 進行確認。
建立叢集及其主要執行個體
連線至執行個體並建立資料庫
找出專案 ID
將範例應用程式的映像檔填入 Artifact Registry
找出新執行個體的 IP 位址
建立 Cloud Run 服務
查看範例應用程式
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。