arrow_back

Cloud Run でのサーバーレス アプリケーションの開発: チャレンジラボ

ログイン 参加
700 以上のラボとコースにアクセス

Cloud Run でのサーバーレス アプリケーションの開発: チャレンジラボ

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP328

Google Cloud セルフペース ラボのロゴ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

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

このラボは、「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 を設定します。次の表の情報を使用してください。

FIELD

VALUE

Billing Image

billing-staging-api:0.1

Billing Service

Authentication

unauthenticated

Code

pet-theory/lab07/unit-api-billing

アーキテクチャ

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

  1. 用意されたコードで課金サービスをデプロイします。

評価

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

  • Cloud Build を使用してイメージをビルドする。
  • Cloud Run サービスを未認証サービスとしてデプロイする。
  • エンドポイントへのアクセスに対してサービスが応答することをテストする。
注: アクティビティの記録に時間がかかる場合があります。再試行は 30 秒待ってから行ってください。

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

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

概要

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

FIELD

VALUE

Image Name

frontend-staging:0.1

Service Name

Authentication

unauthenticated

Code

pet-theory/lab07/staging-frontend-billing

アーキテクチャ

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

評価

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

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

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

タスク 3. 限定公開サービスをデプロイする

概要

  • 開発チームは、アプリケーションを更新したので、その新しいバージョンをステージング環境にデプロイしたいと考えています。

FIELD

VALUE

Image Name

billing-staging-api:0.2

Service Name

Repository

gcr.io

Authentication

authenticated

Code

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. 課金サービス用のサービス アカウントを作成する

概要

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

FIELD

VALUE

Service Account

Display Name

Billing Service Cloud Run

Service Name

billing-service

Role

N/A

アーキテクチャ

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

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

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

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

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

概要

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

FIELD

VALUE

Image Name

billing-prod-api:0.1

Service Name

Repository

gcr.io

Authentication

authenticated

Code

pet-theory/lab07/prod-api-billing

Service Account

アーキテクチャ

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. フロントエンド用サービス アカウント

概要

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

FIELD

VALUE

Service Account

Display Name

Billing Service Cloud Run Invoker

Service Name

frontend-prod-service

Role

run.invoker

アーキテクチャ

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

評価

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

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

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

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

概要

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

FIELD

VALUE

Image Name

frontend-prod:0.1

Service Name

Repository

gcr.io

Authentication

unauthenticated

Code

pet-theory/lab07/prod-frontend-billing

Service Account

アーキテクチャ

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

評価: Cloud Run による開発

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

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

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

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

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

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

お疲れさまでした

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

「Cloud Run でのサーバーレス アプリケーションの開発」スキルバッジ

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

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

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

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

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

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。