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 サービスにコールアウトを送信できます。
Model Armor を呼び出すように拡張機能を構成して、GKE Inference Gateway などのアプリケーション ロードバランサの推論トラフィックにセキュリティ ポリシーを均一に適用できます。
詳細については、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 ヘッダーを動的に追加します。
- カスタム ビジネス ロジックを適用します。