始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
あなたは最近、Google Cloud を主要なクラウド サービス プロバイダ(CSP)として利用している IT 企業に、クラウド開発者として採用されました。そして、クラウドでサーバーレスのステートレス ウェブ アプリケーションを構築するよう指示されました。そのため、Google Cloud が提供する Cloud Run サービスを導入する必要があります。 懸案事項として、次のようなものがあります。
あなたは以前の職場で AWS を利用していたため、AWS Fargate がコンテナ化環境をサーバーレスでプロビジョニングできることを理解しています。コンテナの起動、スケーリング、モニタリングなどのタスクは AWS Fargate によって処理されるので、開発者はアプリケーション コードの作業に集中して、コンテナ化されたアプリケーションのデプロイ、管理、スケールを簡単に行うことができます。また、AWS Fargate では、コンテナを Amazon Elastic Container Service(Amazon ECS)と Amazon Elastic Kubernetes Service(Amazon EKS)のどちらにでもデプロイできます。つまり、開発者はニーズに合ったオーケストレーション オプションを選択できます。
次の図は、AWS Fargate に基づくサーバーレスのコンテナ化アプリケーションを表しています。
次に、Google Cloud にアプリケーションをデプロイする方法を確認します。
Cloud Run は、マネージド型のコンピューティング プラットフォームで、HTTP リクエスト経由で呼び出し可能なステートレス コンテナを実行できます。Cloud Run はサーバーレスです。インフラストラクチャ管理が一切不要なため、最も重要な作業であるアプリケーションの構築に集中できます。
Cloud Run は Knative で構築されており、フルマネージド型の Cloud Run でコンテナを実行するか、Cloud Run on GKE の Google Kubernetes Engine クラスタでコンテナを実行するかを選択できます。
このラボの目標は、シンプルなコンテナ化アプリケーション イメージをビルドし、Cloud Run にデプロイすることです。
このラボでは、次のタスクの実行方法を学びます。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側のパネルには、このラボで使用する必要がある一時的な認証情報が表示されます。
ユーザー名をコピーし、[Google Console を開く] をクリックします。 ラボでリソースが起動し、別のタブで [アカウントの選択] ページが表示されます。
[アカウントの選択] ページで [別のアカウントを使用] をクリックします。[ログイン] ページが開きます。
[接続の詳細] パネルでコピーしたユーザー名を貼り付けます。パスワードもコピーして貼り付けます。
しばらくすると、このタブで Cloud コンソールが開きます。
Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。
Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行] をクリックします。
環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力例:
出力:
出力例:
以下に、このラボの手順またはコードブロックに含まれている可能性のある、ごく基本的な Linux コマンドの参照リストを示します。
| コマンド --> | アクション | . | コマンド --> | アクション |
|---|---|---|---|---|
| mkdir(make directory) | 新しいフォルダを作成します | . | cd(change directory) | 場所を別のフォルダに変更します |
| ls(list) | ディレクトリ内のファイルとフォルダを一覧表示します | . | cat(concatenate) | エディタを使用せずにファイルの内容を出力します |
| apt-get update | パッケージ マネージャー ライブラリを更新します | . | ping | ホストのネットワーク到達性をテストするためのシグナルを送信します |
| mv(move) | ファイルを移動します | . | cp(copy) | ファイルのコピーを作成します |
| pwd(present working directory) | 現在の場所を再表示します | . | sudo(super user do) | 高度な管理者権限を与えます |
このタスクでは、HTTP リクエストに応答する Express ベースのシンプルな Node.js アプリケーションをビルドします。
helloworld という名前の新しいディレクトリを作成し、そのディレクトリにビューを移動します。次に、いくつかのファイルを作成して編集します。ファイルの編集には、vi、emac、nano を使用します。または、Cloud Shell で [エディタを開く] ボタンをクリックして、コードエディタを使用します。
package.json ファイルを作成し、次の内容を追加します。
上のファイルで最も重要な点は、スクリプトを開始するコマンドと、Express ウェブ アプリケーション フレームワークへの依存関係が含まれていることです。
CTRL+X キー、Y キーの順に押し、package.json ファイルを保存します。
次に、同じディレクトリに index.js ファイルを作成し、次の行をコピーします。
このコードは、PORT 環境変数で定義されたポートをリッスンする基本的なウェブサーバーを作成します。これでアプリは完成しました。このアプリをコンテナ化し、Container Registry にアップロードします。
index.js ファイルを保存します。Dockerfile という名前の新しいファイルを作成し、次の内容を追加します。CTRL+X キー、Y キーの順に押し、Dockerfile ファイルを保存します。
次に、Dockerfile を含むディレクトリから次のコマンドを実行し、Cloud Build を使用してコンテナ イメージをビルドします(注: このコマンドの $GOOGLE_CLOUD_PROJECT 環境変数には、ラボのプロジェクト ID が含まれています)。
Cloud Build は GCP 上でビルドを行うサービスで、一連のビルドステップを実行します。各ビルドステップが Docker コンテナで実行されてアプリケーション コンテナ(またはその他のアーティファクト)が生成され、Cloud Registry に push されます。そのすべてを 1 つのコマンドで実行できます。
Cloud Registry への push が完了すると、イメージ名(gcr.io/[PROJECT-ID]/helloworld)を含む SUCCESS メッセージが表示されて、イメージが Artifact Registry に保存されます。このイメージは必要に応じて再利用できます。
docker コマンドを使用してアプリケーションを開始します。ブラウザ ウィンドウが開いて「Hello World!」というメッセージが表示されるはずです。または、curl localhost:8080 を使用することもできます。
docker コマンドでリモート コンテナ イメージを pull できない場合は、gcloud auth configure-docker を実行してみてください。
上記のコマンドの allow-unauthenticated フラグを使用すると、サービスが公開されアクセス可能になります。
service name を確認します。デプロイが完了するまで少しお待ちください。
成功すると、コマンドラインにサービス URL が表示されます。
ブラウザ ウィンドウでこのサービス URL を開くと、デプロイしたコンテナにアクセスできます。
これで完了です。コンテナ イメージにパッケージ化されたアプリケーションが Cloud Run にデプロイされました。Cloud Run は、受信したリクエストを処理するためにコンテナ イメージを自動的に水平方向にスケーリングします。リクエスト数が減少すると、スケールダウンします。実際の環境で使用した場合、料金は、リクエストの処理中に使用した CPU、メモリ、ネットワークに対してのみ発生します。
このラボでは gcloud コマンドラインを使用しましたが、Cloud Run は Cloud コンソールでも使用できます。
helloworld サービスが表示されるはずです。サービスが使用されていない場合、Cloud Run の料金は発生しませんが、ビルドしたコンテナ イメージが保存されていると課金される場合があります。
helloworld イメージを削除します。続行するかどうかを確認するプロンプトが表示されたら、「Y」と入力して Enter キーを押します。
この Cloud Run サービスを削除するには次のコマンドを使用します。
Y」と入力して Enter キーを押します。このラボはこれで完了です。
Google Cloud Run と AWS Fargate はどちらも、開発者がコンテナ化されたアプリケーションをスケーラブルで費用対効果の高い方法で実行できるようにするサーバーレス コンピューティング サービスです。しかし、この 2 つのサービスにはいくつかの相違点があります。
主な類似点と相違点は次のとおりです。
類似点:
相違点:
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください