始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Enable Relevant APIs
/ 20
Build a container image with Cloud Build
/ 30
Deploy the container to Cloud Run
/ 30
Test the application on Cloud Run
/ 20
Cloud Run は、フルマネージドのコンピューティング プラットフォームで、HTTP リクエストで呼び出せるステートレスなコンテナを実行できます。コンテナ イメージをビルドできるものであれば、任意のプログラミング言語で記述されたコードを Cloud Run にデプロイできます。Go、Node.js、Python、Java、.NET Core、Ruby でアプリケーションを開発する際に、コンテナを自動的にビルドするソースベースのデプロイ方法を使用できます。
Cloud Run はサーバーレスで、Google のスケーラブルなインフラストラクチャ上でコンテナを実行します。Knative をベースに構築されており、Cloud Run を使用してフルマネージドでコンテナを実行するか、Cloud Run with GKE を使用して Google Kubernetes Engine クラスタ内でコンテナを実行するかを選択できます。
Cloud Run は Google Cloud 上の他のサービスと連携するため、Cloud Run サービスの運用、構成、スケーリングに時間をかけすぎることなく、さまざまな機能を備えたアプリケーションを構築できます。
このラボの内容:
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
Google Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。
Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。
[続行] をクリックします。
環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力例:
出力:
出力例:
このタスクでは、Cloud Shell 環境の環境変数を設定し、このラボで使用する関連 Google API を有効にします。
ラボの認証情報を使用して Google Cloud コンソールにログインし、Cloud Shell ターミナル ウィンドウを開きます。
Cloud Shell で次のコマンドを実行して、プロジェクト ID とリージョンの環境変数を設定します。
次のコマンドを実行して、関連 API を有効にします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、サンプルの Node.js アプリケーションをコピーします。その後、Cloud Shell 環境でローカルにビルドして実行します。
app ディレクトリを作成し、現在の作業ディレクトリにします。
次のコマンドを実行して、Cloud Storage からアプリをコピーしてファイルを抽出します。
アプリのディレクトリに移動します。
最上位ディレクトリにある server.js ファイルの内容を表示すると、アプリケーションのソースコードを確認できます。
次のコマンドを実行して、アプリケーションの依存関係モジュールをローカルにインストールします。
次のコマンドを実行して、アプリケーションをローカルで実行します。
次の出力が表示されます。
Cloud Shell ナビゲーション バーで()をクリックし、2 つ目の Cloud Shell ターミナル ウィンドウを開きます。
アプリケーションに HTTP リクエストをいくつか送信して、サンプル API をテストします。
アプリケーションは、次のような商品リストを返します。
2 回目の API リクエストを送信し、ID を指定して特定商品を取得します。
アプリケーションは、特定のプロダクトに関する詳細を返します。
最初の Cloud Shell ターミナル ウィンドウで Ctrl+C キーを押し、アプリケーションを終了します。
Cloud Build は、Google Cloud でビルドを実行するサービスです。Cloud Build では、継続的インテグレーションと継続的デリバリー(CI/CD)パイプラインを使用して、アプリケーションを継続的にビルド、テスト、デプロイできます。
Cloud Build に指示を与えるには、一連のタスクを含むビルド構成ファイルを作成します。この指示により、依存関係のフェッチ、単体テストと統合テストの実行、静的分析の実行、docker、gradle、maven などのビルドツールを使用したアーティファクトの作成を行うようにビルドを構成できます。
このタスクでは、Cloud Build を使用してアプリケーションの Docker コンテナをビルドし、そのコンテナ イメージを Artifact Registry のリポジトリに push します。
Google Cloud コンソールのタイトルバーにある [検索] フィールドに「Artifact Registry」と入力して [検索] をクリックし、検索結果で [Artifact Registry] をクリックします。
[Artifact Registry] の横にある( ピン)をクリックします。
[リポジトリを作成] をクリックします。
[リポジトリの作成] ページで、次の情報を入力します。残りの設定はデフォルト値のままにします。
|
名前 |
my-repo |
|
形式 |
Docker |
|
ロケーション タイプ |
リージョン |
|
リージョン |
|
[作成] をクリックし、ネットワークが作成されるまで待ちます。
イメージをリポジトリに push する前に、Artifact Registry のリポジトリに対するリクエストを認証するように Docker を構成する必要があります。
リージョン
プロンプトが表示されたら、「Y」と入力します。
Cloud Build に指示を与えるには、一連のタスクを含むビルド構成ファイルを作成します。この指示により、依存関係のフェッチ、単体テストと統合テストの実行、静的分析の実行、docker、gradle、maven などのビルダーを使用したアーティファクトの作成を行うようにビルドを構成できます。
リポジトリ名の環境変数を設定します。
ビルド構成ファイルを作成します。
cloudbuild.yaml ファイルを表示します。
次のコマンドを実行して、Cloud Build でコンテナをビルドします。
コマンド出力の一部を次に示します。
Cloud Build はまず、指定されたディレクトリにあるアプリケーションのソースコードとその他のファイルを Cloud Storage にアップロードします。次に、ビルド構成と Dockerfile で指定された手順からアプリケーションを含むコンテナ イメージをビルドし、指定されたイメージ名でイメージにタグを付け、イメージを Artifact Registry のリポジトリに push します。
Google Cloud コンソールのタイトルバーにある [検索] フィールドに「Cloud Scheduler」と入力して [検索] をクリックし、検索結果で [Cloud Scheduler] をクリックします。
[リージョン] で [
リスト上部にあるビルド ID をクリックします。
ビルドログを含むビルドの詳細が表示されます。
ビルドコマンドが完了したら、Google Cloud コンソールのナビゲーション メニュー()で、[Artifact Registry] > [リポジトリ] をクリックします。
my-repo リポジトリをクリックして、sample-node-app-image コンテナ イメージを表示します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ビルドしたコンテナ イメージを Cloud Run にデプロイします。Cloud Run にデプロイするには、次の 2 つの方法があります。
マネージド Cloud Run: フルマネージド サービスモデル。コンテナのライフサイクル全体が Cloud Run によって管理されます。このラボでは、この方法を使用します。
Cloud Run on Anthos: 制御が強化された Cloud Run。GKE で作成した独自のクラスタと Pod を導入できます。
このタスクでは、コンテナ イメージを Google Cloud のフルマネージド Cloud Run サービスにデプロイします。
コンテナ イメージをデプロイするには、Cloud Shell で次のコマンドを実行します。
コマンドが完了したら、Google Cloud コンソールのナビゲーション メニュー()にある [Cloud Run] をクリックします。
Cloud Run サービスの詳細を表示するには、sample-node-app サービス名をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cloud Shell で次のコマンドを実行して、サービスが実行されており、リクエストを受け付けられることを確認します。
コマンドの出力は次のようになります。
コマンド出力から URL の値をコピーし、curl コマンドに貼り付けます。その際、URL の末尾に service/products を追加します。出力を jq コマンドにパイプして、Enter キーを押します。
出力は、前のタスクでアプリケーションをローカルで実行したときに受け取ったものと似ているはずです。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは:
詳細については、以下のドキュメントをご覧ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください