Service Extensions を使用すると、独自の WebAssembly(Wasm)コードを完全にサーバーレスの Google が管理するコンピューティング環境で実行できます。このページでは、Service Extensions を使用した拡張性について説明します。
Cloud CDN の Service Extensions エッジ拡張機能について
プラグインのビルドには Wasm と Proxy-Wasm ABI を使用します。Proxy-Wasm ABI は、Rust、C++、Go をサポートしています。Service Extensions プラグインは、完全にサーバーレスの Google が管理するインフラストラクチャで実行されます。データプレーンの近くで実行され、レイテンシの最適化が管理されます。Service Extensions プラグインは、CPU とメモリに厳しい制限がある軽量なユースケースを対象としています。Service Extensions プラグインは、エッジ拡張機能を使用してグローバル外部アプリケーション ロードバランサに接続します。
詳しくは、エッジ拡張機能の仕組みをご覧ください。
一般的なユースケース
グローバル外部アプリケーション ロードバランサで Service Extensions プラグインを使用するシナリオの例を以下に示します。
- カスタム トラフィック ステアリング
- リクエスト ヘッダーを操作して、バックエンド サービスを選択できるようにする。
- キャッシュの最適化
- Cloud CDN キャッシュから配信するコンテンツを制御できるようにする。
- 例外処理
- 特定のエラー応答の場合、クライアントをカスタム エラーページにリダイレクトする。
- カスタム ロギング
- ユーザー定義のヘッダーやカスタム データを Cloud Logging に記録する。
- ヘッダーの追加
- 使用しているアプリケーションや個々の顧客に応じた新しいヘッダーを作成する。
- リクエストの新しいヘッダーを挿入する。
- ヘッダーの操作
- 既存のリクエスト ヘッダーを書き換える、またはバックエンドに送信されるクライアント ヘッダーをオーバーライドする。
- セキュリティ
- クライアントのリクエストに基づいてカスタム セキュリティ ポリシーを作成し、プラグイン内で適用に関する判断を下す。
使ってみる
次のステップ
- Service Extensions のコンセプトについて学習する。
- Service Extensions プラグインの GitHub リポジトリで Rust、Go、C++ のプラグインの例とテストツールを参照する。
- Service Extensions を使用してプラグインを作成するために必要なファイルを準備してアップロードする方法を学習する。
- プラグインを作成する方法を学習する。
- エッジ拡張機能を構成する方法を学習する。