Apigee Extension Processor の概要

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge のドキュメントを表示する。

Apigee をご利用のお客様は、Apigee Extension Processor により、Cloud Load Balancing を使用して公開されている Google Cloud のプロダクトとサービス、または外部サービスに API 管理機能を追加できます。

Apigee Extension Processor の使用を開始するには、Apigee Extension Processor のクイックスタートをご覧ください。

Apigee Extension Processor のユースケース

Apigee をご利用のお客様は、Extension Processor により、 Google Cloud ロードバランサを使用して公開されているプロダクトまたはサービスに API 管理機能を適用するさまざまな Apigee ポリシーを選択できます。

Extension Processor を使用すると、次のことができます。

  • Google Cloud ワークロードへのアクセスを保護する。

    ロードバランサ トラフィックに適用する Apigee ポリシーは、VerifyApiKeyOAuthV2VerifyJWS など、さまざまなものから選択できます。

  • ネットワーク トラフィックに割り当ての適用を追加する。

    この機能により、API プロバイダは指定された期間にバックエンド サービスに対して行われる API 呼び出しの数を制限できます。たとえば、割り当てポリシーを使用して、呼び出しを 1 分あたり 1 件のリクエスト、または 1 か月あたり 10,000 件のリクエストに制限できます。

  • リクエストを認証するための Google トークンの挿入を管理する。

    Extension Processor と AssignMessage ポリシーを使用して、Google アクセス トークンまたは Google ID トークンをクライアント リクエスト ヘッダーに挿入することで、Google で認証されたバックエンド サービスとプロダクトへのアクセスを管理できます。

  • ネイティブ プロトコルをサポートする。

    Extension Processor を使用すると、gRPC 双方向ストリーミングサーバー送信イベント(SSE)HTTP/3 などのネイティブ プロトコルをサポートできます。

利点

Extension Processor は、前述のユースケースをサポートするだけでなく、次のような Apigee 組み込み機能のメリットもすべて提供します。

  • セキュリティ: Advanced API Security は、API トラフィックを継続的にモニタリングして分析し、不審な API リクエストを特定します。また、不審なリクエストをブロックまたはフラグ付けするためのツールも提供します。
  • 収益化: Apigee 内で作成したカスタマイズされた API プロダクトに料金プランを追加することで、API が使用されるたびに収益を創出できます。
  • トレーサビリティ: Apigee の分散トレース システムを使用すると、複数のアプリケーション、サービス、データベース、プロキシにまたがる分散システムでリクエストを追跡できます。
  • ビジネス インテリジェンス: Apigee API Analytics は、ロードバランサを介して送受信される大量の情報を収集し、UI でのデータ可視化や、オフライン分析用にデータをダウンロードする機能を提供します。

Apigee Extension Processor の仕組み

Apigee Extension Processor はトラフィック拡張機能(サービス拡張機能の一種)であり、Cloud Load Balancing を使用して、アプリケーション ロードバランサのデータ処理パスから Apigee にコールアウトを送信できます。アプリケーション ロードバランサとサービス拡張機能が構成されると、アプリケーション ロードバランサを通過するトラフィックは、次の図に示すようにサービス拡張機能を使用して Apigee プロキシへの呼び出しをトリガーします。

Apigee Extension Processor のフロー図
図 1: Apigee Extension Processor のインフラストラクチャとデータフロー。

この図は、Apigee Extension Processor 構成に必要なコンポーネントを示しています。

  • すべてのアプリケーション バックエンドをカバーするネットワーク エンドポイント グループ(NEG)で構成されたバックエンド サービスを持つアプリケーション ロードバランサ。
  • Extension Processor 専用の環境を持ち、プロパティ apigee-service-extension-enabledtrue に設定された Apigee インスタンス。
  • Private Service Connect(PSC)エンドポイントを使用して Apigee ランタイム プレーンに接続するように構成されたトラフィック拡張機能(サービス拡張機能の一種)。
  • 特別な環境で実行されているターゲットなしの Apigee API プロキシ。プロキシは、ロードバランサ トラフィックに API 管理機能を適用するために使用されます。

フロー図は以下を示しています。

  • 1: クライアントがアプリケーション ロードバランサにリクエストを送信します。
  • 2: アプリケーション ロードバランサがトラフィックを確認し、サービス拡張機能にコールアウトを送信します。
  • 3: Apigee Message Processor のサービス拡張機能実装が、関連する API 管理ポリシーを適用し、変更を加えたリクエストをアプリケーション ロードバランサに返します。
  • 4: アプリケーション ロードバランサが処理を完了し、リクエストをバックエンド サービスに転送します。バックエンド サービスからアプリケーション ロードバランサ、クライアントへのレスポンス パスでも、同様の処理が行われます。

詳細については、Cloud Load Balancing の拡張機能をご覧ください。

制限事項

Apigee Extension Processor には、以下に示す既知の制限事項があります。

  • Extension Processor はロードバランサ レベルで適用されます。ロードバランサを通過するすべてのトラフィックは、ベースパスや URL の区別なく、同じプロキシによって処理されます。
  • Extension Processor を通過するトラフィックには、Cloud Load Balancing と同じ割り当てが適用されます。

    関連する上限と割り当てには以下が含まれます。

    • ロードバランサあたりのトラフィック拡張機能の最大数: 1
    • プロジェクトあたりのトラフィック拡張機能の最大数: 100
    • プロジェクトあたりの拡張機能チェーンの最大数: 5
    • リソースあたりの拡張機能の最大数: 3

    詳細については、割り当てと上限をご覧ください。

  • Extension Processor を使用する場合、環境、環境グループ、API プロキシに追加の制限が適用されます。
    • Extension Processor の構成に使用される環境グループには、最大 1 つの環境を追加できます。
    • Extension Processor の構成時に使用される環境には、最大 50 の API プロキシをデプロイできます。
    • Extension Processor 専用の環境にデプロイされる API プロキシはすべて、同じプロキシタイプである必要があります。API プロキシは、すべてが標準 API プロキシであるか、すべてが拡張可能 API プロキシである必要があります。Extension Processor 環境では、標準 API プロキシと拡張可能 API プロキシを混在させることはできません。

    詳細については、Apigee 環境を作成するをご覧ください。

    Apigee の一般的な制限の詳細については、上限をご覧ください。

  • 次の Apigee ポリシーは、Extension Processor では使用できません。

料金

Apigee Extension Processor を使用すると、Apigee サブスクリプションや従量課金制の料金プランに関連する費用に加えて、次のネットワーク費用が発生する場合があります。

次のステップ