チェックポイント
Deploy your app
/ 100
App Engine: Qwik Start - Python
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 サービスにアクセスできます。
- NoSQL データベース: Cloud Datastore、Cloud Firestore、Cloud Bigtable
- リレーショナル データベース: Cloud SQL、Cloud AlloyDB、Cloud Spanner
- ファイル / オブジェクト ストレージ: Cloud Storage、Cloud Filestore、Google ドライブ
-
キャッシュ保存: Cloud Memorystore(Redis または
memcached
) - タスク実行: Cloud Tasks、Cloud Pub/Sub、Cloud Scheduler、Cloud Workflows
- ユーザー認証: Cloud Identity Platform、Firebase Authentication、Google Identity Services
アプリケーションは、セキュリティ保護されたサンドボックス環境で実行されます。このため App Engine スタンダード環境では、リクエストを複数のサーバーに分散でき、トラフィック需要に合わせてサーバーがスケーリングされます。サーバーのハードウェア、オペレーティング システム、物理的な場所に関係なく、安全性と信頼性の高い独自の環境でアプリケーションが実行されます。
このハンズオンラボでは、簡単なメッセージを表示するシンプルな App Engine アプリケーションを作成する方法について説明します。
学習内容
このラボでは、Python アプリで以下を行います。
- クローン作成 / ダウンロード
- テスト
- 更新
- テスト
- デプロイ
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 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 インスタンスにコピーします。
- サンプルコードのあるディレクトリに移動します。
タスク 3. アプリケーションをテストする
プリインストールされた App Engine SDK に含まれている Google Cloud 開発用サーバー(dev_appserver.py
)を使用してアプリケーションをテストします。
- アプリケーションの app.yaml 構成ファイルが置かれた helloworld ディレクトリから、次のコマンドで Google Cloud 開発用サーバーを起動します。
これで開発用サーバーが起動し、ポート 8080 でリクエストを待機します。
-
[ウェブでプレビュー]()> [ポート 8080 でプレビュー] をクリックして結果を表示します。
新しいブラウザ ウィンドウで次のように表示されます。
タスク 4. コードに変更を加える
アプリケーションの開発中は、開発用サーバーを起動したままにすることができます。開発用サーバーで、ソースファイル内の変更が監視され、必要に応じてファイルが再読み込みされます。
実際にやってみましょう。開発用サーバーを実行したままにします。別のコマンドライン ウィンドウを開き、main.py
を編集して「Hello, World!」を「Hello, Cruel World!」に変更してみましょう。
-
Cloud Shell のタブの横にある [+] をクリックして、新しいコマンドライン セッションを開きます。
-
サンプルコードを含むディレクトリに移動するには、次のコマンドを入力します。
- 次のコマンドを入力して、nano で main.py を開き、内容を編集します。
-
「Hello, World!」を「Hello, Cruel World!」に変更します。
-
CTRL+S キーでファイルを保存し、CTRL+X キーで終了します。
-
Hello World! が表示されているブラウザを再読み込みするか、[ウェブでプレビュー]()> [ポート 8080 でプレビュー] をクリックして、結果を表示します。
タスク 5. アプリをデプロイする
- 作成したアプリケーションのルート ディレクトリ(app.yaml ファイルが保存されている場所)から次のコマンドを実行し、そのアプリケーションを App Engine にデプロイします。
- リージョンを表す番号(
)を入力します。
- App Engine アプリケーションが作成されます。
出力例:
- プロンプトが表示されたら「Y」と入力して詳細を確認し、サービスのデプロイを開始します。
出力例:
タスク 6. アプリケーションを表示する
- ブラウザを起動するには、次のコマンドを入力してから、表示されたリンクをクリックします。
出力例(実際のリンクは異なることに注意してください):
アプリケーションがデプロイされ、ブラウザで短いメッセージを読むことができます。
[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。
タスク 7. 理解度テスト
クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。
お疲れさまでした
クエストを完了する
このセルフペース ラボは、「Baseline: Deploy & Develop」クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、こちらのクエストまたはこのラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なすべてのクエストについては、Google Cloud Skills Boost カタログをご覧ください。
次のラボを受講する
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。
次のステップと詳細情報
- App Engine の詳細については、App Engine の概要をご覧ください。
- 「App Engine で Python 3 アプリをビルドする」で、App Engine の別の利用方法もお試しください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 10 月 18 日
ラボの最終テスト日: 2023 年 10 月 18 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。