サービス間の通信

リージョン ID

REGION_ID は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r が App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。

詳しくは、リージョン ID をご覧ください。

App Engine サービス間や App Engine サービスと他のサービス(Google Cloud サービスや外部アプリケーションなど)間での通信には、多様な方法を使用できます。

App Engine サービスと通信する最も簡単な方法は、URL にリソースの名前または ID を含めてターゲット設定した HTTP リクエストを送信することです。たとえば、該当する Google Cloud プロジェクト ID に加え、サービスまたはバージョンの ID を含めてターゲット設定できます。


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

なお、フレキシブル環境では、VERSION-dot-SERVICE-dot-PROJECT_IDVERSION はバージョンの名前、SERVICE はサービス名、PROJECT_ID はプロジェクト ID)全体の長さを 63 文字以下にする必要があります。また、名前の先頭や末尾にハイフンは使用できません。すべて含めた長さが 63 文字を超える場合、エラー DNS address could not be found. が表示されることがあります。

App Engine におけるリクエストの詳細:

App Engine サービスは、App Engine を含むプロセス間で信頼性の高い非同期多対多メッセージングを提供する Pub/Sub を使用して通信することもできます。これらのプロセスは、アプリケーション、サービス、さらには外部アプリケーションの個別インスタンスである可能性があります。

データベースと、App Engine アプリや他の外部アプリケーションとの間でデータを共有するには、データとファイルの保存についてをご覧ください。

プライベート通信

同一プロジェクト内のサービス間の通信

App Engine フレキシブル サービスで、宛先サービスを公共のインターネットに公開することなく、同じプロジェクト内の別の App Engine サービスと通信ができるようにすることが可能です。

  1. 「内部」トラフィックのみを許可するように宛先サービスの上り(内向き)設定を構成します。

  2. ソースアプリのバージョンが、別のプロジェクトにある共有 VPC ネットワークにデプロイされていないことを確認します。

異なるプロジェクトのサービス間の通信

プロジェクトで実行されているアプリが属している共有 VPC ネットワークが、その共有 VPC ネットワークのホスト プロジェクトで実行されているアプリを呼び出すように構成されている場合、Google Cloud プロジェクト間でプライベート アクセスが可能です。

このパターンを使用するには、前述の同じプロジェクト内のサービス間の通信の手順を実施します。フレキシブル環境で、各クライアント バージョンを同じ共有 VPC ネットワークにデプロイします。

App Engine では、内部アクセスを使用してプロジェクト間でその他の方法で通信することはできません。

予約済みの URL パス

次の URL パスは使用できません。

  • /eventlog で終わるパス
  • /_ah/ で始まるパス
  • 末尾が z の一部のパス