Service Extensions の概要

Service Extensions を使用すると、Cloud Load Balancing、Media CDN、Secure Web Proxy などの Google Cloudプロダクトのユーザーは、カスタムコードをデータパスに直接挿入できます。これにより、ビジネスニーズに合わせてこれらのプロダクトの動作をカスタマイズできます。このページでは、Service Extensions の概要について説明します。

拡張機能の種類

Cloud Load Balancing、Media CDN、Secure Web Proxy などのネットワーキング プロダクトのデータパスは、データ処理ステージのパイプラインとして可視化できます。Service Extensions を使用すると、これらのステージの 1 つ以上にカスタム ロジックを挿入できます。

Service Extensions には、カスタム ロジックを挿入する 2 つの方法(プラグインとコールアウト)があります。

プラグイン

プラグインを使用すると、カスタムコードをネットワーク データパスにインラインで挿入できます。

プラグインにはカスタム ロジックがインラインで含まれています。
プラグインにはカスタム ロジックがインラインで含まれています(クリックして拡大)。

プラグインは、WebAssembly(Wasm)Proxy-Wasm ABI を使用してビルドします。プラグインは、サーバーレス インフラストラクチャと同様の Google 管理のサンドボックス インフラストラクチャで Wasm モジュールとして実行されます。プラグインは Google マネージド コンピューティングで実行されます。機能が制限されており、厳格なランタイム要件があります。データプレーンの近くで実行され、レイテンシの最適化が管理されます。

プラグインの詳細については、プラグインの概要をご覧ください。

コールアウト

コールアウトを使用すると、Cloud Load Balancing を使用して、データ処理中に Google サービスとユーザー管理サービスに対して Envoy gRPC 呼び出しを行うことができます。

コールアウトには、サービスからのカスタム ロジックが含まれます。
コールアウトにはサービスからのカスタム ロジックが含まれる(クリックして拡大)。

コールアウトは、ユーザー管理のコンピューティング VM、GKE Multi-Cloud の Google Kubernetes Engine(GKE)Pod、またはオンプレミス環境で汎用 gRPC サーバーとして実行されます。

コールアウトにはランタイム制限がなく、必要に応じて既存のソフトウェアを再利用できます。コールアウトを使用すると、特定のワークロードの固有のニーズに合わせてカスタマイズ可能なフルマネージド サービスのメリットを得ることができます。コールアウト サービスの拡張性と可用性を確認するだけで済みます。

コールアウトについて詳しくは、コールアウトの概要をご覧ください。

Cloud Load Balancing 拡張機能

Cloud Load Balancing の Service Extensions を使用すると、ユーザーはサポートされているアプリケーション ロードバランサのロード バランシング リクエストとレスポンスの処理パスに豊富なカスタマイズを追加できます。

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

プラグイン

Service Extensions を使用すると、Cloud Load Balancing 処理パスに事前公開されたプラグインを追加して、カスタム ニーズに対応できます。

次のシナリオ例では、Cloud Load Balancing でプラグインを使用します。

例外処理
特定のエラー応答の場合、クライアントをカスタム エラーページにリダイレクトする。
カスタム ロギング
ユーザー定義のヘッダーやカスタム データを Cloud Logging に記録する。
ヘッダーの追加
使用しているアプリケーションや個々の顧客に応じた新しいヘッダーを作成する。
リクエストとレスポンスの新しいヘッダーを挿入する。
ヘッダーの操作
既存のリクエスト ヘッダーとレスポンス ヘッダーを書き換えるか、バックエンドに送信されるクライアント ヘッダーまたはクライアントへのレスポンスをオーバーライドします。
セキュリティ
クライアントのリクエスト ヘッダーまたはレスポンス ヘッダーに基づいてカスタム セキュリティ ポリシーを作成し、プラグイン内で適用に関する判断を下す。
スクリプト インジェクション
Google reCAPTCHA の統合または Google アナリティクスのタグ付けのために、オリジンから HTML を書き換えます。
Cloud CDN に影響を与える
HTTP リクエストの特性を操作して、カスタム キャッシュの動的性を制御し、Cloud CDN キャッシュから配信されるコンテンツを決定する。
ルーティング
HTTP リクエストを書き換えてバックエンド サービスの選択に影響を与え、エッジでより高度なルーティングの決定を可能にします。

ユーザー管理サービスへのコールアウト

Service Extensions を使用すると、サポートされているアプリケーション ロードバランサは、データ処理パスからユーザーが管理するバックエンド サービスにコールアウトを送信できます。

Cloud Load Balancing で次の目的でコールアウトを使用します。

  • コンピューティングまたはストレージの量が任意の場合
  • 状態を維持したい場合
  • BigQuery や任意の場所にホストされているサードパーティ アプリケーションなどの外部サービスを使用する場合

コールアウトは柔軟性が高く、さまざまなカスタマイズをサポートしています。日常生活でのユースケースの例を次に示します。

カスタム ルーティングとトラフィック管理
HTTP または URL のリダイレクトを実行します。
アプリケーション固有のロジックに基づいてヘッダーや URL などのリクエスト属性を変更し、URL マップがリクエストで最初にターゲットにされたバックエンド サービスとは異なるバックエンド サービスを選択するようにします。
トラフィックをバックエンド サービスに転送する前に、複雑なアプリケーション固有のロジックに基づいてヘッダーを追加、削除、変更したり、URL を書き換えたりします。
リクエストの特定の属性に基づいて、カスタム セッション アフィニティまたはスティッキーを実装します。
プレビューで、テナントをエンドポイントにプログラムでマッピングする動的転送を実装します。
セキュリティとロギング
ペイロードまたはカスタム ヘッダーから Logging またはカスタムのロギング ソリューションにカスタム情報を記録します。
カスタム ユーザー認証と認可のサポートを含む、セキュリティ ツールまたはサービスを使用します。
デバイス ID などの任意のヘッダーとクエリ パラメータを検証します。
リクエストとレスポンスをサードパーティのロギング ソリューションに記録します。
カスタム ユーザー認証と認可を実装します。
パートナー統合
API Gateway セキュリティ、BOT 管理、ウェブ アプリケーション ファイアウォール(WAF)などのセキュリティ プロダクトを統合します。
承認
認可の意思決定プロセスを強化するか、Google 提供の組み込み認可エンジンからの認可の判断をさらに制約します。
複数の認可システムからの認可の決定を混在させます。
Google 認証エンジンを、外部ポリシー エンジンなど、より広範な認証エコシステムやインフラストラクチャとシームレスに統合します。

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

Google サービスへのコールアウト

Service Extensions を使用すると、サポートされているアプリケーション ロードバランサは、データ処理パスから選択した Google サービスにコールアウトを送信できます。

GKE Inference Gateway などのアプリケーション ロードバランサの推論トラフィックにセキュリティ ポリシーを均一に適用するように、Model Armor を呼び出す拡張機能を構成できます。

詳細については、Google サービスとの統合をご覧ください。

GKE 拡張機能

Google Kubernetes Engine(GKE)Gateway は、拡張機能を使用してロード バランシング処理パスにカスタムコードを追加することをサポートしています。これらの拡張機能を使用すると、ルーティングのカスタマイズ、リクエストまたはレスポンスのペイロードの変更、外部サービスとの統合を行うことができます。

詳細については、Service Extensions を使用して GKE Gateway トラフィックのルーティングをカスタマイズするをご覧ください。

Media CDN 拡張機能

Media CDN には、コンテンツ配信ネットワーク(CDN)の最も一般的なユースケースに対応するための組み込みのコア機能が多数用意されています。Service Extensions は、これらの機能を超えるいくつかの要件に対応するのに役立ちます。

詳細については、Media CDN 拡張機能の概要をご覧ください。

Media CDN のプラグイン

Service Extensions を使用すると、Media CDN 処理パスに事前公開されたプラグインを追加して、カスタム ニーズに対応できます。

Media CDN でプラグインを使用できる主なユースケースは次のとおりです。

カスタマイズ
リクエスト URL を書き換えます。
ヘッダー値を正規化して、キャッシュのパフォーマンスを向上させます。
セキュリティとロギング
ライブ イベント中に、不正なトークンを使用しているユーザーをブロックします。
カスタム ユーザー認証と認可をサポートします。
カスタム URL の署名を翻訳して実装します。
キャッシュキー、アプリケーション固有のヘッダー、デバイスタイプをカスタマイズします。
カスタム変数を Cloud Logging に記録します。
ターゲティングと収益化
A/B テストでコンバージョンを改善します。
カスタム広告のターゲット設定を実装します。
追加料金なしでトライアル使用モデルを提供します。
パートナー統合
動画の透かしを実装します。
動画と画像を最適化します。

Secure Web Proxy 拡張機能

Secure Web Proxy は、組織の送信トラフィックに対して一元化されたポリシーベースの制御を提供するクラウド ファーストのサービスです。詳細については、Secure Web Proxy 拡張機能の概要をご覧ください。

Secure Web Proxy を使用すると、ツールにアクセスしようとしているか、インターネット上の他のエージェントとやり取りしようとしているソース ワークロードまたはエージェントの ID を検証する認可ポリシーを構成できます。

Secure Web Proxy のコールアウト

Service Extensions を使用すると、コールアウトを使用してカスタム サービスを Secure Web Proxy 処理パスに直接挿入できます。

Secure Web Proxy でコールアウトを使用できる主なユースケースは次のとおりです。

セキュリティ
構成されたポリシー エンジンまたはエージェント アプリケーションに認可の判断を委任します。
アウトバウンド データ転送と AI エージェント フローを専門のセキュリティ プロバイダと統合します。
カスタム認証または認可ソリューションを実装します。
カスタマイズ
トラフィックが宛先に到達する前に、トラフィックを検査、変更、ブロックします。
HTTP ヘッダーを動的に追加します。
カスタム ビジネス ロジックを適用します。

グローバル フロントエンド

グローバル フロントエンドは、Service Extensions、グローバル外部アプリケーション ロードバランサGoogle Cloud ArmorCloud CDN を 1 つのソリューションに統合し、インターネットに接続するアプリケーションの配信、スケーリング、保護を支援します。Global Front End Enterprise の課金ティアでは、これらのプロダクトの料金は単一の料金プランに統合されます。

Google Cloudプロジェクトで Global Front End Enterprise 請求ティアを有効にすることができます。詳細については、 Google Cloud コンソールの Global Front End ページをご覧ください。