Lab setup instructions and requirements
Protect your account and progress. Always use a private browser window and lab credentials to run this lab.

運用 Cloud Run 開發無伺服器應用程式:挑戰實驗室

Lab 20 minutes universal_currency_alt 5 Credits show_chart Intermediate
info This lab may incorporate AI tools to support your learning.
This content is not yet optimized for mobile devices.
For the best experience, please visit us on a desktop computer using a link sent by email.

GSP328

Google Cloud 自學實驗室

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

這個實驗室適合「運用 Cloud Run 開發無伺服器應用程式」課程的學員。準備好迎接挑戰了嗎?

設定

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

挑戰情境

Pet Theory 是一間獸醫診所,希望採用無伺服器架構來翻新現有系統。

在這個挑戰實驗室中,您將扮演開發團隊成員,負責將特定服務轉為無伺服器框架。為順利達成這項任務,請按照詳細指示操作。

架構總覽

Pet Theory 決定透過這項專案,將既有的單體計費應用程式轉為無伺服器模式。

在這個實驗室,您負責執行這項架構升級程序,確保順利轉換至無伺服器設計。

架構圖

開發團隊會提供要在解決方案中部署的程式碼或映像檔。

開發最低可行產品 (MVP)

您將為 Pet Theory 建構符合下列需求規格的原型解決方案:

編號

待完成事項

1

部署測試環境架構

2

部署正式環境架構

3

確保正式環境架構元件間的存取安全

佈建實驗室環境

在這個實驗室,您必須佈建環境來支援部署各項資源。

  1. 在無痕模式瀏覽器視窗開啟 Cloud Shell
  2. 為環境設定預設專案:
gcloud config set project \ $(gcloud projects list --format='value(PROJECT_ID)' \ --filter='qwiklabs-gcp')
  1. 設定 Cloud Run 部署作業的區域:
gcloud config set run/region {{{project_0.default_region | REGION}}}
  1. 設定 Cloud Run 平台類型:
gcloud config set run/platform managed
  1. 複製 Pet Theory 程式碼存放區:
git clone https://github.com/rosera/pet-theory.git && cd pet-theory/lab07 注意:您已具備開發作業存放區的存取權。請記下存放區位置,並運用當中資產建構符合需求的內容。

工作 1:啟用公開服務

總覽

  1. 為計費服務設定 REST API。請採用下表中的資訊:

欄位

計費映像檔

billing-staging-api:0.1

計費服務

驗證機制

unauthenticated

程式碼

pet-theory/lab07/unit-api-billing

架構

Pet Theory 挑戰實驗室架構圖

  1. 以可用的程式碼部署計費服務。

評估

為順利完成這個部分,請執行下列工作:

  • 運用 Cloud Build 建構映像檔。
  • 以未驗證服務的形式部署 Cloud Run 服務。
  • 在存取端點時,測試服務是否會回應。
注意:活動追蹤可能需要一些時間才能註冊完成,請稍候 30 秒再重試。

點選「Check my progress」,確認上述工作已完成。部署公開計費服務

工作 2:部署前端服務

總覽

  • 設定前端服務。請採用下表中的資訊:

欄位

映像檔名稱

frontend-staging:0.1

服務名稱

驗證機制

unauthenticated

程式碼

pet-theory/lab07/staging-frontend-billing

架構

Pet Theory 挑戰實驗室架構圖

評估

為順利完成這個部分,請執行下列工作:

  • 運用 Cloud Build 建構映像檔。
  • 將映像檔以未驗證服務的形式部署至 Cloud Run。
  • 存取端點時,服務應該會有回應。

點選「Check my progress」,確認上述工作已完成。部署前端服務

工作 3:部署私人服務

總覽

  • 開發團隊更新了應用程式,希望能部署至測試環境:

欄位

映像檔名稱

billing-staging-api:0.2

服務名稱

存放區

gcr.io

驗證機制

authenticated

程式碼

pet-theory/lab07/staging-api-billing

架構

Pet Theory 挑戰實驗室架構圖

評估:Cloud Run 開發作業

為順利完成這個部分,請執行下列工作:

  • 刪除既有計費服務。
  • 運用 Cloud Build 建構映像檔。
  • 將映像檔部署至設有驗證機制的 Cloud Run。
  • 為環境變數指派 SERVICE_URL。

取得計費服務的網址。

BILLING_URL=$(gcloud run services describe {{{project_0.startup_script.private_billing_service | Private billing service}}} \ --platform managed \ --region {{{project_0.default_region | REGION}}} \ --format "value(status.url)")
  • 存取端點時,服務應該會有回應。
curl -X get -H "Authorization: Bearer $(gcloud auth print-identity-token)" $BILLING_URL

點選「Check my progress」,確認上述工作已完成。部署私人計費服務

工作 4:建立計費服務帳戶

總覽

  • 準備部署至正式環境時,請為計費服務建立服務帳戶:

欄位

服務帳戶

顯示名稱

Billing Service Cloud Run

服務名稱

billing-service

角色

N/A

架構

Pet Theory 挑戰實驗室架構圖

評估:服務帳戶

為順利完成這個部分,請建立服務帳戶:

點選「Check my progress」,確認上述工作已完成。建立計費服務帳戶

工作 5:部署計費服務

總覽

  • 將新的計費服務帳戶連結至計費服務:

欄位

映像檔名稱

billing-prod-api:0.1

服務名稱

存放區

gcr.io

驗證機制

authenticated

程式碼

pet-theory/lab07/prod-api-billing

服務帳戶

架構

Pet Theory 挑戰實驗室架構圖

評估:Cloud Run 開發作業

為順利完成這個部分,請執行下列工作:

  • 將映像檔部署至 Cloud Run。
  • 啟用驗證機制。
  • 啟用服務帳戶。
  • 存取端點時,服務應該會有回應。

取得計費服務的網址。

PROD_BILLING_URL=$(gcloud run services describe {{{project_0.startup_script.private_billing_service | Private billing service}}} \ --platform managed \ --region {{{project_0.default_region | REGION}}} \ --format "value(status.url)")

存取部署完成的端點:

curl -X get -H "Authorization: Bearer \ $(gcloud auth print-identity-token)" \ $PROD_BILLING_URL

點選「Check my progress」,確認上述工作已完成。部署計費服務

工作 6:前端服務帳戶

總覽

  • 為能叫用計費服務的前端建立新的服務帳戶:

欄位

服務帳戶

顯示名稱

Billing Service Cloud Run Invoker

服務名稱

frontend-prod-service

角色

run.invoker

架構

Pet Theory 挑戰實驗室架構圖

評估

為順利完成這個部分,請執行下列工作:

  • 建立服務帳戶。
  • 為前端服務套用服務帳戶。
  • 為服務帳戶授予 run.invoker 權限。
  • 將帳戶繫結至服務。

點選「Check my progress」,確認上述工作已完成。建立前端服務帳戶

工作 7:重新部署前端服務

總覽

  • 使用新的服務帳戶,並重新部署前端服務:

欄位

映像檔名稱

frontend-prod:0.1

服務名稱

存放區

gcr.io

驗證機制

unauthenticated

程式碼

pet-theory/lab07/prod-frontend-billing

服務帳戶

架構

Pet Theory 挑戰實驗室架構圖

評估:Cloud Run 開發作業

為順利完成這個部分,請執行下列工作:

  • 將映像檔部署至 Cloud Run。
  • 啟用驗證機制。
  • 啟用服務帳戶。
  • 存取端點時,服務應該會有回應。

點選「Check my progress」,確認上述工作已完成。部署前端服務

  • 存取正式環境前端服務,並查看使用者介面。

畫面上會顯示採用服務帳戶的私人計費服務用量資訊。

「Pet Theory: Billing Service」頁面

恭喜!

在這個挑戰實驗室課程,您展現了 Cloud Run 和 Google Cloud 基礎架構方面的知識。您成功為獸醫診所 Pet Theory 部署了無伺服器架構,並將診所的單體計費應用程式轉為無伺服器模式。

「運用 Cloud Run 開發無伺服器應用程式」技能徽章

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 3 月 22 日

實驗室上次測試日期:2023 年 11 月 28 日

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.