GSP069

概要
App Engine を使用すると、開発者は最も得意な作業、つまりコードを書くことに集中できます。App Engine スタンダード環境は、Google のインフラストラクチャで実行されるコンテナ インスタンスに基づいています。コンテナは、いくつか存在するランタイムの 1 つを使って事前構成されています。各ランタイムには App Engine Standard API をサポートするライブラリも含まれます。多くのアプリケーションでは、このスタンダード環境のランタイムとライブラリがあれば十分です。
App Engine スタンダード環境を使用すると、大量のデータがあって負荷が高い状態でも確実に実行できるアプリケーションを構築、デプロイできます。App Engine スタンダード環境には次の機能が含まれます。
- クエリ、並べ替え、トランザクションが可能な永続ストレージ
- 自動スケーリングとロード バランシング
- リクエストの範囲外の作業を行うための非同期タスクキュー
- 指定のタイミングまたは一定間隔でイベントをトリガーするための、スケジュール設定されたタスク
- 他の Google Cloud サービスや API とのインテグレーション
アプリケーションは、セキュリティ保護されたサンドボックス環境で実行されます。このため App Engine スタンダード環境では、リクエストを複数のサーバーに分散でき、トラフィック需要に合わせてサーバーがスケーリングされます。サーバーのハードウェア、オペレーティング システム、物理的な場所に関係なく、安全性と信頼性の高い独自の環境でアプリケーションが実行されます。
このハンズオンラボでは、簡単なメッセージを表示するシンプルな App Engine アプリケーションを作成する方法について説明します。
内容
- アプリケーションをダウンロードする
- アプリケーションをテストする
- アプリケーションをデプロイする
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、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 をアクティブにする」アイコン
をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
Your Cloud Platform project in this session is set to YOUR_PROJECT_ID
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project
出力:
[core]
project = <project_ID>
出力例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
注: Google Cloud における gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
プロジェクトに対するリージョンの設定
gcloud config set compute/region {{{project_0.default_region | "filled in at lab start"}}}
タスク 1. Google App Engine Admin API を有効にする
App Engine Admin API を使用すると、App Engine アプリケーションのプロビジョニングと管理を行うことができます。
- 左側のメニューで、[API とサービス] > [ライブラリ] をクリックします。

-
検索ボックスに「App Engine Admin API」と入力します。
-
[App Engine Admin API] をクリックします。

- [有効にする] をクリックします。

タスク 2. Hello World アプリをダウンロードする
PHP 用のシンプルな Hello World アプリが用意されているため、Google Cloud へのアプリのデプロイをすぐに試すことができます。次の手順に沿って、Hello World を Google Cloud インスタンスにダウンロードしてください。
- 次のコマンドを入力して、Hello World サンプルアプリ リポジトリのクローンを Google Cloud インスタンスに作成します。
git clone https://github.com/GoogleCloudPlatform/php-docs-samples.git
出力:
Cloning into 'php-docs-samples'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 13607 (delta 11), reused 9 (delta 9), pack-reused 13594
Receiving objects: 100% (13607/13607), 12.22 MiB | 23.45 MiB/s, done.
Resolving deltas: 100% (8848/8848), done.
- サンプルコードのあるディレクトリに移動します。
cd php-docs-samples/appengine/standard/helloworld
タスク 3. アプリをデプロイする
- アプリケーションを App Engine にデプロイするには、
app.yaml
ファイルが保存されているアプリケーションのルート ディレクトリで次のコマンドを実行します。
gcloud app deploy
- リージョンを表す番号を入力します。
出力:
Services to deploy:
descriptor: [/home/gcpstaging8140_student/helloworld/app.yaml]
source: [/home/gcpstaging8140_student/helloworld]
target project: [qwiklabs-gcp-e6160e374e92ffbf]
target service: [default]
target version: [20171117t091157]
target url: [https://qwiklabs-gcp-e6160e374e92ffbf.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.YZRoP4bCoj/logs/2017.11.17/09.08.37.201396.log].
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 5 files to Google Cloud Storage ═╣
╚════════════════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...done.
Updating service [default]...Waiting for operation [apps/qwiklabs-gcp-e6160e374e92ffbf/operat
ions/bf540c31-338f-4532-bcdc
-e47768040d0c] to complete...done.
Updating service [default]...done.
Deployed service [default] to [https://qwiklabs-gcp-e6160e374e92ffbf.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
タスク 4. アプリケーションを表示する
- 次のコマンドを入力し、ブラウザを起動します。
gcloud app browse
サンプル出力です。実際のリンクは異なります。
Did not detect your browser. Go to this link to view your app:
https://qwiklabs-gcp-e6160e374e92ffbf.appspot.com
- リンクをクリックして、アプリケーションを表示します。

アプリケーションがデプロイされ、ブラウザで短いメッセージを読むことができます。
[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。
アプリをデプロイする
タスク 5. コードに変更を加える
次に、サンプルアプリに変更を加えます。
- nano エディタを使ってファイル
index.php
を開きます。
nano index.php
-
「hello world!」を「goodbye world!」に書き換えます。
-
CTRL + X > Y > Enter の順にキーを押します。
-
Cloud Shell で次のコマンドを実行して、アプリケーションを再デプロイします。
gcloud app deploy
- サービスのデプロイを確認するメッセージが表示されたら、「Y」を入力します。
すぐに次の出力が表示されます。
To view your application in the web browser run:
$ gcloud app browse
-
ブラウザタブを更新して App Engine のデプロイを反映させます。次の結果が表示されます。

タスク 6. 理解度テスト
クイズに挑戦して Google Cloud Platform に関するご自分の知識をチェックしましょう。
お疲れさまでした
次のラボを受講する
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。
次のステップと詳細情報
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 8 月 16 日
ラボの最終テスト日: 2024 年 8 月 16 日
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。