App Engine の概要

App Engine アプリは、1 つ以上のサービスからなる単一のアプリケーション リソースで構成されています。各サービスは、それぞれ異なるランタイムを使用したり、異なるパフォーマンス設定で動作したりするように構成できます。各サービス内で、そのサービスの複数のバージョンをデプロイします。デプロイされた各バージョンは、そのバージョンに構成したトラフィックの処理量に応じて、1 つ以上のインスタンス内で実行されます。

アプリケーションのコンポーネント

アプリケーション リソースを作成すると、Google Cloud Platform プロジェクト内に App Engine アプリが作成されます。App Engine アプリケーションは、アプリを構成するサービス、バージョン、インスタンスの各リソースを格納する最上位のコンテナです。App Engine アプリを作成すると、設定、認証情報、アプリのメタデータのコレクションと一緒に、アプリのコードを含むすべてのリソースが、選択したリージョン内に作成されます。

各 App Engine アプリケーションには、少なくとも 1 つのサービス(default サービス)が含まれています。このサービスのバージョンは、いくつでも保持できます。

次の図に、複数のサービスで動作する App Engine アプリの階層を示します。この図では、アプリは 2 つのサービスからなり、そのそれぞれが複数のバージョンからなります。このうち 2 つのバージョンが、複数のインスタンス上でアクティブに実行されています。

アプリのサービス、バージョン、インスタンスの階層グラフ

Cloud Datastore などの他の GCP サービスは、App Engine アプリ全体で共有されます。詳細については、ウェブサービスの構造化をご覧ください。

サービス

App Engine 内のサービスを使用して、大規模なアプリを、App Engine 機能を安全に共有し、相互に通信できる論理コンポーネントに分解します。通常、App Engine サービスはマイクロサービスのように動作します。したがって、アプリ全体を単一のサービス内で実行したり、一連のマイクロサービスとして実行する複数のサービスを設計してデプロイしたりできます。

たとえば、お客様のリクエストを処理するアプリには、次のような異なるタスクをそれぞれ処理する個別のサービスが含まれていることがあります。

  • モバイル端末からの API リクエスト
  • 内部の管理タイプのリクエスト
  • 課金パイプラインやデータ分析などのバックエンド処理

App Engine 内の各サービスは、アプリのソースコードと、対応する App Engine 構成ファイルで構成されています。サービスにデプロイする一連のファイルは、そのサービスの 1 つのバージョンを表します。したがって、サービスへのデプロイを行うたびに、同じサービス内に追加のバージョンを作成することになります。

バージョン

それぞれのサービス内にアプリの複数のバージョンを用意することで、ロールバック用、テスト用、その他の一時的なイベント用といった、そのアプリの各種バージョンをすばやく切り替えることができます。トラフィックを移行または分割することで、特定の 1 つ以上のバージョンのアプリにトラフィックをルーティングできます。

インスタンス

サービスに含まれる各バージョンは、1 つ以上のインスタンスで実行されます。デフォルトでは、App Engine が負荷に合わせてアプリのスケーリングを行います。一貫したパフォーマンスを確保するために、稼働中のインスタンスの数を増やす場合は、アプリがスケールアップします。また、アイドル状態のインスタンスを最小限に抑えてコストを削減する場合は、アプリがスケールダウンします。インスタンスについて詳しくは、インスタンスの管理方法をご覧ください。

アプリケーション リクエスト

アプリの各サービスの名前やサービスごとに含まれる各バージョンの名前は、一意でなければなりません。こうした一意の名前を含めた URL を使用することで、特定のリソースを対象にトラフィックをルーティングできます。次に例を示します。

http://my-version.my-service.my-project-id.appspot.com
https://my-version-dot-my-service-dot-my-project-id.appspot.com

受信ユーザー リクエストは、トラフィックを処理するように構成されている、さまざまなサービスまたはバージョンにルーティングされます。特定のサービスやバージョンを対象にトラフィックをルーティングすることもできます。詳細については、リクエストの処理をご覧ください。

アプリケーション リクエストのロギング

アプリケーションがリクエストを処理するときには、そのロギング メッセージが stdoutstderr に書き込まれます。アプリのログについて詳しくは、アプリケーション ログの書き込みをご覧ください。

制限

アプリが有料か無料かに応じて、デプロイできるサービスやバージョンの最大数には以下の制限があります。

制限 無料アプリ 有料アプリ
アプリごとの最大サービス数 5 105
アプリごとの最大バージョン数 15 210

基本スケーリングまたは手動スケーリングを適用する各サービスのインスタンス数には以下の制限があります。

手動 / 基本スケーリングを適用するバージョンごとの最大インスタンス数
無料アプリ 有料アプリ(米国) 有料アプリ(EU)
20 25(us-central の場合は 200) 25
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

PHP の App Engine スタンダード環境