建立及驗證範本
本快速入門導覽課程可協助您建立及部署三層式網頁應用程式範本,其中包含前端、後端和資料庫元件。下圖顯示設計畫布,包括應用程式元件和連線。
您可以使用下列任一方式設計範本:
- App Design Center 的設計畫布。
- Gemini Cloud Assist 中的自然語言提示。
- 應用程式設計中心 Google Cloud CLI。
完成設計後,請在 App Design Center 部署測試應用程式,驗證範本。
如要直接在 Google Cloud 控制台中,按照這項工作的逐步指南操作,請按一下「Guide me」(逐步引導):
事前準備
設定工具
您可以使用下列其中一種方式完成本快速入門導覽課程。
使用 Google Cloud 控制台中的設計畫布。
如要使用 Gemini Cloud Assist 建立設計,請參閱「設定 Gemini Cloud Assist」。
- 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.
-
Install the Google Cloud CLI.
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
Install the Google Cloud CLI.
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init 為建立範本,請確保您在管理專案具備下列其中一個角色:
- App Design Center 管理員 (
roles/designcenter.admin)。 - App Design Center 使用者 (
roles/designcenter.user)。
- App Design Center 管理員 (
為部署應用程式,請確保您在管理專案具備下列其中一個角色:
如要在部署期間建立服務帳戶,請確保您具備下列角色:
如要建立服務帳戶,您必須在管理專案中擁有「建立服務帳戶」(
roles/iam.serviceAccountCreator) 角色。如要授予服務帳戶子系專案的存取權,您必須在子系專案中具備「專案 IAM 管理員」(
roles/resourcemanager.projectIamAdmin) 角色。
前往 Google Cloud 控制台的「Templates」(範本) 頁面。
點選「建立範本」,然後輸入下列詳細資料:
在「Template ID」(範本 ID) 欄位輸入
quickstart-three-tier-web-app。在「Template Name」(範本名稱) 欄位輸入
Quickstart three-tier web app。在「Description」(說明) 欄位輸入
A template to generate a three-tier web application。點選「Create template」(建立範本)。
系統會建立範本,並顯示設計畫布。
在「Components」(元件) 區塊點選下列元件,將其新增至設計畫布:
- 「Cloud Run」 (新增兩項元件)
- 「Cloud SQL (PostgreSQL)」
為了在元件之間建立連線,請按照下列步驟操作:
從「cloud-run-1」底部的藍點拖曳至「cloud-run-2」頂端的藍點。
從「cloud-run-2」底部的藍點拖曳至「sql-postgresql-1」頂端的藍點。
範本內含三項元件。畫布會顯示元件之間的線條,代表連線。
在 Google Cloud 控制台工具列中,按一下「spark」開啟或關閉 Gemini Cloud Assist 對話。
「Cloud Assist」面板隨即開啟。
在 Gemini Cloud Assist 對話中輸入下列提示:
I want to create a three-tier web application.Gemini Cloud Assist 會生成三層式網頁應用程式的基本設計。
如要移除負載平衡器和 Secret Manager 元件,請輸入下列提示:
I don't need load balancers or Secret Manager.Gemini Cloud Assist 會更新設計,移除元件。
查看更新後的設計,其中包含下列元件:
- Cloud Run (兩項元件)
- PostgreSQL 適用的 Cloud SQL
按一下「編輯應用程式設計」。
系統會顯示「建立新範本」頁面。
輸入下列範本詳細資料:
在「Template ID」(範本 ID) 欄位輸入
quickstart-three-tier-web-app。在「Template Name」(範本名稱) 欄位輸入
Quickstart three-tier web app。在「Description」(說明) 欄位輸入
A template to generate a three-tier web application。
點選「Create template」(建立範本)。
系統會建立新的範本,並顯示設計畫布。
建立應用程式範本。
gcloud design-center spaces application-templates create quickstart-three-tier-web-app \ --display-name="Quickstart three-tier web app" \ --description="A template to generate a three-tier web application" \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID列出 Google 目錄中的共用範本。
gcloud design-center spaces shared-templates list \ --google-catalog \ --location=us-central1- 找出 Cloud Run 和 Cloud SQL 的共用範本 ID。
新增做為前端的 Cloud Run 元件。
gcloud design-center spaces application-templates components create cloud-run-1 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID新增第二個 Cloud Run 元件,做為後端。
gcloud design-center spaces application-templates components create cloud-run-2 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/1b5e09c8-780f-484e-b8ed-c7178f4e4342 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID新增 Cloud SQL 元件。
gcloud design-center spaces application-templates components create sql-postgresql-1 \ --application-template=quickstart-three-tier-web-app \ --shared-template-revision-uri=google/45be1bc2-89bc-477b-9b5d-64c41ff3b146 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID將 cloud-run-1 連線至 cloud-run-2。
gcloud design-center spaces application-templates components connections create frontend-to-backend \ --application-template=quickstart-three-tier-web-app \ --component=cloud-run-1 \ --destination-component-uri=cloud-run-2 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID將 cloud-run-2 連線至 sql-postgresql-1。
gcloud design-center spaces application-templates components connections create backend-to-database \ --application-template=quickstart-three-tier-web-app \ --component=cloud-run-2 \ --destination-component-uri=sql-postgresql-1 \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID提交變更,建立應用程式範本修訂版本。
gcloud design-center spaces application-templates commit quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID點選設計畫布中的「
Configure an app 」(設定應用程式)。點選「
Create new application 」(建立新的應用程式),然後照下列步驟操作:在「Name」(名稱) 欄位輸入
quickstart-three-tier-test。在「Display name」(顯示名稱) 欄位輸入
Quickstart three-tier test。從「Region」(區域) 清單中選取「
us-central1 (Iowa)」。從「Environment」(環境) 清單中選取「
Test」。從「Criticality」(重要性) 清單中選取「
Low」。在「Scope」(範圍) 區塊,從「Application scope」(應用程式範圍) 清單中選取「
Regional」。
點選「Create Application」(建立應用程式)。
系統會建立應用程式草稿。
找出應用程式範本的最新修訂版本 URI。
gcloud design-center spaces application-templates describe quickstart-three-tier-web-app \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,latestRevision)'根據範本建立應用程式草稿。
gcloud design-center spaces applications create quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --source-application-template-revision=projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/revisions/TEMPLATE_REVISION \ --display-name="Quickstart three-tier test" \ --environment-type=test \ --criticality-type=low \ --scope-type=regional \ --deployment-region=us-central1點選設計畫布中的「cloud-run-1」,然後在「Configuration」(設定) 區塊執行下列操作:
從「Project ID」(專案 ID) 清單中,選取您在「事前準備」中建立的子系專案。 資源會部署至這個專案。
在「Service Name」(服務名稱) 欄位輸入
frontend-service。點選「Save」(儲存)。
點選設計畫布中的「cloud-run-2」,然後在「Configuration」(設定) 區塊執行下列操作:
從「Project ID」(專案 ID) 清單中,選取您在「事前準備」中建立的子系專案。 資源會部署至這個專案。
在「Service Name」(服務名稱) 欄位輸入
backend-service。點選「Save」(儲存)。
點選設計畫布中的「sql-postgresql-1」,然後在「Configuration」(設定) 區塊執行下列操作:
從「Project ID」(專案 ID) 清單中,選取您在「事前準備」中建立的子系專案。 資源會部署至這個專案。
在「Name」(名稱) 欄位中輸入
database-postgresql。從「Database Version」(資料庫版本) 清單中選取「
POSTGRES_15」。在「Zone」(可用區) 下拉式清單中選取「
us-central1-a」。點選「Save」(儲存)。
畫布會在各項元件顯示綠色勾號,代表您已指定必要參數。接著,您就能將應用程式草稿部署至
Test環境來驗證。說明應用程式,找出必要的設定參數。
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,componentParameters)'為每個元件在主目錄中建立 JSON 檔案,內含必要參數值。
建立
frontend-service.json。{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-1", "parameters": [ { "key": "service_name", "value": "frontend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" } ] }建立
backend-service.json。{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/cloud-run-2", "parameters": [ { "key": "service_name", "value": "backend-service" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" } ] }建立
database-postgresql.json。{ "component": "projects/MANAGEMENT_PROJECT_ID/locations/us-central1/spaces/SPACE/applicationTemplates/quickstart-three-tier-web-app/components/sql-postgresql-1", "parameters": [ { "key": "name", "value": "database-postgresql" }, { "key": "project_id", "value": "DEPLOYMENT_PROJECT_ID" }, { "key": "database_version", "value": "POSTGRES_15" }, { "key": "region", "value": "us-central1" }, { "key": "zone", "value": "us-central1-a" } ] }
更新應用程式,設定必要參數。
gcloud design-center spaces applications update quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --component-parameters=./frontend-service.json \ --component-parameters=./backend-service.json \ --component-parameters=./database-postgresql.json按一下
「Deploy」(部署) 。在「Select a service account」(選取服務帳戶) 區塊執行下列操作:
點選「Create a new service account」(建立新的服務帳戶)。
按一下 [繼續]。
按一下 [Deploy] (部署)。
幾分鐘之後,系統會部署應用程式,並在專案建立資源。系統會顯示下列詳細資料:
- App Hub 的連結,讓您查看已部署資源的詳細資料,包含監控功能資訊主頁的連結。
- Cloud Build 記錄的連結,以便您解決部署作業錯誤。
- 系統會顯示服務 URI 等輸出內容,以便您使用已部署的資源。
如要依據這項快速入門導覽課程建構內容,請參閱更新應用程式範本並重新部署的相關說明。
說明應用程式,找出部署服務帳戶所需的 IAM 角色。
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,projectParameters)'建立新的服務帳戶來部署應用程式。
gcloud iam service-accounts create quickstart-service-account \ --project=MANAGEMENT_PROJECT_ID \ --display-name="Quickstart service account" \ --description="A service account to deploy the ADC quickstart"將必要的部署專案角色新增至服務帳戶。
#!/bin/bash PROJECT_ID="DEPLOYMENT_PROJECT_ID" SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com" ROLES=( "roles/iap.admin" "roles/compute.networkAdmin" "roles/compute.viewer" "roles/run.admin" "roles/iam.serviceAccountAdmin" "roles/serviceusage.serviceUsageAdmin" "roles/cloudkms.admin" "roles/logging.logWriter" "roles/iam.serviceAccountUser" "roles/cloudsql.admin" "roles/cloudkms.autokeyAdmin" "roles/storage.admin" "roles/serviceusage.serviceUsageViewer" "roles/resourcemanager.projectIamAdmin" "roles/cloudkms.cryptoKeyEncrypterDecrypter" ) for role in "${ROLES[@]}"; do echo "Adding role: ${role}" gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="${role}" echo "---" done echo "Finished adding roles."將必要的管理專案角色新增至服務帳戶。
#!/bin/bash PROJECT_ID="MANAGEMENT_PROJECT_ID" SERVICE_ACCOUNT="quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com" ROLES=( "roles/config.agent" "roles/apphub.editor" ) for role in "${ROLES[@]}"; do echo "Adding role: ${role}" gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="${role}" echo "---" done echo "Finished adding roles."找出管理專案編號。
gcloud projects describe MANAGEMENT_PROJECT_ID \ --format="value(projectNumber)"在管理專案中,為
roles/iam.serviceAccountUser角色新增 IAM 政策繫結。gcloud iam service-accounts add-iam-policy-binding projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \ --project=MANAGEMENT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountUser"更新應用程式,改用服務帳戶。
gcloud design-center spaces applications update quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --service-account=projects/MANAGEMENT_PROJECT_ID/serviceAccounts/quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com為使用者授予服務帳戶的 actAs 權限。
gcloud iam service-accounts add-iam-policy-binding quickstart-service-account@MANAGEMENT_PROJECT_ID.iam.gserviceaccount.com \ --project=MANAGEMENT_PROJECT_ID \ --member="user:USER" \ --role="roles/iam.serviceAccountUser"USER是您的 Google Cloud 使用者。例如:
dana@example.com。預覽應用程式:
預覽畫面需要幾分鐘才能生成。
gcloud design-center spaces applications preview quickstart-three-tier-test \ --location=us-central1 \ --space=SPACE \ --project=MANAGEMENT_PROJECT_ID部署應用程式。
gcloud design-center spaces applications deploy quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --async找出作業 ID。
部署作業需要幾分鐘才能完成。追蹤部署狀態。
gcloud design-center operations describe operation-OPERATION_ID \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID部署完成後,請找出應用程式輸出參數。
gcloud design-center spaces applications describe quickstart-three-tier-test \ --space=SPACE \ --location=us-central1 \ --project=MANAGEMENT_PROJECT_ID \ --format='yaml(name,appParameters,componentParameters,deploymentMetadata,deploymentRevision,previewReference)'-
前往 Google Cloud 控制台的「Application monitoring」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在 Google Cloud 控制台的專案挑選器中,選取管理專案。
如需如何使用預先定義的資訊主頁及探索遙測資料的詳細操作說明,請參閱「查看應用程式遙測資料」。
點選導覽選單中的「Applications」(應用程式)。
點選表格中的「Quickstart three-tier web app」(快速入門導覽課程三層式網頁應用程式)。
點選 「Actions」(動作) ,然後選取「Delete application」(刪除應用程式)。
在「Delete」(刪除) 欄位輸入
Quickstart three-tier web app。點選「Delete」(刪除)。
- 將應用程式詳細資料從 App Design Center 中移除。
- 刪除底層 App Hub 應用程式。
- 刪除底層資源。
- 前往 Google Cloud 控制台的「Manage resources」(管理資源) 頁面。
- 從專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
- 收到提示時,請輸入專案 ID,然後點選「Shut down」(關閉)。
確認您具備必要角色
建立新的範本並新增詳細資料
設計畫布
Gemini Cloud Assist
gcloud CLI
建立應用程式草稿
設計畫布
gcloud CLI
設定元件
設計畫布
gcloud CLI
部署應用程式
設計畫布
gcloud CLI
選用:監控部署作業
部署應用程式後,您可以使用應用程式監控功能查看應用程式遙測資料,並監控健康狀態和效能:
您也可以在 Cloud Hub 中取得額外的健康狀態和效能資訊,包括部署失敗和可更新的部署作業、影響應用程式的事件相關資訊,以及即將達到配額限制的服務。 Google Cloud
清除所用資源
為了避免系統向您的 Google Cloud 帳戶收取本頁面所用資源的費用,請刪除含有這些資源的 Google Cloud 專案。
刪除已部署的應用程式
系統會刪除應用程式,包括:
(選用) 刪除專案
如要刪除您在「事前準備」中建立的子系專案,請按照下列步驟操作: