
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Deploy to App Engine
/ 30
Deploy to Kubernetes Engine
/ 30
Deploy to Cloud Run
/ 40
このラボでは、Google Cloud サービスの App Engine、Kubernetes Engine、Cloud Run にアプリケーションをデプロイします。
このラボでは、次のタスクの実行方法について学びます。
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
管理するソースコードが必要なので、簡単な Python Flask ウェブ アプリケーションを作成します。これは「hello world」のような簡単なアプリケーションですが、これから構築するパイプラインをテストするにはこれで十分です。
3.9. Cloud Shell で次のコマンドを入力して gcp-course
という名前のフォルダを作成します。
deploying-apps-to-gcp
という名前のフォルダを作成します。main.py
」という名前を付け、Enter キーを押します。deploying-apps-to-gcp
] フォルダをクリックします。templates
」という名前を付け、Enter キーを押します。templates
フォルダを右クリックして、layout.html
という名前の新しいファイルを作成します。同じく templates フォルダ内に、index.html
という名前の新しいファイルを追加します。
このファイル内に次のコードを追加して、先ほどと同じようにファイルを保存します。
Python では、pip を使用してアプリケーションの前提条件を管理します。次は、このアプリケーションの要件のリストが記載されたファイルを追加します。
(templates フォルダではなく)deploying-apps-to-gcp フォルダ内に新しいファイルを作成し、そのファイルに以下の内容を追加して、requirements.txt
という名前で保存します。
Docker を使用するために、まず、Dockerfile というファイルを作成します。このファイルで、Docker コンテナをどのように構成するかを定義します。その作業を今から行います。
この Dockerfile ファイルを使用して、コンテナのビルド方法を定義します。
ブラウザの新しいタブにプログラムが表示されます。
Ctrl+C
キーを押して、プログラムを停止します。App Engine は完全に自動化されたデプロイ プラットフォームです。Python、Java、JavaScript、Go などの多数の言語に対応しています。App Engine を使用するには、構成ファイルを作成して、いくつかの簡単なコマンドでアプリケーションをデプロイします。このタスクでは、app.yaml という名前のファイルを作成して App Engine にデプロイします。
gcp-course/deploying-apps-to-gcp
フォルダを選択します。gcloud app create
コマンドを使用して 1 回だけ行います。コマンドにはアプリを作成するリージョンを指定します。[ターミナルを開く] をクリックし、次のコマンドを入力します。プロンプトが表示されたら、[承認] をクリックします。Google Cloud コンソールのタイトルバーにある検索フィールドに「App Engine」と入力し、[検索結果] セクションの [App Engine] をクリックします。
ダッシュボードの右上に、次のようなアプリケーションへのリンクがあります。
https://project-id.appspot.com
の形式になっています。
リンクをクリックしてプログラムをテストします。
プログラムに変更を加えて、App Engine で簡単にバージョン管理できることを確認します。
コードエディタの左側にあるナビゲーション パネルで、/deploying-apps-to-gcp
フォルダを開きます。main.py をクリックして開きます。
main() 関数内で、次のようにタイトルを「Hello App Engine
」に変更します。
コードエディタのツールバーで [File] > [Save] をクリックして変更を保存します。
次のコマンドを使用して、バージョン 2 をデプロイします。
--no-promote
パラメータは App Engine に対し、引き続き以前のバージョンでリクエストを処理するよう指示します。これにより、新しいバージョンを本番環境で使用する前にテストできます。
コマンドが完了したら、App Engine ダッシュボードに戻ります。再びリンクをクリックすると、引き続きバージョン 1 が表示されます。Hello GCP
と表示されます。これは、直前のコマンドで --no-promote
パラメータを指定したためです。
左側の [バージョン] タブをクリックします。2 つのバージョンが一覧表示されます。
バージョン 2 のリンクをクリックしてテストします。今度は Hello App Engine
と表示されます。
本番環境のトラフィックをバージョン 2 に移行するには、上部にある [トラフィックを分割] をクリックします。バージョンを 2 に変更して、[保存] をクリックします。
完了するまで少し待ちます。先ほど Hello GCP
と表示されたブラウザのタブを更新すると、新しいバージョンが返されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Kubernetes Engine を使用すると、マシンのクラスタを作成して、そこに任意の数のアプリケーションをデプロイできます。Kubernetes ではマシン管理の詳細が抽象化されるため、簡単な CLI コマンドを使用してアプリケーションのデプロイを自動化できます。
アプリケーションを Kubernetes にデプロイするには、最初にクラスタを作成する必要があります。次に、クラスタにデプロイするアプリケーションごとに構成ファイルを追加します。
ナビゲーション メニュー()で [Kubernetes Engine] をクリックします。Kubernetes API を初期化中というメッセージが表示されたら、初期化が完了するまで待ちます。
[クラスタを作成] をクリックし、[Standard クラスタに切り替え] をクリックして Standard クラスタへの切り替えを確定します。
[ロケーション タイプ] で [ゾーン] をクリックし、ゾーン
クラスタの右にある操作アイコン(3 つの点)、[接続] の順にクリックします。
[クラスタに接続する] ウィンドウで [Cloud Shell で実行] をクリックします。これにより、connect コマンドが自動入力された状態の Cloud Shell が開きます。
Enter キーを押してクラスタに接続します。
次のコマンドを入力して接続をテストします。
このコマンドによりクラスタ内のマシンが表示されます。表示された場合、接続されています。
gcp-course/deploying-apps-to-gcp
フォルダを開きます。main.py をクリックして開きます。Hello Kubernetes Engine
」に変更します。kubernetes-config.yaml
という名前のファイルを gcp-course/deploying-apps-to-gcp
フォルダ内に追加します。注: 上記の YAML ファイルの最初のセクションで、Deployment を構成しています。ここでは、Python ウェブアプリの 3 つのインスタンスをデプロイします。image 属性に注目してください。この値は、これからビルドするイメージで更新します。2 つ目のセクションでは Service を構成しており、type に LoadBalancer(ロードバランサ)を設定しています。このロードバランサにはパブリック IP アドレスを割り当てます。これにより、ユーザーがロードバランサを介してアプリケーションにアクセスするようにします。
Kubernetes の Deployment と Service の詳細については、以下のリンクからご確認ください。
上記のコマンドが完了すると、イメージ名が出力に表示されます。イメージ名の形式は
イメージ名をハイライト表示し、クリップボードにコピーします。コピーした名前を kubernetes-config.yaml
ファイル内に貼り付けて、文字列 <YOUR IMAGE PATH HERE>
を上書きします。
次のような内容になります。
すべての Pod の準備ができていることを確認します。準備ができていない場合は、数秒待ってから再試行します。
次のような内容になります。
ロードバランサの外部 IP アドレスが「pending」となっている場合は、数秒待ってから再試行します。
Hello Kubernetes Engine
と表示されます。準備が完了するまでに数秒かかる場合があります。[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cloud Run を使用すると、Kubernetes へのデプロイを簡素化して自動化できます。Cloud Run では構成ファイルは必要なく、アプリケーションに使用するクラスタを選択するだけです。Cloud Run では、Google が管理するクラスタを使用することも、独自の Kubernetes クラスタを使用することもできます。
Cloud Run を使用するには、Docker イメージを使用してアプリケーションをデプロイする必要があります。また、アプリケーションはステートレスである必要もあります。
gcp-course/deploying-apps-to-gcp
フォルダを開きます。main.py をクリックして開きます。Hello Cloud Run
」に変更します。変更を保存します。
Cloud Run を使用するには、Docker イメージをビルドする必要があります。Cloud Shell で次のコマンドを入力し、Cloud Build でイメージを作成して Artifact Registry に保管します。
ビルドが完了したら、Google Cloud コンソールのタイトルバーにある検索フィールドに「Cloud Run」と入力し、[プロダクトとページ] セクションの [Cloud Run] をクリックします。
[サービスを作成] をクリックします。 これで Cloud Run API が有効になります。
[コンテナ イメージの URL
] テキスト ボックスで [選択] リンクをクリックし、[Artifact Registry] をクリックします。表示されるダイアログで Region-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-demo > cloud-run-image を開き、リストに表示されたイメージを選択します。[選択] をクリックします。
[サービス名] に「hello-cloud-run」と入力し、リージョン
[認証] では、[未認証の呼び出しを許可] を選択します。
[コンテナ、ボリューム、ネットワーキング、セキュリティ] で、[実行環境] セクションの [デフォルト] を選択します。
[リビジョン スケーリング] の [インスタンスの最大数] を 6 に設定します。他の項目はデフォルト値のままにしておきます。
最後に [作成] をクリックします。
このサービスのデプロイにそれほど時間はかかりません。緑色のチェックマークが表示されたら、アプリケーション用に自動的に生成された URL をクリックします。Hello Cloud Run
と表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このラボでは、Google Cloud サービスの App Engine、Kubernetes Engine、Cloud Run にアプリケーションをデプロイしました。
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください