
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Configure your environment and project
/ 30
Build and run an application on Cloud Run
/ 70
Buildpacks は、コンテナ イメージをビルドするもう一つのアプローチで、ソースコードをコンテナ イメージに変換する代替手法を提供します。Buildpacks はビルダーと呼ばれるイメージに含まれる形で提供され、その中で実行されます。各ビルダーには 1 つ以上の Buildpacks を含めることができます。ビルダーは、ソースコードをコンテナ イメージに変換する役割を持つイメージです。Buildpacks は、Cloud Run にデプロイしたりローカルで Docker を使って実行したりできるコンテナ イメージを実際にビルドしてパッケージ化します。
独自の Buildpacks を作成することも、複数のベンダーが提供する Buildpacks を使用することもできます。Google Cloud の Buildpacks を使用すると、Docker をローカルにインストールしたり Dockerfile を作成したりすることなく、コンテナ化アプリケーションを作成、デプロイできます。Buildpacks は Cloud Run にも組み込まれており、ソースベースのデプロイ ワークフローを実現します。
このラボの内容:
pack
を使用してアプリケーションをビルドする。pack は、ビルダーと併用してソースコードからコンテナ イメージを作成するコマンドライン ツールです。各ラボでは、新しい 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 環境を構成します。
Cloud Shell で次のコマンドを実行して、プロジェクト ID とリージョンの環境変数を設定します。
Cloud Shell でコンピューティング リージョンを設定します。
Cloud Run と、このラボの後半で使用する Google Translate API を使用するには、プロジェクトの関連 API を有効にします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、pack
コマンドライン ツールと Google Cloud の Buildpacks ビルダーを使用して、サンプル アプリケーションをビルドします。
app
ディレクトリを作成し、そのディレクトリに移動します。
このラボのサンプル python
アプリケーションを Cloud Storage からコピーし、アーカイブ ファイルからコンテンツを抽出します。
サンプル アプリケーションのファイルとソースコードを表示します。
このアプリケーションは Python で記述されており、アプリケーションに対するリクエストに応じて、サンプル ウェルカム メッセージを返します。
サンプル アプリケーションのディレクトリに移動します。
pack
を実行して、コンテナをビルドします。
出力の一部は次のようになります。
次のコマンドを実行して、Cloud Shell ホストにダウンロードしてビルドしたイメージを表示します。
次のコマンドを使用してコンテナをローカルの Docker で実行し、アプリケーションに PORT 環境変数を渡すとともに、ホストのポート 8080 をコンテナポートにバインドします。
curl
コマンドを使用して、コンテナ化アプリケーションをテストします。
次のメッセージがレスポンスとして表示されます。
開発とデプロイのライフサイクルの次のステップとして、通常は、前のタスクでビルドしたコンテナ イメージを Artifact Registry に push し、そのイメージを Google Kubernetes Engine や Cloud Run などのコンテナベースの環境にデプロイします。
このタスクでは、サンプル アプリケーション コードを変更し、コンテナ化アプリケーションをビルドしてソースから直接 Cloud Run にデプロイします。
サンプル アプリケーション コードを変更し、Google Translate API を使用して英語のテキストをスペイン語に翻訳します。
main.py
ファイルを、vi や nano などの任意のエディタで編集します。Cloud Shell メニューから [エディタを開く] をクリックしてファイルを編集することもできます。
main.py
ファイルの内容全体を以下のコードに置き換えます。
以下のコマンドを実行して、コンテナをビルドし、Cloud Run にデプロイします。
プロンプトが表示されたら「Y」と入力し、Artifact Registry に作成されるデフォルトのリポジトリを受け入れてコンテナ イメージを保存します。
コマンドが完了すると、sample-py-app
という Cloud Run サービスが作成されます。
コマンド出力は次のようになります。
前の手順で作成した Cloud Run サービスの環境変数を設定します。
curl
コマンドを実行して、このサービスをテストします。
サービスにより翻訳されたテキストが返されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、pack
コマンドを使ってアプリケーションをビルドし、Google Cloud の Buildpacks ビルダーでサンプル Python アプリケーションのコンテナ イメージを作成しました。まず、コンテナをローカルの Docker で実行、テストしてから、コンテナを再度ビルドして Cloud Run にデプロイしました。
詳細については、以下のドキュメントをご覧ください。
GKE、Anthos、Container-Optimized OS など、さまざまなコンテナ プラットフォーム向けの Google Cloud の Buildpacks についての詳細は、以下の GitHub リポジトリをご覧ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください