リージョン 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_ID
(VERSION
はバージョンの名前、SERVICE
はサービス名、PROJECT_ID
はプロジェクト ID)全体の長さを 63 文字以下にする必要があります。また、名前の先頭や末尾にハイフンは使用できません。すべて含めた長さが 63 文字を超える場合、エラー DNS address could not be
found.
が表示されることがあります。
App Engine におけるリクエストの詳細:
- リクエストの処理方法: アプリケーションがリクエストを受信してレスポンスを送信する方法について確認します。
- リクエストのルーティング方法: HTTPS URL の定義方法など、サービスをターゲットにする方法を確認します。
- サービスと他の Google Cloud サービスの間のリクエストを承認する方法を確認します。
App Engine サービスは、App Engine を含むプロセス間で信頼性の高い非同期多対多メッセージングを提供する Pub/Sub を使用して通信することもできます。これらのプロセスは、アプリケーション、サービス、さらには外部アプリケーションの個別インスタンスである可能性があります。
データベースと、App Engine アプリや他の外部アプリケーションとの間でデータを共有するには、データとファイルの保存についてをご覧ください。
レガシー バンドル サービスを使用している場合は、URL 取得 API を使用してサービス間やサービスから外部エンドポイントにリクエストを渡すこともできます。
また、同じ Google Cloud プロジェクト内にあるスタンダード環境のサービスでは、App Engine API のいずれかを使用して次のタスクに対応することもできます。
プライベート通信
同一プロジェクト内のサービス間の通信
App Engine スタンダード サービスで、宛先サービスを公共のインターネットに公開することなく、同じプロジェクト内の別の App Engine サービスと通信ができるようにすることが可能です。
同じプロジェクト内のサービス間の通信を許可するには:
宛先サービスの上り(内向き)設定を調整して、「内部」トラフィックのみを許可するように、上り(内向き)制御を構成します。
「内部」設定では、プロジェクトの VPC ネットワークからのリクエストのみが許可されます。これには、下り(外向き)トラフィックがコネクタ経由でルーティングされる場合、同じネットワーク上のクライアント アプリの App Engine リソースが含まれます。インターネットまたは他の Google Cloud プロジェクト(他の App Engine サービスを含む)からの他のすべてのトラフィックはブロックされます。
サーバーレス VPC アクセス コネクタ経由でトラフィックをルーティングします。
他のアプリ エンドポイントに非公開トラフィックを送信する App Engine のバージョンごとに、共有 VPC ネットワークではなく、いずれかの Google Cloud プロジェクト独自のネットワークに属するサーバーレス VPC アクセス コネクタにそのバージョンをアタッチします。
サーバーレス VPC アクセス コネクタで使用されるサブネットで、限定公開の Google アクセスが有効になっていることを確認します。
次のいずれかを構成します。
宛先ホスト名の DNS エントリを追加して、
private.googleapis.com
IP 範囲を使用するようにクライアント リクエストを構成します。DNS 構成に沿って DNS ホスト名を追加しますが、限定公開ゾーンはgoogleapis.com
ではなくappspot.com
用に構成してください。また、トラフィックがカスタム ドメインではなく宛先アプリのappspot.com
アドレスに送信されていることを確認します。アプリには、このappspot.com
ドメインを使用して、private.googleapis.com
IP 範囲でのみアクセスできます。private.googleapis.com
IP 範囲を使用するようにリクエストを構成する代わりに、サーバーレス VPC アクセス コネクタ経由でall-traffic
を送信するようにクライアント アプリを構成します。
異なるプロジェクトのサービス間の通信
プロジェクトで実行されているアプリが属している共有 VPC ネットワークが、その共有 VPC ネットワークのホスト プロジェクトで実行されているアプリを呼び出すように構成されている場合、Google Cloud プロジェクト間でプライベート アクセスが可能です。
このパターンを使用するには、前述の同じプロジェクト内のサービス間の通信の手順を実施します。スタンダード環境では、各クライアント バージョンを共有 VPC ネットワーク上のサーバーレス VPC アクセス コネクタにアタッチします。
App Engine では、内部アクセスを使用してプロジェクト間でその他の方法で通信することはできません。
予約済みの URL パス
次の URL パスは使用できません。
/eventlog
で終わるパス/_ah/
で始まるパス- 末尾が
z
の一部のパス