arrow_back

App Engine: Qwik Start - Python

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

App Engine: Qwik Start - Python

Lab 20分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP067

Google Cloud セルフペース ラボ

概要

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 コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト 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 | "REGION"}}}

タスク 1. Google App Engine Admin API を有効にする

App Engine Admin API を使用すると、開発者は App Engine アプリケーションをプロビジョニングして管理できます。

  1. 左側のナビゲーション メニューで、[API とサービス] > [ライブラリ] をクリックします。
  2. 検索ボックスに「App Engine Admin API」と入力します。
  3. App Engine Admin API カードをクリックします。
  4. [有効にする] をクリックします。API を有効にするためのプロンプトが表示されない場合は、API はすでに有効なので何もする必要はありません。

タスク 2. Hello World アプリをダウンロードする

事前に用意されている Python 用のシンプルな Hello World アプリを使用して、アプリを Google Cloud にデプロイする方法を確認します。次の手順に沿って、Hello World を Google Cloud インスタンスにダウンロードしてください。

  1. 次のコマンドを入力して、Hello World サンプルアプリ リポジトリを Google Cloud インスタンスにコピーします。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
  1. サンプルコードのあるディレクトリに移動します。
cd python-docs-samples/appengine/standard_python3/hello_world

タスク 3. アプリケーションをテストする

プリインストールされた App Engine SDK に含まれている Google Cloud 開発用サーバー(dev_appserver.py)を使用してアプリケーションをテストします。

  1. アプリケーションの app.yaml 構成ファイルが置かれた helloworld ディレクトリから、次のコマンドで Google Cloud 開発用サーバーを起動します。
dev_appserver.py app.yaml

これで開発用サーバーが起動し、ポート 8080 でリクエストを待機します。

  1. [ウェブでプレビュー](ウェブ プレビュー アイコン)> [ポート 8080 でプレビュー] をクリックして結果を表示します。

    新しいブラウザ ウィンドウで次のように表示されます。

    ページに「Hello World!」と表示されているブラウザ ウィンドウ

タスク 4. コードに変更を加える

アプリケーションの開発中は、開発用サーバーを起動したままにすることができます。開発用サーバーで、ソースファイル内の変更が監視され、必要に応じてファイルが再読み込みされます。

実際にやってみましょう。開発用サーバーを実行したままにします。別のコマンドライン ウィンドウを開き、main.py を編集して「Hello, World!」を「Hello, Cruel World!」に変更してみましょう。

  1. Cloud Shell のタブの横にある [+] をクリックして、新しいコマンドライン セッションを開きます。

    + ボタン

  2. サンプルコードを含むディレクトリに移動するには、次のコマンドを入力します。

cd python-docs-samples/appengine/standard_python3/hello_world
  1. 次のコマンドを入力して、nano で main.py を開き、内容を編集します。
nano main.py
  1. 「Hello, World!」を「Hello, Cruel World!」に変更します。

  2. CTRL+S キーでファイルを保存し、CTRL+X キーで終了します。

  3. Hello World! が表示されているブラウザを再読み込みするか、[ウェブでプレビュー](ウェブ プレビュー アイコン)> [ポート 8080 でプレビュー] をクリックして、結果を表示します。

    ページに「Hello, Cruel World!」と表示されているブラウザ ウィンドウ

タスク 5. アプリをデプロイする

  1. 作成したアプリケーションのルート ディレクトリ(app.yaml ファイルが保存されている場所)から次のコマンドを実行し、そのアプリケーションを App Engine にデプロイします。
gcloud app deploy
  1. リージョンを表す番号()を入力します。
  1. 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)?
  1. プロンプトが表示されたら「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

ページに「Hello, Cruel World!」と表示されているブラウザ ウィンドウ

アプリケーションがデプロイされ、ブラウザで短いメッセージを読むことができます。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。

アプリをデプロイする

タスク 7. 理解度テスト

クイズに挑戦して Google Cloud Platform に関する知識をチェックしましょう(正しいものをすべて選択してください)。

お疲れさまでした

クエストを完了する

このセルフペース ラボは、「Baseline: Deploy & Develop」クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、こちらのクエストまたはこのラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なすべてのクエストについては、Google Cloud Skills Boost カタログをご覧ください。

次のラボを受講する

このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

次のステップと詳細情報

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 の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。