arrow_back

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

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

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

Lab 1 小时 universal_currency_alt 5 积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP328

Google Cloud 自修研究室標誌

總覽

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

在您完成任務的期間,挑戰研究室不會介紹新的 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

架構

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

角色

不適用

架構

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 page

恭喜!

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

Develop Serverless Applications on Cloud Run 技能徽章

Google Cloud 教育訓練與認證

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

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

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

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