
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
あなたは最近、Google Cloud を主要なクラウド サービス プロバイダ(CSP)として利用している IT 企業に、クラウド開発者として採用されました。そして、クラウドでサーバーレスのステートレス ウェブ アプリケーションを構築するよう指示されました。そのため、Google Cloud が提供する Cloud Run サービスを導入する必要があります。 懸案事項として、次のようなものがあります。
あなたは以前の職場で Azure を利用しており、Azure App Service を使用してウェブ アプリケーションをホストしていました。Azure がインフラストラクチャの構成を管理してこれらのアプリケーションをサポートし、あなたは次の 2 つの方法のいずれかで Azure App Service にコードを実装します。
App サービスを作成するために、カテゴリを指定して、アプリの演算能力やリソースなどの機能を定義しました。
イメージを作成し、Docker を使用してそれらを Azure Container Registry にアップロードしました。コードで使用したのと同じプロセスを適用して、これらのイメージをコンテナに実装しました。
スケールイン ルールやスケールアウト ルールなどのベスト プラクティスを適用して、アプリケーションに関連付けるコンピューティング リソースとインスタンスの数を決定し、費用の影響を最小限に抑えました。
Azure App Service でホストされるサーバーレスのコンテナ化アプリケーションは、次のようになります。
次に、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 と Azure App Service はどちらもサーバーレス コンピューティング サービスであり、デベロッパーは費用対効果に優れたスケーラブルな方法でコンテナ化アプリケーションを実行できます。しかし、この 2 つのサービスの間にはいくつかの相違点があります。
2 つのサービスの主な類似点と相違点は次のとおりです。
類似点:
相違点:
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください