arrow_back

Develop Serverless Applications on Cloud Run: チャレンジラボ

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Develop Serverless Applications on 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 の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「Develop Serverless Applications on Cloud Run」コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、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 秒待ってから行ってください。

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。一般公開の課金サービスをデプロイする

タスク 2. フロントエンド サービスをデプロイする

概要

  • フロントエンド サービスを設定します。次の表の情報を使用してください。

項目

イメージ名

frontend-staging:0.1

サービス名

認証

unauthenticated

コード

pet-theory/lab07/staging-frontend-billing

アーキテクチャ

Pet Theory チャレンジラボのアーキテクチャ図

評価

このセクションを正常に完了するには、次のタスクを実行する必要があります。

  • Cloud Build を使用してイメージをビルドする。
  • イメージを未認証サービスとして Cloud Run にデプロイする。
  • エンドポイントへのアクセスに対してサービスが応答することを確認する。

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。フロントエンド サービスをデプロイする

タスク 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 を環境変数に割り当てる。

課金サービスの 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

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。限定公開の課金サービスをデプロイする

タスク 4. 課金サービス用のサービス アカウントを作成する

概要

  • 本番環境にデプロイするための準備として、課金サービス用のサービス アカウントを作成する必要があります。

項目

サービス アカウント

表示名

Billing Service Cloud Run

サービス名

billing-service

ロール

なし

アーキテクチャ

Pet Theory チャレンジラボのアーキテクチャ図

評価: サービス アカウント

このセクションを正常に完了するには、サービス アカウントを作成する必要があります。

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。課金サービス用のサービス アカウントを作成する

タスク 5. 課金サービスをデプロイする

概要

  • 新しいサービス アカウントを課金サービスに関連付けます。

項目

イメージ名

billing-prod-api:0.1

サービス名

リポジトリ

gcr.io

認証

authenticated

コード

pet-theory/lab07/prod-api-billing

サービス アカウント

アーキテクチャ

Pet Theory チャレンジラボのアーキテクチャ図

評価: Cloud Run へのデプロイ

このセクションを正常に完了するには、次のタスクを実行する必要があります。

  • Cloud Run にイメージをデプロイする。
  • 認証を有効にする。
  • サービス アカウントを有効にする。
  • エンドポイントへのアクセスに対してサービスが応答することを確認する。

課金サービスの URL を取得します。

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

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。課金サービスをデプロイする

タスク 6. フロントエンド用サービス アカウント

概要

  • 課金サービスを呼び出すことができる、フロントエンド用の新しいサービス アカウントを作成します。

項目

サービス アカウント

表示名

Billing Service Cloud Run Invoker

サービス名

frontend-prod-service

ロール

run.invoker

アーキテクチャ

Pet Theory チャレンジラボのアーキテクチャ図

評価

このセクションを正常に完了するには、次のタスクを実行する必要があります。

  • サービス アカウントを作成する。
  • フロントエンド サービス用のサービス アカウントを適用する。
  • サービス アカウントに run.invoker の権限を付与する。
  • アカウントをサービスにバインドする。

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。フロントエンド用サービス アカウントを作成する

タスク 7. フロントエンド サービスを再デプロイする

概要

  • 新しいサービス アカウントを使用してフロントエンド サービスを再デプロイします。

項目

イメージ名

frontend-prod:0.1

サービス名

リポジトリ

gcr.io

認証

unauthenticated

コード

pet-theory/lab07/prod-frontend-billing

サービス アカウント

アーキテクチャ

Pet Theory チャレンジラボのアーキテクチャ図

評価: Cloud Run へのデプロイ

このセクションを正常に完了するには、次のタスクを実行する必要があります。

  • Cloud Run にイメージをデプロイする。
  • 認証を有効にする。
  • サービス アカウントを有効にする。
  • エンドポイントへのアクセスに対してサービスが応答することを確認する。

[進行状況を確認] をクリックして、上記のタスクを実行したことを確認します。フロントエンド サービスをデプロイする

  • 本番環境のフロントエンド サービスにアクセスして、ユーザー インターフェースを表示します。

画面の情報は、サービス アカウントを使用して限定公開の課金サービスから取得されます。

Pet Theory: 課金サービスページ

お疲れさまでした

このチャレンジラボでは、Cloud Run と Google Cloud インフラストラクチャに関する知識を確認しました。これで、動物病院の Pet Theory のためにサーバーレス アーキテクチャを正常にデプロイし、モノリス型の課金アプリケーションをサーバーレス モデルに移行することができました。

Develop Serverless Applications on Cloud Run スキルバッジ

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 3 月 22 日

ラボの最終テスト日: 2023 年 11 月 28 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。