このページでは、Media CDN ルートで Service Extensions プラグインを構成する方法について説明します。
Media CDN と Service Extensions を使用して、リクエストとレスポンスの処理パスにカスタムコードを追加できます。このようなカスタマイズにより、さまざまな軽量ユースケースが実現します。
詳細については、Media CDN 拡張機能の概要をご覧ください。
始める前に
プラグインの Wasm アクションを作成する
Wasm アクションを作成するときに、Cloud Load Balancing 拡張機能ですでに使用されているプラグインを使用することはできません。
gcloud alpha service-extensions wasm-actions create コマンドを実行して、Service Extensions プラグインの Wasm アクションを作成します。
gcloud alpha service-extensions wasm-actions create WASM_ACTION \
--wasm-plugin=WASM_PLUGIN \
--supported-events=[EVENT,...]
次のように置き換えます。
WASM_ACTION: Wasm アクションの ID または完全修飾名WASM_PLUGIN: アクションを関連付けるプラグインの名前EVENT:request-headersまたはresponse-headersのいずれかまたは両方の値で示される、プラグインで処理されるペイロードの部分。指定しない場合、両方のヘッダーが処理されます。
Wasm アクションの作成には時間がかかることがあります。
プラグインをルートにアタッチする
Media CDN ルートにプラグインをアタッチする手順は次のとおりです。
サービスの現在の構成を YAML ファイルにエクスポートするには、
gcloud edge-cache services exportコマンドを実行します。gcloud edge-cache services export SERVICE_NAME \ --destination=FILENAME.yaml以下を置き換えます。
SERVICE_NAME: Media CDN サービスの名前FILENAME: YAML ファイルの名前
テキスト エディタを使用して YAML ファイルを編集します。
次の例に示すように、ファイル内のルートを更新して
wasmActionヘッダーを追加します。name: SERVICE_NAME routing: hostRules: - hosts: - DOMAIN_NAME pathMatcher: routes pathMatchers: - name: routes routeRules: - priority: '1' description: Route 1 matchRules: - prefixMatch: /plugins origin: projects/PROJECT_NUMBER/locations/global/edgeCacheOrigins/ORIGIN_NAME routeAction: wasmAction: projects/PROJECT_NUMBER/locations/global/wasmActions/WASM_ACTION以下を置き換えます。
SERVICE_NAME: Media CDN サービスの名前DOMAIN_NAME: Media CDN サービスのドメインPROJECT_NUMBER: プロジェクト番号ORIGIN_NAME: コンテンツのオリジンWASM_ACTION: Service Extensions Wasm アクション
YAML ファイルを保存します。
gcloud edge-cache services importコマンドを実行します。gcloud edge-cache services import SERVICE_NAME \ --source=FILENAME.yaml
新しいプラグインがすべての場所に配信されるまでには、しばらく時間がかかることがあります。プラグインはすべての地域に同時に配信されるわけではないため、地域によって時間が異なる場合があります。