GSP067

概要
App Engine を使用すると、開発者は最も得意な作業、つまりコードの記述に集中でき、コードが実行される環境に労力をかけずに済みます。開発者はアプリを App Engine にアップロードするだけで、残りは Google Cloud が処理してくれます。サーバー、仮想マシン、インスタンスの概念は抽象化され、必要なすべてのコンピューティングは App Engine が提供します。App Engine がすべて処理してくれるため、開発者はオペレーティング システム、ウェブサーバー、ロギング、モニタリング、ロード バランシング、システム管理、スケーリングについて心配する必要がありません。開発者に必要なのは、組織やユーザー向けのソリューションの構築に集中することだけです。
App Engine スタンダード環境は、Python、Java、PHP、Go、Node.js、Ruby を言語サポートするアプリケーション ホスティング サービスを提供します。App Engine フレキシブル環境によってカスタム ランタイムがサポートされ、柔軟性がさらに向上しますが、本ラボでは取り上げません。
App Engine は Google Cloud オリジナルのサーバーレス ランタイムであり、2008 年の初回リリース以降、次のソリューションが追加されています。
-
Cloud Functions: アプリ全体を使用しない場合、大きなモノリシック アプリを複数のマイクロサービスに分割している場合、またはユーザー アクティビティに基づいて実行される短いイベント駆動型タスクを使用する場合に適しています。
-
Cloud Run: App Engine に似たサーバーレス コンテナ ホスティング サービスですが、現在のソフトウェア開発の状況がより的確に反映されています。
このラボでは、基本的なアプリを App Engine にデプロイする方法を学びますが、Cloud Functions や Cloud Run もぜひご確認ください。App Engine では、負荷が高くデータ量が多い状況でも確実に実行されるアプリケーションを簡単にビルドしてデプロイできます(Cloud Functions と Cloud Run も同様です)。
App Engine アプリは、アプリケーションで使用する多数の追加の Cloud サービスやその他の Google サービスにアクセスできます。
アプリケーションは、セキュリティ保護されたサンドボックス環境で実行されます。このため App Engine スタンダード環境では、リクエストを複数のサーバーに分散でき、トラフィック需要に合わせてサーバーがスケーリングされます。サーバーのハードウェア、オペレーティング システム、物理的な場所に関係なく、安全性と信頼性の高い独自の環境でアプリケーションが実行されます。
このハンズオンラボでは、簡単なメッセージを表示するシンプルな App Engine アプリケーションを作成する方法について説明します。
学習内容
このラボでは、Python アプリで以下を行います。
- クローン作成 / ダウンロード
- テスト
- 更新
- テスト
- デプロイ
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
- ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。
左側の [ラボの詳細] ペインには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] ペインでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] ペインでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
-
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン
をクリックします。
-
ウィンドウで次の操作を行います。
- Cloud Shell 情報ウィンドウで操作を進めます。
- Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、 が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
- [承認] をクリックします。
出力:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
注: Google Cloud における gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
タスク 1. Google App Engine Admin API を有効にする
App Engine Admin API を使用すると、開発者は App Engine アプリケーションをプロビジョニングして管理できます。
- 左側のナビゲーション メニューで、[API とサービス] > [ライブラリ] をクリックします。
- 検索ボックスに「App Engine Admin API」と入力します。
-
App Engine Admin API カードをクリックします。
- [有効にする] をクリックします。API を有効にするためのプロンプトが表示されない場合は、API はすでに有効なので何もする必要はありません。
タスク 2. Hello World アプリをダウンロードする
事前に用意されている Python 用のシンプルな Hello World アプリを使用して、アプリを Google Cloud にデプロイする方法を確認します。次の手順に沿って、Hello World を Google Cloud インスタンスにダウンロードしてください。
- 次のコマンドを入力して、Hello World サンプルアプリ リポジトリを Google Cloud インスタンスにコピーします。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
- サンプルコードのあるディレクトリに移動します。
cd python-docs-samples/appengine/standard_python3/hello_world
- Python 環境を設定します。
sudo apt update
sudo apt install -y python3-venv
python3 -m venv myenv
source myenv/bin/activate
タスク 3. アプリケーションをテストする
プリインストールされた App Engine SDK に含まれている Google Cloud 開発用サーバー(dev_appserver.py
)を使用してアプリケーションをテストします。
- アプリケーションの app.yaml 構成ファイルが置かれた helloworld ディレクトリから、次のコマンドで Google Cloud 開発用サーバーを起動します。
dev_appserver.py app.yaml
これで開発用サーバーが起動し、ポート 8080 でリクエストを待機します。
-
[ウェブでプレビュー](
)> [ポート 8080 でプレビュー] をクリックして結果を表示します。
新しいブラウザ ウィンドウで次のように表示されます。

タスク 4. コードに変更を加える
アプリケーションの開発中は、開発用サーバーを起動したままにすることができます。開発用サーバーで、ソースファイル内の変更が監視され、必要に応じてファイルが再読み込みされます。
実際にやってみましょう。開発用サーバーを実行したままにします。別のコマンドライン ウィンドウを開き、main.py
を編集して「Hello, World!」を「Hello, Cruel World!」に変更してみましょう。
-
Cloud Shell のタブの横にある [+] をクリックして、新しいコマンドライン セッションを開きます。

-
サンプルコードを含むディレクトリに移動するには、次のコマンドを入力します。
cd python-docs-samples/appengine/standard_python3/hello_world
- 次のコマンドを入力して、nano で main.py を開き、内容を編集します。
nano main.py
-
「Hello, World!」を「Hello, Cruel World!」に変更します。
-
CTRL+S キーでファイルを保存し、CTRL+X キーで終了します。
-
Hello World! が表示されているブラウザを再読み込みするか、[ウェブでプレビュー](
)> [ポート 8080 でプレビュー] をクリックして、結果を表示します。

タスク 5. アプリをデプロイする
- 作成したアプリケーションのルート ディレクトリ(app.yaml ファイルが保存されている場所)から次のコマンドを実行し、そのアプリケーションを App Engine にデプロイします。
gcloud app deploy
- リージョンを表す番号()を入力します。
- App Engine アプリケーションが作成されます。
出力例:
Creating App Engine application in project [qwiklabs-gcp-233dca09c0ab577b] and region [{{{project_0.startup_script.app_region | "REGION"}}}]....done.
Services to deploy:
descriptor: [/home/gcpstaging8134_student/python-docs-samples/appengine/standard/hello_world/app.yaml]
source: [/home/gcpstaging8134_student/python-docs-samples/appengine/standard/hello_world]
target project: [qwiklabs-gcp-233dca09c0ab577b]
target service: [default]
target version: [20171117t072143]
target url: [https://qwiklabs-gcp-233dca09c0ab577b.appspot.com]
Do you want to continue (Y/n)?
- プロンプトが表示されたら「Y」と入力して詳細を確認し、サービスのデプロイを開始します。
出力例:
Beginning deployment of service [default]...
Some files were skipped. Pass `--verbosity=info` to see which ones.
You may also view the gcloud log file, found at
[/tmp/tmp.dYC7xGu3oZ/logs/2017.11.17/07.18.27.372768.log].
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 5 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════File upload done.
Updating service [default]...done.
Waiting for operation [apps/qwiklabs-gcp-233dca09c0ab577b/operations/2e88ab76-33dc-4aed-93c4-fdd944a95ccf] to complete...done.
Updating service [default]...done.
Deployed service [default] to [https://qwiklabs-gcp-233dca09c0ab577b.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s default
To view your application in the web browser run:
$ gcloud app browse
注: アプリのデプロイ中に「P4SA を取得できません」というエラーが表示された場合は、上記のコマンドを再実行してください。
タスク 6. アプリケーションを表示する
- ブラウザを起動するには、次のコマンドを入力してから、表示されたリンクをクリックします。
gcloud app browse
出力例(実際のリンクは異なることに注意してください):
Did not detect your browser. Go to this link to view your app:
https://qwiklabs-gcp-233dca09c0ab577b.appspot.com

アプリケーションがデプロイされ、ブラウザで短いメッセージを読むことができます。
[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。
アプリをデプロイする
タスク 7. 理解度テスト
クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。
お疲れさまでした
次のステップと詳細情報
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 3 月 17 日
ラボの最終テスト日: 2025 年 3 月 17 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。