arrow_back

Google Cloud の基礎: App Engine を使ってみる

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Google Cloud の基礎: App Engine を使ってみる

ラボ 20分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

概要

このラボでは、Google Cloud Shell で仮想環境を使用して、シンプルな App Engine アプリケーションを作成、デプロイします。

目標

このラボでは、次のタスクの実行方法について学びます。

  • App Engine を初期化する

  • Cloud Shell で、ローカルで実行される App Engine アプリケーションをプレビューする

  • App Engine アプリケーションをデプロイして他のユーザーがアクセスできるようにする

  • 表示する必要がなくなった App Engine アプリケーションを無効にする

ラボ環境を設定する

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

Google Cloud Shell の有効化

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

Google Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールで、右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

    ハイライト表示された Cloud Shell アイコン

  2. [続行] をクリックします。

環境がプロビジョニングされ、接続されるまでしばらく待ちます。接続した時点で認証が完了しており、プロジェクトに各自のプロジェクト ID が設定されます。次に例を示します。

Cloud Shell ターミナルでハイライト表示されたプロジェクト ID

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

  • 次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list

出力:

Credentialed accounts: - @.com (active)

出力例:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project =

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: gcloud ドキュメントの全文については、 gcloud CLI の概要ガイド をご覧ください。

タスク 1: App Engine を初期化する

  1. プロジェクトで App Engine アプリを初期化し、アプリを配置するリージョンを選択します。

    gcloud app create --project=$DEVSHELL_PROJECT_ID
    

    プロンプトが表示されたら、App Engine アプリケーションを配置するリージョンを選択します。

  2. hello_world ディレクトリにあるサンプル アプリケーションのソースコード リポジトリのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
    
  3. ソース ディレクトリに移動します。

    cd python-docs-samples/appengine/standard_python3/hello_world
    

タスク 2: Hello World アプリケーションをローカルで実行する

このタスクでは、Cloud Shell のローカル仮想環境内で Hello World アプリケーションを実行します。

Cloud Shell のコマンド プロンプトを開いていることを確認します。

  1. Dockerfile を作成する

    touch Dockerfile
    
  2. Dockerfile [ヒント: nano Dockerfile] を編集して、次のコンテンツを含めます。

    FROM python:3.7
    WORKDIR /app
    COPY . .
    RUN pip install gunicorn
    RUN pip install -r requirements.txt
    ENV PORT=8080
    CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app
    
    Dockerfile は、ローカル イメージを作成するために使用されます。
  3. コンテナ イメージをビルドして、Python 仮想環境を実行します。

    docker build -t test-python .
    
  4. アプリケーションを実行します。

    docker run --rm -p 8080:8080 test-python
    
  5. Cloud Shell で、ウェブでプレビュー アイコン(ウェブでプレビュー)> [ポート 8080 でプレビュー] をクリックしてアプリケーションをプレビューします。

    ウェブでプレビュー アイコンにアクセスするには、ナビゲーション メニューを折りたたむことが必要な場合があります。

    結果:

    hello_world.png

  6. テストを終了するには、Cloud Shell に戻り、Ctrl+C キーを押してデプロイ済みサービスを中止します。

  7. Cloud Console を使用して、アプリケーションがデプロイされていないことを確認します。Cloud Console のナビゲーション メニューナビゲーション メニュー)で、[App Engine] > [ダッシュボード] をクリックします。

    リソースはデプロイされていません。

タスク 3: App Engine 上で Hello World をデプロイして実行する

アプリケーションを App Engine スタンダード環境にデプロイするには:

  1. ソース ディレクトリに移動します。

    cd ~/python-docs-samples/appengine/standard_python3/hello_world
    
  2. Hello World アプリケーションをデプロイします。

    gcloud app deploy
    
    「続行しますか(Y/n)?」というプロンプトが表示されたら、 Y を押してから Enter を押します。

    この app deploy コマンドでは、app.yaml ファイルを使用してプロジェクトの構成を特定します。

    注意: Gaia 伝播関連のエラー メッセージが表示された場合は、gcloud app deploy コマンドを再実行してください。
  3. ブラウザを起動して、http://[プロジェクト ID].appspot.com でアプリケーションを表示します。

    gcloud app browse
    

URL をコピーして、新しいブラウザ ウィンドウに貼り付けます。

結果:

disable-app.png

お疲れさまでした App Engine を使用して最初のアプリケーションを作成しました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Hello World アプリケーションを App Engine にデプロイする

タスク 4: アプリケーションを無効にする

App Engine には、アプリケーションをデプロイ解除するオプションはありません。デプロイされたアプリケーションはその後もデプロイされたままになりますが、必要に応じて、デプロイを解除する代わりにアプリケーションを「サービス停止中」などの簡単なページに置き換えることができます。

ただし、アプリケーションを無効にすることは可能です。その場合、ユーザーはアプリケーションにアクセスできなくなります。

  1. Cloud Console のナビゲーション メニューナビゲーション メニュー)で、[App Engine] > [設定] をクリックします。

  2. [アプリケーションを無効にする] をクリックします。

  3. ダイアログ メッセージを読みます。[アプリ ID] に該当するアプリ ID を入力し、[無効にする] をクリックします。

アプリケーション サイトを表示していたブラウザ ウィンドウを更新すると、404 エラーが発生します。

f17c85cf862ddae3.png

お疲れさまでした

App Engine を使用して最初のアプリケーションを作成しました。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします