arrow_back

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

登录 加入
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window 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.
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

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

实验 1 小时 universal_currency_alt 5 积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP328

總覽

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

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

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

這個研究室適合報名 Develop Serverless Applications on 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. 設定執行部署作業的區域:
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

架構

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

評估

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

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

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

工作 2:部署前端服務

總覽

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

欄位

映像檔名稱

frontend-staging:0.1

服務名稱

驗證機制

unauthenticated

程式碼

pet-theory/lab07/staging-frontend-billing

架構

評估

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

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

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

工作 3:部署私人服務

總覽

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

欄位

映像檔名稱

billing-staging-api:0.2

服務名稱

存放區

gcr.io

驗證機制

authenticated

程式碼

pet-theory/lab07/staging-api-billing

架構

評估: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

角色

不適用

架構

評估:服務帳戶

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

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

工作 5:部署計費服務

總覽

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

欄位

映像檔名稱

billing-prod-api:0.1

服務名稱

存放區

gcr.io

驗證機制

authenticated

程式碼

pet-theory/lab07/prod-api-billing

服務帳戶

架構

評估: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

架構

評估

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

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

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

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

總覽

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

欄位

映像檔名稱

frontend-prod:0.1

服務名稱

存放區

gcr.io

驗證機制

unauthenticated

程式碼

pet-theory/lab07/prod-frontend-billing

服務帳戶

架構

評估:Cloud Run 開發作業

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

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

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

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

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

恭喜!

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

Google Cloud 教育訓練與認證

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

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

研究室上次測驗日期:2023 年 11 月 28 日

Copyright 2025 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

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window 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.