ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

Hello Cloud Run

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

概要

Cloud Run のロゴ

Cloud Run は、HTTP リクエストを介して呼び出せるステートレスなコンテナを実行できるマネージド型のコンピューティング プラットフォームです。Cloud Run はサーバーレスで提供されており、インフラストラクチャの管理を意識する必要がありません。そのため、最も重要なアプリケーション開発に専念できます。

このラボでは、シンプルなコンテナ化アプリケーションのイメージをビルドし、Cloud Run にデプロイすることを目標とします。

目標

このラボでは、次の内容を学習します。

  • Cloud Run API と Artifact Registry API を有効にする。
  • サーバーレスかつステートレスなコンテナとしてデプロイできるシンプルな Node.js アプリケーションを作成する。
  • Artifact Registry リポジトリを作成する。
  • アプリケーションをコンテナ化して Artifact Registry にアップロードする。
  • コンテナ化したアプリケーションを Cloud Run にデプロイする。
  • 不要なイメージを削除し、追加のストレージ料金が発生しないようにする。

設定と要件

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。ナビゲーション メニュー アイコン

Google Cloud Shell の有効化

Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

    ハイライト表示された Cloud Shell アイコン

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

Cloud Shell ターミナルでハイライト表示されたプロジェクト ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

リファレンス

基本的な Linux コマンド

以下に、このラボの手順またはコードブロックに含まれている可能性のある、ごく基本的な Linux コマンドの参照リストを示します。

コマンド --> アクション . コマンド --> アクション
mkdirmake directory 新しいフォルダを作成します . cdchange directory 場所を別のフォルダに変更します
lslist ディレクトリ内のファイルとフォルダを一覧表示します . catconcatenate エディタを使用せずにファイルの内容を出力します
apt-get update パッケージ マネージャー ライブラリを更新します . ping ホストのネットワーク到達性をテストするためのシグナルを送信します
mvmove ファイルを移動します . cpcopy ファイルのコピーを作成します
pwdpresent working directory 現在の場所を再表示します . sudosuper user do 高度な管理者権限を与えます

タスク 1. Cloud Run API を有効にして、シェル環境を構成する

このタスクでは、必要な API を有効にするとともに、コマンド操作を簡単にするための環境変数を設定します。

  1. Cloud Shell で、Cloud Run APIArtifact Registry API を有効にします。これにより、プロジェクトでこれらのサービスを利用できるようになります。
gcloud services enable run.googleapis.com artifactregistry.googleapis.com
  1. 認証情報の使用許可を求められた場合は、承認してください。正常に完了すると、次のようなメッセージが表示されます。
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully. 注: この API は、Google Cloud コンソールの [API とサービス] セクションから有効にすることもできます。
  1. コンピューティング リージョンを設定します。
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
  1. LOCATION 環境変数を作成します。
LOCATION="{{{project_0.default_region | Region}}}"

タスク 2. サンプル アプリケーションを作成する

このタスクでは、HTTP リクエストに応答する Express ベースのシンプルな Node.js アプリケーションをビルドします。

  1. Cloud Shell で、helloworld という名前の新しいディレクトリを作成し、そのディレクトリに移動します。
mkdir helloworld && cd helloworld
  1. 次に、いくつかのファイルを作成して編集します。ファイルの編集には、nano を使用するか、Cloud Shell の [エディタを開く] ボタンをクリックして Cloud Shell コードエディタを使用します。

  2. package.json ファイルを作成し、次の内容を追加します。

nano package.json { "name": "helloworld", "description": "Simple hello world sample in Node", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js" }, "author": "Google LLC", "license": "Apache-2.0", "dependencies": { "express": "^4.17.1" } }

上記のファイルで特に重要なのは、start スクリプトのコマンドと、Express ウェブ アプリケーション フレームワークへの依存関係が含まれている点です。

  1. CTRL+XYEnter キーの順に押し、package.json ファイルを保存します。

  2. 次に、同じディレクトリに index.js ファイルを作成し、次の内容をそのファイルにコピーします。

nano index.js const express = require('express'); const app = express(); const port = process.env.PORT || 8080; app.get('/', (req, res) => { const name = process.env.NAME || 'World'; res.send(`Hello ${name}!`); }); app.listen(port, () => { console.log(`helloworld: listening on port ${port}`); });

このコードは、PORT 環境変数で指定されたポートをリッスンする基本的なウェブサーバーを作成します。これでアプリは完成です。コンテナ化して Artifact Registry にアップロードする準備が整いました。

  1. CTRL+XYEnter キーの順に押し、index.js ファイルを保存します。
注: Cloud Run を使い始める際に使用できる言語は、他にも多数あります。Go、Python、Java、PHP、Ruby、シェル スクリプトなどの手順については、クイックスタート ガイドをご覧ください。

タスク 3. Artifact Registry リポジトリを作成する

このタスクでは、Artifact Registry にリポジトリを作成します。このリポジトリはコンテナ イメージの保存先として機能し、Google Cloud の各種サービスがそれらにアクセスして pull できるようになります。

  1. ご使用のリージョンに my-repository という名前の新しい Docker リポジトリを作成します。
gcloud artifacts repositories create my-repository \ --repository-format=docker \ --location=$LOCATION \ --description="Docker repository"
  1. ご使用のリージョンの Artifact Registry に対するリクエストを認証できるよう Docker を設定します。
gcloud auth configure-docker $LOCATION-docker.pkg.dev

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Artifact Registry リポジトリを作成する

タスク 4. アプリをコンテナ化して Artifact Registry にアップロードする

このタスクでは、サンプル アプリケーションをコンテナ化し、そのイメージを Artifact Registry にアップロードします。

  1. サンプルアプリをコンテナ化するには、ソースファイルと同じディレクトリに Dockerfile という名前の新しいファイルを作成します。このファイルはレシピの役割を果たし、Docker にイメージのビルド方法を指示します。
nano Dockerfile # Node.js 12 の公式の軽量イメージを使用します。 # https://hub.docker.com/_/node FROM node:20-slim # app ディレクトリを作成してそのディレクトリに移動します。 WORKDIR /usr/src/app # アプリケーションの依存関係マニフェストをコンテナ イメージにコピーします。 # package.json と package-lock.json の両方(存在する場合)をコピーできるようにワイルドカードを使用します。 # これを先にコピーしておくことで、コードを変更するたびに npm install を再実行する必要がなくなります。 COPY package*.json ./ # 本番環境の依存関係をインストールします。 # package-lock.json を追加した場合は、「npm ci」に切り替えることでビルドを高速化できます。 # RUN npm ci --only=production RUN npm install --only=production # ローカルのコードをコンテナ イメージにコピーします。 COPY . ./ # コンテナの起動時にウェブサービスを実行します。 CMD [ "npm", "start" ]
  1. CTRL+XYEnter キーの順に押し、Dockerfile ファイルを保存します。

  2. 次に、Dockerfile を含むディレクトリから次のコマンドを実行し、Cloud Build を使用してコンテナ イメージをビルドします(注: このコマンド内の $GOOGLE_CLOUD_PROJECT 環境変数には、ラボのプロジェクト ID が設定されています)。

gcloud builds submit --tag $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld

Cloud Build は、Google Cloud でビルドを実行するサービスです。一連のビルドステップが実行され、各ステップは Docker コンテナ内で実行されます。その結果、アプリケーション コンテナ(またはその他のアーティファクト)が生成され、Artifact Registry に push されます。これらの処理はすべて 1 つのコマンドで実行できます。

Artifact Registry への push が完了すると、イメージ名を含む SUCCESS メッセージが表示されます。イメージが Artifact Registry に保存されます。このイメージは必要に応じて再利用できます。

  1. Cloud Shell からローカルでアプリケーションを実行してテストするには、次の標準の docker コマンドを使用してアプリケーションを起動します。
docker run -d -p 8080:8080 $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
  1. Cloud Shell ウィンドウで、ウェブでプレビュー アイコンをクリックし、[ポート 8080 でプレビュー] を選択します。

ブラウザ ウィンドウが開いて「Hello World!」というメッセージが表示されるはずです。または、curl localhost:8080 を使用することもできます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アプリをコンテナ化して Artifact Registry にアップロードする

タスク 5. Cloud Run にデプロイする

このタスクでは、コンテナ化されたアプリケーションを Cloud Run にデプロイします。このプロセスにより、安全な HTTPS URL を介してウェブ リクエストに応答できるサービスが起動します。

  1. 次のコマンドを使用して、コンテナ化されたアプリケーションを Cloud Run にデプロイします。
gcloud run deploy helloworld \ --image $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld \ --allow-unauthenticated \ --region=$LOCATION

上記のコマンドで allow-unauthenticated フラグを指定すると、サービスが一般公開されます。

  1. API を有効にするよう求められた場合は、「Y」と入力します。

デプロイが完了するまで少しお待ちください。成功すると、コマンドラインにサービス URL が表示されます。

Service [helloworld] revision [helloworld-00001-xit] has been deployed and is serving 100 percent of traffic. Service URL: https://helloworld-h6cp412q3a-uc.a.run.app

ブラウザ ウィンドウでこのサービス URL を開くと、デプロイしたコンテナにアクセスできます。

これで完了です。コンテナ イメージとしてパッケージ化されたアプリケーションを Cloud Run にデプロイしました。Cloud Run は、受信したリクエストに応じてコンテナ イメージを自動的に水平方向にスケーリングし、リクエスト数が減少すると自動的にスケールダウンします。実際の環境では、リクエスト処理中に使用した CPU、メモリ、ネットワークの分だけ料金が発生します。

このラボでは gcloud コマンドラインを使用しましたが、Cloud Run は Cloud コンソールでも使用できます。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud Run] をクリックすると、helloworld サービスが一覧表示されます。

helloworld サービスが表示された [Cloud Run] タブ

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 コンテナ化したアプリケーションを Cloud Run にデプロイする

タスク 6. クリーンアップ

このタスクでは、料金が発生しないように、デプロイしたサービスとコンテナ イメージを削除します。

サービスを使用していない場合、Cloud Run の利用料金は発生しませんが、ビルドしたコンテナ イメージを保存していると課金される場合があります。

  1. helloworld イメージを削除するには、次のコマンドを使用します。
gcloud artifacts docker images delete $LOCATION-docker.pkg.dev/$GOOGLE_CLOUD_PROJECT/my-repository/helloworld
  1. 続行するかどうかを確認するプロンプトが表示されたら、「Y」と入力して Enter キーを押します。

  2. Cloud Run サービスを削除するには、次のコマンドを使用します。

gcloud run services delete helloworld --region={{{project_0.default_region | "REGION"}}}
  1. 続行するかどうかを確認するプロンプトが表示されたら、「Y」と入力して Enter キーを押します。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Skills から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

お疲れさまでした

このラボはこれで完了です。

次のステップと詳細情報

Cloud Run に適したステートレスな HTTP コンテナをコードソースからビルドし、Artifact Registry に push する方法について詳しくは、次のページをご覧ください。

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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