
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Cloud Run は、マネージド型のコンピューティング プラットフォームで、HTTP リクエスト経由で呼び出し可能なステートレス コンテナを実行できます。Cloud Run はサーバーレスです。インフラストラクチャ管理が一切不要なため、最も重要な作業であるアプリケーションの構築に集中できます。
Cloud Run は Knative で構築されており、フルマネージド型の Cloud Run でコンテナを実行するか、Cloud Run on GKE の Google Kubernetes Engine クラスタでコンテナを実行するかを選択できます。
このラボの目標は、シンプルなコンテナ化アプリケーション イメージをビルドし、Cloud Run にデプロイすることです。
このラボでは、次のタスクの実行方法を学びます。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] パネルでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] パネルでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google 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
という名前の新しいディレクトリを作成し、そのディレクトリにビューを移動します。次に、いくつかのファイルを作成して編集します。ファイルの編集には、nano
を使用します。または、Cloud Shell で [エディタを開く] ボタンをクリックして、コードエディタを使用します。
package.json
ファイルを作成し、次の内容を追加します。
上のファイルで最も重要な点は、スクリプトを開始するコマンドと、Express ウェブ アプリケーション フレームワークへの依存関係が含まれていることです。
CTRL+X、Y、Enter キーの順に押し、package.json
ファイルを保存します。
次に、同じディレクトリに index.js
ファイルを作成し、次の内容をコピーします。
このコードは、PORT
環境変数で定義されたポートをリッスンする基本的なウェブサーバーを作成します。これでアプリは完成しました。このアプリをコンテナ化し、Artifact Registry にアップロードします。
index.js
ファイルを保存します。Dockerfile
という名前の新しいファイルを作成し、次の内容を追加します。CTRL+X、Y、Enter キーの順に押し、Dockerfile
ファイルを保存します。
次に、Dockerfile
を含むディレクトリから次のコマンドを実行し、Cloud Build を使用してコンテナ イメージをビルドします(注: このコマンドの $GOOGLE_CLOUD_PROJECT 環境変数には、ラボのプロジェクト ID が含まれています)。
Cloud Build は、Google Cloud でビルドを実行するサービスです。一連のビルドステップを実行します。各ビルドステップが Docker コンテナで実行されてアプリケーション コンテナ(またはその他のアーティファクト)が生成され、Artifact Registry に push されます。そのすべてを 1 つのコマンドで実行できます。
Cloud Registry への push が完了すると、イメージ名(gcr.io/[PROJECT-ID]/helloworld
)を含む SUCCESS メッセージが表示されて、イメージが Artifact Registry に保存されます。このイメージは必要に応じて再利用できます。
gcloud
を、Google がサポートするすべての Docker レジストリの認証ヘルパーとして登録します。docker
コマンドを使用してアプリケーションを開始します。ブラウザ ウィンドウが開いて「Hello World!」というメッセージが表示されるはずです。または、curl localhost:8080
を使用することもできます。
上記のコマンドの 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 Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
このラボはこれで完了です。
Cloud Run に適したステートレス HTTP コンテナをコードソースからビルドして Artifact Registry に push する方法の詳細については、次のページをご覧ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
One lab at a time
Confirm to end all existing labs and start this one