

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# MediaTailor を MediaPackage および CDN と統合する
<a name="mediapackage-integration"></a>

AWS Elemental MediaTailor は と統合 AWS Elemental MediaPackage して、コンテンツ配信ネットワーク (CDN) を介してパーソナライズされた動画広告を配信します。MediaPackage は、インターネット経由で配信するための動画コンテンツを準備して保護するjust-in-timeの動画パッケージ化および配信サービスです。ライブまたはオンデマンドの動画コンテンツを取得し、HLS や DASH などのストリーミング形式にパッケージ化することで、さまざまなデバイスで視聴者の準備が整います。

MediaPackage を MediaTailor と CDN と組み合わせると、パーソナライズされた広告を大規模に配信する完全なストリーミングワークフローが作成されます。CDN はコンテンツをグローバルに配信し、レイテンシーを減らして視聴者エクスペリエンスを向上させ、MediaTailor はターゲットを絞った広告をストリームに挿入します。

このトピックでは、MediaTailor、MediaPackage、および CDN を連携させるための重要な統合ステップに焦点を当てます。高度な設定オプション、トラブルシューティング、モニタリングガイダンスについては、「」を参照してください[次の手順](#emp-cdn-next-steps)。

## MediaPackage と CDN ワークフローについて
<a name="emp-cdn-overview"></a>

統合を設定する前に、MediaPackage、MediaTailor、および CDN がどのように連携するかを理解することが重要です。

1. **コンテンツの準備**: MediaPackage はライブまたはオンデマンドのビデオコンテンツを受信し、ストリーミング形式 (HLS または DASH マニフェストとセグメント) にパッケージ化します。

1. **広告挿入**: MediaTailor は MediaPackage からマニフェストをリクエストし、パーソナライズされた広告を挿入し、変更されたマニフェストをビューワーに提供します。

1. **グローバルディストリビューション**: CDN は、コンテンツセグメント (MediaPackage から) と広告セグメント (MediaTailor から) の両方をキャッシュして世界中の視聴者に配信します。

1. **視聴者の再生**: ビデオプレイヤーは CDN を介してマニフェストをリクエストします。CDN は MediaTailor (マニフェストの場合) と MediaPackage (コンテンツセグメントの場合) の間でリクエストを適切にルーティングします。

このアーキテクチャにはいくつかの利点があります。
+ **スケーラビリティ**: CDN は、オリジンサーバーに影響を与えずに高いビューワー負荷を処理します。
+ **パフォーマンス**: コンテンツはビューワーに最も近いエッジロケーションから配信されます
+ **コスト効率**: キャッシュによる帯域幅コストの削減
+ **信頼性**: 複数のエッジロケーションで冗長性を実現

## 前提条件
<a name="emp-cdn-prerequisites"></a>

開始する前に、次のコンポーネントが設定されていることを確認してください。

1. **MediaPackage エンドポイント**: 動画コンテンツを受信してパッケージ化する設定済み MediaPackage エンドポイント。セットアップ手順については、[MediaPackage ユーザーガイドの「MediaPackage の開始方法](https://docs.aws.amazon.com/mediapackage/latest/ug/getting-started.html)」を参照してください。 MediaPackage 

1. **MediaTailor 設定**: MediaPackage エンドポイントをコンテンツオリジンとして使用する MediaTailor 設定。 MediaPackage セットアップ手順については、「」を参照してください[MediaTailor 広告挿入用のコンテンツソースの統合](integrating-origin.md)。

1. **CDN ディストリビュー**ション: ストリーミングメディアで動作するように設定された CDN ディストリビューション (CloudFront など）。セットアップ手順については、CloudFront [デベロッパーガイドの「ディストリビューションの作成](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html)」を参照してください。

1. **広告決定サーバー**: 広告挿入のために VAST または VMAP レスポンスを返す設定済み広告決定サーバー。

## ステップ 1: 重要な CDN 設定を構成する
<a name="mediapackage-best-practices"></a>

MediaPackage の統合を成功させるには、適切な CDN 設定が不可欠です。設定が正しくないと、再生が失敗し、キャッシュパフォーマンスが低下し、コストが増加する可能性があります。適切なキャッシュポリシーとクエリパラメータの転送がないと、CDN がマニフェストを正しく配信できないか、キャッシュを完全にバイパスして、オリジンサーバーの負荷が高くなり、ビューワーエクスペリエンスが低下する可能性があります。

### 基本的なキャッシュ設定を構成する
<a name="mediapackage-cache-control"></a>

MediaPackage は特定のキャッシュコントロールヘッダーを使用してコンテンツ配信を最適化するため、基本的なキャッシュの設定は不可欠です。適切なキャッシュ設定がないと、CDN がこれらのヘッダーを無視し、不要なオリジンリクエストが発生し、レイテンシーが増加する可能性があります。最適なキャッシュ動作を確保するには、次の手順に従います。

MediaPackage で動作する基本的なキャッシュを設定するには:

1. CloudFront コンソールで CloudFront ディストリビューション設定を開きます。

1. MediaPackage オリジンのキャッシュポリシーを選択または作成します。

1. 「オリジンキャッシュコントロールヘッダー」オプションを有効にします。

1. MediaPackage がキャッシュ制御ヘッダーを使用してキャッシュ動作を制御できるようにします。

この基本設定により、MediaPackage はさまざまなコンテンツタイプに適切なキャッシュ期間を自動的に設定できます。特定の TTL 値とパフォーマンスチューニングを使用して高度なキャッシュ最適化を実装するには、まずこの基本的なセットアップを完了してから、「」に進みます[MediaTailor および MediaPackage コンテンツ配信の CDN キャッシュを最適化する](cdn-emp-caching.md)。

### 必須クエリパラメータを設定する
<a name="mediapackage-query-strings"></a>

MediaPackage の機能には、クエリパラメータの設定が不可欠です。CDN は特定のクエリパラメータを転送して、タイムシフト表示や低レイテンシーストリーミングなどの機能を有効にする必要があります。クエリパラメータの設定が正しくないと、これらの機能が機能しなくなり、キャッシュ効率が低下することが懸念されます。クエリパラメータの転送を設定するには、次の手順に従います。

CDN が必要なクエリパラメータを MediaPackage に転送するようにするには:

1. CloudFront ディストリビューション設定で、マニフェストリクエストのキャッシュポリシーを選択または作成します。

1. 「キャッシュキー設定」で、「指定されたクエリ文字列を含める」を選択します。

1. 次の必須クエリパラメータを追加します。
   + `start` および `end` - タイムシフト表示機能用。これらのパラメータは MediaPackage に渡され、スタートオーバーとキャッチアップ表示の特定のコンテンツウィンドウを定義します。
   + `_HLS_msn` および `_HLS_part` - LL-HLS 再生リクエストのサポート用
   + `m` - エンドポイントの変更された ti/compame をキャプチャする場合。MediaPackage レスポンスには、エンドポイントの変更時刻をキャプチャするための `?m=###` タグが常に含まれます。コンテンツがこのタグの別の値で既にキャッシュされている場合、CloudFront はキャッシュされたバージョンを提供する代わりに新しいマニフェストをリクエストします。
   + `aws.manifestfilter` - マニフェストフィルタリング機能用。マニフェストフィルタリングを使用している場合は、このパラメータを含めて、`aws.manifestfilter`クエリ文字列を MediaPackage オリジンに転送するようにディストリビューションを設定する必要があります。これは、マニフェストフィルタリング機能が機能するために必要です。

1. MediaPackage が使用するクエリ文字列のみを含めます。不要なクエリ文字列を含めると、同じコンテンツに対して複数のキャッシュバリエーションを作成できるため、キャッシュ効率が低下します。

これらのパラメータは、CDN で基本的な MediaPackage 機能を有効にします。さまざまなサブスクリプション層またはデバイスタイプに対してコンテンツフィルタリングを実装する必要がある場合は、まずこの基本的なクエリパラメータの設定を完了してから、「」に進みます[MediaTailor、MediaPackage、CDN でマニフェストフィルタリングを設定する](cdn-emp-manifest-filtering.md)。

MediaTailor がタイムシフト表示のために `start`や `end` などのクエリパラメータを MediaPackage に渡す方法については、[オリジンの MediaTailor クエリパラメータ処理](origin-query-parameters.md)「」の「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

### LL-HLS の応答タイムアウトを設定する
<a name="mediapackage-response-timeout"></a>

LL-HLS は CDN が新しいコンテンツセグメントを待機する「ブロックリクエスト」メカニズムを使用するため、低レイテンシーの HLS ではタイムアウト設定が重要です。タイムアウトが短すぎると、MediaPackage が新しいセグメントで応答できるようになる前にリクエストが失敗し、再生が中断され、ビューワーエクスペリエンスが低下します。LL-HLS の再生がスムーズに行われるように、適切なタイムアウトを設定します。

低レイテンシーの HLS を使用している場合は、CDN タイムアウト設定を構成します。

1. CDN 設定で、オリジンタイムアウト設定を見つけます。

1. 応答タイムアウト値をパート期間の少なくとも 3 倍に設定します。

1. たとえば、パートの所要時間が 0.3 秒の場合、タイムアウトを少なくとも 0.9 秒に設定します。

これにより、CDN は、ブロックリクエストメカニズムを使用するときに MediaPackage が応答するまで十分に待機します。

## ステップ 2: 統合を検証する
<a name="manifest-filtering-integration"></a>

ビューワーに問題が発生する前にすべてのコンポーネントが正しく連携するようにするには、統合をテストすることが重要です。統合に失敗すると、再生が中断されたり、広告が欠落したり、パフォーマンスが低下する可能性があります。この検証プロセスは、制御された環境の問題を特定して解決するのに役立ちます。

CDN 設定を設定したら、コンテンツリクエストから広告挿入までのワークフロー全体をテストして、統合が正しく機能していることを確認します。

### ステップ 2.1: 基本的な再生をテストする
<a name="manifest-filtering-overview"></a>

基本的な再生テストでは、CDN がマニフェストリクエストを正しく処理し、MediaTailor に転送することを確認します。このテストは、キャッシュポリシー、クエリパラメータの転送、マニフェスト処理の設定問題を特定するのに役立ちます。基本的なマニフェスト配信をテストするには、次の手順に従います。

CDN を介してマニフェストをリクエストして、基本的な統合が機能していることをテストします。

1. ウェブブラウザまたは curl を使用して、CDN を介してマニフェスト URL をリクエストします。

1. マニフェストが正常にロードされ、コンテンツセグメントと広告セグメントの両方が含まれていることを確認します。

1. マニフェスト内のコンテンツセグメント URLs が CDN ドメインを指していることを確認します。

1. 広告セグメント URLs CDN ドメインも指していることを確認します。

マニフェストが正しくロードされ、予想される URLsが含まれている場合、基本的な統合は機能しています。包括的なテスト方法と高度な検証手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。統合のパフォーマンスとヘルスの包括的なモニタリングを設定するには、「」を参照してください[MediaPackage、CDN、MediaTailor 統合のパフォーマンスをモニタリングする](cdn-emp-monitoring.md)。

### ステップ 2.2: ビデオ再生をテストする
<a name="manifest-filtering-cdn-config"></a>

動画再生テストにより、広告挿入や CDN 経由のコンテンツ配信など、完全な統合がend-to-endで機能します。このテストでは、コンテンツセグメントと広告セグメントの両方が適切にキャッシュおよび配信され、ビューワーエクスペリエンスが品質基準を満たしていることを確認します。完全な再生機能をテストするには、次の手順に従います。

挿入された広告でビデオ再生が正しく機能することをテストします。

1. CDN を介してコンテンツを再生するには、ビデオプレーヤー (Video.js や HLS.js など) を使用します。

1. バッファリングの問題なしでビデオがスムーズに再生されることを確認します。

1. 再生中に広告が予定時刻に挿入されていることを確認します。

1. コンテンツセグメントと広告セグメントの両方が CDN (オリジンから直接ではなく) からロードされていることを確認します。

広告で再生がスムーズに機能する場合、統合は正常に機能しています。包括的なテスト方法と高度な検証手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。再生の問題、バッファリング、または広告挿入の問題が発生した場合は、「」を参照してください[MediaPackage、CDN、MediaTailor の統合のトラブルシューティング](cdn-emp-troubleshooting.md)。

## 次の手順
<a name="emp-cdn-next-steps"></a>

基本的な統合が完了したら、高度な機能と最適化を実装できます。

**高度な CDN 最適化**  
詳細なキャッシュ最適化、TTL 設定、パフォーマンスチューニングについては、「」を参照してください[MediaTailor および MediaPackage コンテンツ配信の CDN キャッシュを最適化する](cdn-emp-caching.md)。

**マニフェストでのフィルタリング**  
階層型サービス、デバイス最適化、またはアクセスコントロールのコンテンツフィルタリングを実装するには、「」を参照してください[MediaTailor、MediaPackage、CDN でマニフェストフィルタリングを設定する](cdn-emp-manifest-filtering.md)。

**トラブルシューティング**  
統合で問題が発生した場合は、「」を参照してください[MediaPackage、CDN、MediaTailor の統合のトラブルシューティング](cdn-emp-troubleshooting.md)。

**パフォーマンスのモニタリング**  
包括的なモニタリングを設定し、主要なパフォーマンスメトリクスを理解するには、「」を参照してください[MediaPackage、CDN、MediaTailor 統合のパフォーマンスをモニタリングする](cdn-emp-monitoring.md)。

# MediaTailor、MediaPackage、CDN でマニフェストフィルタリングを設定する
<a name="cdn-emp-manifest-filtering"></a>

AWS Elemental MediaTailor は、 でマニフェストフィルタリング AWS Elemental MediaPackage を使用して、コンテンツ配信ネットワーク (CDN) を介して異なるビューワーに配信されるマニフェストに含まれるオーディオストリームとビデオストリームをカスタマイズします。これは、階層型サービス、デバイス固有の最適化、またはコンテンツアクセスコントロールの実装に特に役立ちます。

このトピックでは、特にマニフェストフィルタリング機能の実装に焦点を当てます。マニフェストフィルタリングを実装する前に、基本的なコンテンツ配信ネットワーク統合設定を完了する必要があります。基本的な MediaPackage とコンテンツ配信ネットワーク統合をまだ設定していない場合は、 から始めます[MediaTailor を MediaPackage および CDN と統合する](mediapackage-integration.md)。

## マニフェストフィルタリング機能
<a name="manifest-filtering-overview"></a>

マニフェストフィルタリングを実装する前に、この機能で何ができるかを理解してください。

### コアフィルタリング機能
<a name="filtering-capabilities"></a>

マニフェストフィルタリングは、コンテンツ配信の制御に役立ついくつかの主要な機能を提供します。
+ プレミアムコンテンツ (4K HEVC など) へのビューワーアクセスを制限する
+ 適切なストリームを使用して特定のデバイスタイプをターゲットにする
+ オーディオサンプルレート、言語、またはビデオコーデックに基づいてコンテンツをフィルタリングする
+ 異なるサブスクライバーに異なる品質階層を配信する

### 一般的なユースケース
<a name="filtering-use-cases"></a>

これらのユースケースは、マニフェストフィルタリングが特定のビジネス要件にどのように対処できるかを示しています。

**サブスクリプション階層**  
基本的なサブスクライバーに低解像度ストリームを提供し、プレミアムサブスクライバーに 4K コンテンツへのアクセスを提供する  
例: 基本階層は 720p に制限され、プレミアム階層は最大 4K になります

**デバイスの最適化**  
デバイス機能に基づいて適切なストリームを自動的に提供する  
例: モバイルデバイスはビットレートが低くなり、スマートTVs高品質になります

**帯域幅管理**  
ピーク使用期間中のストリーム品質を制限してネットワークコストを管理する  
例: トラフィックの多いイベント中の最大ビットレートを下げる

**リージョンコンテンツ**  
ビューワーの場所に基づいて異なるオーディオ言語またはコンテンツバリアントを提供する  
例: ローカル言語オーディオトラックを自動的にフィルタリングする

マニフェストフィルタリングの概念の詳細については、 AWS Elemental MediaPackage ユーザーガイドの[「マニフェストフィルタリング](https://docs.aws.amazon.com/mediapackage/latest/ug/manifest-filtering.html)」を参照してください。

## マニフェストフィルタリング用に CDN を設定する
<a name="cdn-filtering-configuration"></a>

CDN はフィルタリングを機能させるために`aws.manifestfilter`クエリパラメータを MediaPackage に転送する必要があるため、マニフェストフィルタリングの CDN 設定は不可欠です。適切なクエリ文字列転送がないと、フィルターパラメータは CDN によって削除され、すべてのビューワーはサブスクリプション階層やデバイス機能に関係なくフィルタリングされていないマニフェストを受け取ります。この設定により、フィルタリングロジックが MediaPackage に到達し、意図したとおりに機能します。

CDN を介してマニフェストフィルタリングを有効にするには、クエリ文字列の転送を設定する必要があります。

1. CloudFront ディストリビューションで、マニフェストリクエストのキャッシュ動作を作成または編集します。

1. **キャッシュポリシーの場合は、**新しいポリシーを作成するか、既存のポリシーを編集します。

1. **キャッシュキー設定**で、「指定されたクエリ文字列を含める」を選択します。

1. 許可されたクエリ文字列のリスト`aws.manifestfilter`に を追加します。

1. 他の MediaPackage 機能も使用している場合は、それらのクエリパラメータを追加します。
   + `start` および `end` - タイムシフト表示の場合
   + `time_delay` - 時間遅延機能の場合
   + `_HLS_msn` および `_HLS_part` - LL-HLS の場合

ディストリビューションの作成の詳細については、Amazon CloudFront [デベロッパーガイド」の「ディストリビューションの作成](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html)」を参照してください。

## クライアント側のフィルタリングを実装する
<a name="client-side-filtering-implementation"></a>

クライアント側の実装では、動画プレーヤーとアプリケーションがフィルタリングされたコンテンツをリクエストする方法を定義します。この設定は、サブスクリプションレベル、デバイス機能、またはその他の基準に基づいて、各ビューワーが受け取るコンテンツを決定します。適切な実装により、ビューワーは最適な CDN キャッシュ効率を維持しながら、アクセスする必要があるコンテンツのみを受信できます。

ビデオプレイヤーとアプリケーションにマニフェストフィルタリングを実装するには:

### フィルタリングの仕組み
<a name="filtering-workflow"></a>

フィルタリングプロセスは次のように機能します。

1. 動画プレーヤーまたはアプリケーションがフィルターパラメータを含むマニフェスト URL をリクエストする

1. CDN はリクエスト (クエリパラメータを含む) を MediaTailor に転送します

1. MediaTailor は、オリジンマニフェストをリクエストするときにフィルターパラメータを MediaPackage に渡します。

1. MediaPackage はフィルターを適用し、条件に一致するバリアントのみを含むカスタマイズされたマニフェストを返します。

1. MediaTailor は、広告挿入用にフィルタリングされたマニフェストを処理し、プレイヤーに返します。

### フィルタリング用の URL 形式
<a name="filtering-url-format"></a>

フィルタリングの実装を成功させるには、正しい URL 形式を理解することが不可欠です。URL 形式が正しくない場合、フィルタリングパラメータは無視されるか、HTTP エラーが発生します。URL 構造には、CDN が MediaPackage に転送するクエリ文字列としてフィルターパラメータを含める必要があります。適切な URL 形式を実装するには、次の手順に従います。

ビデオプレイヤーにマニフェストフィルタリングを実装するには:

1. プレイヤーのマニフェストリクエスト URLs を変更して、適切なフィルターパラメータを含めます。

1. クエリパラメータで次の URL 形式を使用します。

   ```
   https://CloudFront-Domain/v1/master/MediaTailor-Config/index.m3u8?aws.manifestfilter=video_codec:h264;audio_language:en-US
   ```

1. プレイヤーがこの URL をリクエストすると、MediaTailor はこれらのパラメータを MediaPackage に渡し、フィルタリングされたマニフェストになります。

## 一般的なフィルタリングシナリオ
<a name="filtering-examples"></a>

一般的なフィルタリングシナリオを実装するには、次の例を使用します。

**デバイス固有のコンテンツ配信**  
デバイス機能に基づいてフィルタリングするには、マニフェストリクエストに次のパラメータを追加します。  

```
aws.manifestfilter=video_codec:h264;audio_sample_rate:0-44100
```
この例では、モバイルデバイスに適した最大 44.1 kHz のサンプルレートで、コンテンツを H.264 ビデオとオーディオに制限します。

**プレミアムコンテンツの制限**  
高ビットレートコンテンツへのアクセスを制限するには、このパラメータをマニフェストリクエストに追加します。  

```
aws.manifestfilter=video_bitrate:0-9000000
```
この例では、基本的なサブスクリプション層に適したビデオビットレートを 9 Mbps 以下に制限します。

**言語の選択**  
特定のオーディオ言語をフィルタリングするには、このパラメータをマニフェストリクエストに追加します。  

```
aws.manifestfilter=audio_language:fr,en-US,de
```
この例では、フランス語、米国英語、ドイツ語のオーディオトラックのみが含まれます。

**解決策のターゲティング**  
特定のビデオ解像度をフィルタリングするには、このパラメータをマニフェストリクエストに追加します。  

```
aws.manifestfilter=video_height:240-360,720-1080
```
この例では、中間解像度を除く、高さが 240～360 ピクセルから 720-1080 ピクセルのビデオストリームが含まれています。

**コーデックベースのフィルタリング**  
特定のビデオコーデックをフィルタリングするには、このパラメータをマニフェストリクエストに追加します。  

```
aws.manifestfilter=video_codec:h264,h265
```
この例では、他のコーデックを除き、H.264 および H.265 ビデオストリームのみが含まれています。

## 特別な考慮事項と制限事項
<a name="filtering-considerations"></a>

マニフェストフィルタリングを実装する際の一般的な問題を回避するには:

### 技術的な制限事項
<a name="technical-limitations"></a>
+ TS マニフェストの場合、オーディオレンディショングループを使用して、フィルタリングされたオーディオストリームで多重化されたビデオストリームを削除しないようにします。
+ TS マニフェストと CMAF マニフェストでは、検証のためにオーディオサンプルレートとビデオビットレートがマニフェストに簡単に表示されません。
+ メディアプレイリストまたはセグメントに追加されたリクエストパラメータは、HTTP 400 エラーになります。

### エラー状態
<a name="error-conditions"></a>
+ フィルタリングの結果が空のマニフェストである場合 (フィルター条件を満たすストリームがない場合）、MediaPackage は HTTP 400 エラーを返します。
+ フィルター設定 (エンドポイントフィルター \$1 クエリパラメータ) が競合すると、HTTP 404 エラーが発生します
+ 無効なフィルター構文またはサポートされていないフィルタータイプでは、HTTP 400 エラーが発生します。

### パフォーマンスに関する考慮事項
<a name="performance-considerations"></a>
+ 一意のフィルターの組み合わせごとに個別のキャッシュエントリが作成され、キャッシュ効率が低下する可能性があります
+ 多くの条件を持つ複雑なフィルターは、マニフェスト生成のパフォーマンスに影響を与える可能性があります
+ キャッシュパフォーマンスを向上させるために、静的フィルタリングシナリオにエンドポイントレベルのフィルターを使用することを検討する

## フィルタリング実装をテストする
<a name="filtering-testing"></a>

マニフェストフィルタリングの実装をテストすることは、ビューワーがアクセスレベルとデバイス機能に基づいて正しいコンテンツを受信できるようにするために不可欠です。フィルタリングに失敗すると、ビューワーが誤った品質レベル、サポートされていない形式、またはアクセスできないコンテンツを受け取る可能性があります。包括的なテストは、これらの問題がビューワーに影響を与える前に特定して解決するのに役立ちます。

マニフェストフィルタリングが正しく機能していることを確認するには:

1. 異なるフィルターパラメータを使用してマニフェストをリクエストし、結果を検証する

1. フィルタリングされたマニフェストに予想されるストリームのみが含まれていることを確認する

1. エッジケース (空の結果、無効なフィルター) をテストして、適切なエラー処理を行う

1. CDN がフィルターパラメータを適切に転送していることを確認します。

1. さまざまなデバイスやプレイヤーでテストして互換性を確保する

フィルタリング問題のトラブルシューティングについては、*MediaPackage CDN 統合問題のトラブルシューティング*」を参照してください。

HTTP 400 エラー、空のマニフェスト、またはフィルタリングパラメータが期待どおりに動作しない場合は、特定のマニフェストフィルタリングのトラブルシューティングガイダンス[MediaPackage、CDN、MediaTailor の統合のトラブルシューティング](cdn-emp-troubleshooting.md)については、「」を参照してください。

# MediaTailor および MediaPackage コンテンツ配信の CDN キャッシュを最適化する
<a name="cdn-emp-caching"></a>

AWS Elemental MediaTailor では、 をコンテンツオリジン AWS Elemental MediaPackage として使用する場合、最適なパフォーマンスを得るために、適切なコンテンツ配信ネットワーク (CDN) キャッシュ設定が必要です。MediaPackage には、さまざまなタイプのコンテンツをキャッシュする期間をコンテンツ配信ネットワークに伝える特定のキャッシュコントロールヘッダーが用意されています。これらの推奨事項に従うことで、スムーズな再生と効率的なコンテンツ配信が可能になります。

このトピックでは、パフォーマンスを最大化し、コストを最小限に抑えるためのキャッシュ動作の最適化に特に重点を置いています。高度なキャッシュ最適化を実装する前に、基本的なコンテンツ配信ネットワーク統合の設定が完了していることを確認してください。基本統合をまだ設定していない場合は、 から始めます[MediaTailor を MediaPackage および CDN と統合する](mediapackage-integration.md)。

## MediaPackage キャッシュコントロールヘッダー
<a name="emp-cache-control-headers"></a>

MediaPackage は、キャッシュ動作を最適化するために、さまざまなコンテンツタイプに特定の TTL 値を設定します。

**多変量プレイリスト (HLS および LL-HLS)**  
TTL: メディアセグメントの期間の半分  
理由: これらのプレイリストは新しいセグメントが利用可能になると変更されるため、頻繁に更新する必要があります

**メディアプレイリスト (通常の HLS)**  
TTL: メディアセグメントの期間の半分  
理由: 多変量プレイリストと同様に、コンテンツの進行に伴うこれらの更新

**メディアプレイリスト (LL-HLS)**  
TTL: 1 秒  
理由: 低レイテンシーストリーミングでは、非常に頻繁な更新が必要です

**TS メディアセグメントと init セグメント**  
TTL: 1209600 秒 (14 日間)  
理由: メディアセグメントは作成後に変更されないため、長期間キャッシュできます

**CMAF メディアセグメントと初期化セグメント**  
TTL: 1209600 秒 (14 日間)  
理由: TS セグメントと同様に、作成後は変更できません

すべての MediaTailor ワークフローと追加のキャッシュ最適化戦略に関する包括的な TTL 推奨事項については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

## CDN キャッシュポリシーを設定する
<a name="cdn-cache-policy-configuration"></a>

最適なパフォーマンスとコスト効率を得るには、適切なキャッシュポリシー設定が不可欠です。異なるタイプのコンテンツ (マニフェスト、セグメント、初期化ファイル) には、異なるキャッシュ要件があります。個別のキャッシュ動作を使用すると、コンテンツタイプごとにキャッシュを最適化し、キャッシュヒット率を向上させ、オリジンの負荷を軽減できます。適切なキャッシュポリシーがないと、不要なオリジンリクエスト、コストの増加、再生パフォーマンスの低下が発生する可能性があります。

MediaPackage キャッシュコントロールヘッダーを適切に尊重し、キャッシュを最適化するには:

1. CloudFront コンソールで CloudFront ディストリビューション設定を開きます。

1. コンテンツタイプごとに個別のキャッシュ動作を作成します。
   + マニフェストリクエスト (\$1.m3u8、\$1.mpd)
   + メディアセグメント (\$1.ts、\$1.mp4、\$1.m4s)
   + 初期化セグメント

1. キャッシュ動作ごとに、以下の設定でキャッシュポリシーを作成または選択します。
   + 「オリジンキャッシュコントロールヘッダー」オプションを有効にする
   + 「オリジンリクエストポリシー」を設定して必要なヘッダーを転送する
   + コンテンツタイプに基づいてクエリ文字列転送を設定する

### マニフェストキャッシュの動作
<a name="manifest-cache-behavior"></a>

マニフェストリクエスト (\$1.m3u8、\$1.mpd) の場合:
+ **パスパターン**: \$1.m3u8 および \$1.mpd
+ **キャッシュポリシー**: Honor オリジンキャッシュコントロールヘッダー
+ **クエリ文字列: 特定のパラメータを転送する (**「」を参照[クエリ文字列転送の最適化](#cdn-query-string-optimization))
+ **ヘッダー: すべてのヘッダーを転送する (最小要件については、**「」を参照してください[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers))

### メディアセグメントのキャッシュ動作
<a name="segment-cache-behavior"></a>

メディアセグメント (\$1.ts、\$1.mp4、\$1.m4s) の場合:
+ **パスパターン**: \$1.ts、\$1.mp4、\$1.m4s
+ **キャッシュポリシー**: Honor オリジンキャッシュコントロールヘッダー (14 日間の TTL)
+ **クエリ文字列**: なし (セグメントはクエリパラメータを使用しません)
+ **圧縮**: を有効にして配信パフォーマンスを向上させる

## クエリ文字列転送の最適化
<a name="cdn-query-string-optimization"></a>

クエリ文字列の最適化はキャッシュ効率にとって重要です。これは、不要なクエリパラメータが同じコンテンツに対して複数のキャッシュバリエーションを作成するためです。一意のクエリパラメータの組み合わせごとに個別のキャッシュエントリが作成され、キャッシュヒット率が低下し、オリジンリクエストが増加します。MediaPackage が実際に使用するクエリ文字列のみを転送することで、完全な機能を維持しながらキャッシュ効率を最大化できます。

MediaPackage が使用するクエリ文字列のみを転送するように CDN を設定し、キャッシュ効率を向上させます。

**重要なクエリ文字列**  
`start` および `end` - タイムシフト表示ウィンドウの場合  
`time_delay` - マニフェストコンテンツに遅延時間を適用する場合  
`_HLS_msn`、`_HLS_m`、および `_HLS_part` - LL-HLS 再生リクエストの場合

**機能固有のクエリ文字列**  
`aws.manifestfilter` - [マニフェストフィルタリング](cdn-emp-manifest-filtering.md)の場合

**重要**  
キャッシュキーに他のクエリ文字列を含めないでください。MediaPackage は認識されないパラメータを無視し、含めることで、不要なキャッシュバリエーションを作成することでキャッシュ効率が低下します。

## パフォーマンス最適化手法
<a name="cache-performance-optimization"></a>

これらの最適化は、MediaPackage や MediaTailor ではなく CDN (CloudFront など) で設定されます。キャッシュパフォーマンスを最大化するには、以下の追加の最適化を実装します。

### オリジンシールド
<a name="origin-shield-configuration"></a>

オリジンシールドは、CDN エッジロケーションと MediaPackage エンドポイント間に追加のキャッシュレイヤーを提供します。これにより、MediaPackage エンドポイントに到達するリクエストの数が減少し、特にトラフィックの急増時やキャッシュヒット率が最適より低い場合に、パフォーマンスが向上し、コストを削減できます。オリジンシールドは、複数のエッジロケーションが同じコンテンツを同時にリクエストするライブストリーミングに特に役立ちます。

オリジンシールドを有効にして MediaPackage エンドポイントの負荷を軽減します。

1. CloudFront ディストリビューションで、MediaPackage オリジンの Origin Shield を有効にします。

1. MediaPackage エンドポイントに近いオリジンシールドリージョンを選択します。

1. これにより、MediaPackage へのリクエストを減らす追加のキャッシュレイヤーが作成されます。

### 圧縮設定
<a name="compression-settings"></a>

テキストベースのレスポンスの圧縮を有効にします。
+ マニフェストファイルの圧縮を有効にする (\$1.m3u8、\$1.mpd)
+ メディアセグメントを圧縮しない (既に圧縮されている)
+ すべてのヘッダーが MediaPackage に転送されていることを確認します (最小要件については、「」を参照してください[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers))。

## キャッシュパフォーマンスのモニタリング
<a name="cache-monitoring-metrics"></a>

これらの主要なメトリクスを追跡して、最適なキャッシュパフォーマンスを確保します。

**キャッシュヒット率**  
ターゲット: メディアセグメントで 90% 以上、マニフェストで 70% 以上  
比率が低い場合は、TTL 設定が正しくないか、不要なクエリパラメータを示している可能性があります。

**オリジンリクエストボリューム**  
MediaPackage エンドポイントに到達するリクエストをモニタリングする  
大量の はキャッシュの問題を示している可能性があります

**キャッシュキーのバリエーション**  
キャッシュキーパターンを確認して不要なバリエーションを特定する  
バリエーションが多すぎるとキャッシュ効率が低下する

これらのキャッシュ最適化を実装したら、モニタリングを設定してその有効性を追跡します。キャッシュヒット率、オリジンリクエストパターン、およびその他の主要なパフォーマンスメトリクスのモニタリングに関するガイダンスについては、「」を参照してください[MediaPackage、CDN、MediaTailor 統合のパフォーマンスをモニタリングする](cdn-emp-monitoring.md)。キャッシュパフォーマンスの低下や予期しないオリジンリクエストが発生した場合は、トラブルシューティングの手順[MediaPackage、CDN、MediaTailor の統合のトラブルシューティング](cdn-emp-troubleshooting.md)について「」を参照してください。

# MediaPackage、CDN、MediaTailor 統合のパフォーマンスをモニタリングする
<a name="cdn-emp-monitoring"></a>

AWS Elemental MediaTailor では、 AWS Elemental MediaPackage とコンテンツ配信ネットワーク (CDN) の統合の最適なパフォーマンスを維持するために、効果的なモニタリングが必要です。このトピックでは、追跡する主要なメトリクス、使用するモニタリングツール、プロアクティブな問題検出のためのアラートを設定する方法に関するガイダンスを提供します。

モニタリングを設定する前に、基本的な統合が正しく機能していることを確認してください。基本的なコンテンツ配信ネットワーク統合のセットアップを完了していない場合は、 から始めます[MediaTailor を MediaPackage および CDN と統合する](mediapackage-integration.md)。モニタリングによって特定された問題をトラブルシューティングする必要がある場合は、「」を参照してください[CDN 統合のトラブルシューティング](cdn-emp-troubleshooting.md)。

## 主要なパフォーマンスメトリクス
<a name="key-performance-metrics"></a>

MediaPackage と CDN の統合の最適なパフォーマンスを確保するために、これらの重要なメトリクスをモニタリングします。

### CDN パフォーマンスメトリクス
<a name="cdn-metrics"></a>

キャッシュヒット率ターゲット、オリジンリクエストボリュームモニタリング、応答時間ベンチマークなどの包括的な CDN パフォーマンスメトリクスについては、CDN 最適化ガイド[CDN と MediaTailor の統合のパフォーマンスベンチマーク](cdn-performance-benchmarks.md)の「」を参照してください。

CDN メトリクスに関する EMP 固有の主な考慮事項:

**EMP キャッシュコントロールヘッダー**  
**検証対象**: CDN が最適な TTL 動作のために EMP のキャッシュコントロールヘッダーを尊重していることを確認する  
**予想される動作**: コンテンツタイプごとに、EMP のヘッダーに基づいて異なるキャッシュ期間を設定する必要があります  
EMP キャッシュの最適化に関する詳細なガイダンスについては、「」を参照してください[MediaTailor および MediaPackage コンテンツ配信の CDN キャッシュを最適化する](cdn-emp-caching.md)。

**クエリパラメータの影響**  
**モニタリング対象**: EMP 固有のクエリパラメータがキャッシュ効率にどのように影響するかを追跡する  
**最適化ターゲット**: 必要な EMP クエリパラメータのみがキャッシュキーに含まれていることを確認します。

**CDN 応答時間**  
**モニタリング対象**: さまざまなコンテンツタイプ (マニフェストとセグメント) の応答時間を追跡します。  
**ターゲット値**:  
+ キャッシュされたコンテンツ: 100 ミリ秒未満
+ オリジンリクエスト: 500 ミリ秒未満

### MediaPackage パフォーマンスメトリクス
<a name="emp-metrics"></a>

**エラー率**  
**モニタリング対象**: CDN エンドポイントと MediaPackage エンドポイントの両方から HTTP エラー率をモニタリングします。設定の問題を示している可能性がある 4xx エラーには特に注意してください。  
**主なエラーコード**:  
+ 400 エラー: マニフェストフィルタリングの問題に関連していることが多い
+ 404 エラー: ルーティングまたは設定の問題を示している可能性があります
+ 504 エラー: タイムアウトの問題、特に LL-HLS の場合

**リクエストボリュームとパターン**  
**モニタリング対象**: MediaPackage エンドポイントへのリクエストパターンを追跡して、使用状況の傾向と容量のニーズを特定します。  
**監視するパターン**:  
+ ピーク使用時間
+ リクエストの地理的分布
+ コンテンツタイプのディストリビューション (ライブとオンデマンド)

### レイテンシーメトリクス
<a name="latency-metrics"></a>

**End-to-endレイテンシー**  
**モニタリング対象**: LL-HLS 実装では、コンテンツの取り込みから視聴者の再生までのend-to-endのレイテンシーをモニタリングします。レイテンシーが高い場合は、CDN 設定の問題を示している可能性があります。  
**ターゲット値**:  
+ LL-HLS: 3 秒未満のglass-to-glassレイテンシー
+ 通常の HLS: 30 秒未満

**マニフェスト生成時間**  
**モニタリング対象**: MediaPackage がマニフェストを生成するのにかかる時間。特にフィルタリングを適用した場合。  
**ターゲット値**: マニフェスト生成で 200 ミリ秒未満

## モニタリングツールとセットアップ
<a name="monitoring-tools"></a>

包括的なモニタリングツールを設定することは、最適なパフォーマンスを維持し、ビューワーに影響を与える前に問題をすばやく特定するために不可欠です。適切なモニタリングを行わないと、視聴者の再生品質が低下するまで、パフォーマンスの低下、キャッシュの非効率性、統合の問題に気付かないことがあります。適切なモニタリング設定により、MediaPackage と CDN の統合のあらゆる側面を可視化できます。

MediaPackage と CDN の統合をモニタリングするには、以下の AWS のサービスとツールを使用します。

### Amazon CloudWatch
<a name="cloudwatch-monitoring"></a>

Amazon CloudWatch は、両方のサービスからメトリクスを収集して保存することで、MediaPackage と CDN の統合をモニタリングするための基盤を提供します。適切な CloudWatch 設定により、パフォーマンスの傾向の特定、問題のトラブルシューティング、統合の最適化に必要なデータを確保できます。CloudWatch メトリクスがないと、システムパフォーマンスの可視性が低下し、問題が重大になるまで検出されない可能性があります。

包括的なメトリクス収集のために CloudWatch モニタリングを設定します。

1. **MediaPackage メトリクス**: MediaPackage エンドポイントの CloudWatch メトリクスを有効にして、リクエストボリューム、エラー率、応答時間を追跡します。

1. **CDN メトリクス**: キャッシュヒット率、オリジンリクエスト数、エラー率などの CloudFront メトリクスを収集するように CloudWatch を設定します。

1. **カスタムメトリクス**: ビューワーのエンゲージメントやコンテンツの人気など、ビジネス固有の KPIs のカスタムメトリクスを作成します。

### CloudWatch ダッシュボード
<a name="dashboard-setup"></a>

メトリクスを視覚化する包括的なダッシュボードを作成します。

1. **概要ダッシュボード**: 全体的なシステムの状態を示す高レベルのメトリクス

1. **CDN パフォーマンスダッシュボード**: キャッシュパフォーマンスと地理的分散を含む詳細な CDN メトリクス

1. **MediaPackage パフォーマンスダッシュボード**: リクエストパターンやエラー率を含む MediaPackage 固有のメトリクス

1. **レイテンシーダッシュボード**: End-to-end さまざまなコンテンツタイプとリージョンのエンドツーエンドのレイテンシーメトリクス

### ログ分析
<a name="log-analysis"></a>

詳細なトラブルシューティングのためにログ分析を設定します。

1. **CDN アクセスログ**: CDN アクセスログを有効にして分析し、リクエストパターンを理解し、問題を特定する

1. **MediaPackage CloudWatch ログ**: MediaPackage ログのエラーとパフォーマンスの問題を監視する

1. **ログ集約**: Amazon CloudWatch Logs Insights またはサードパーティーツールを使用してログパターンを分析する

## アラートと通知を設定する
<a name="alerting-setup"></a>

アラート設定は、プロアクティブな問題の検出と解決に不可欠です。適切なアラートがないと、問題がビューワーエクスペリエンスに大きな影響を与えたり、サービスの中断を引き起こすまで、問題が気付かなくなる可能性があります。適切に設定されたアラートは、ビューワーに影響を与える前に問題を特定して対処し、すぐに対処する必要がある重大な問題がチームに通知されるようにするのに役立ちます。

プロアクティブアラートを設定して、ビューワーに影響を与える前に問題を特定します。

### 重要なアラート
<a name="critical-alerts"></a>

重大な問題に対する即時アラートを設定します。
+ **高エラー率**: 4xx または 5xx エラー率が 5 分間で 5% を超えた場合に警告
+ **キャッシュヒット率の低下**: キャッシュヒット率がマニフェストの場合は 70%、セグメントの場合は 85% を下回ると警告
+ **高レイテンシー**: end-to-endのレイテンシーがターゲットしきい値を超えた場合に警告する
+ **オリジンリクエストのスパイク**: オリジンリクエストがベースラインと比較して 50% 以上増加した場合のアラート

### 警告アラート
<a name="warning-alerts"></a>

問題の発生を示す傾向の警告アラートを設定します。
+ **パフォーマンスの段階的な低下**: 応答時間が 30 分間で 20% 増加した場合のアラート
+ **キャッシュ効率の傾向**: キャッシュヒット率が時間の経過とともに減少傾向を示す場合に警告する
+ **異常なトラフィックパターン**: リクエスト量または地理的分布の予期しない変更を警告する

## モニタリングデータを使用して最適化する
<a name="performance-optimization"></a>

モニタリングデータを活用してパフォーマンスを継続的に向上させます。

### 定期的なパフォーマンスレビュー
<a name="regular-reviews"></a>

1. **毎週のレビュー**: 毎週のパフォーマンス傾向を分析し、最適化の機会を特定する

1. **毎月のキャパシティプランニング**: トラフィックパターンを使用してキャパシティのニーズと CDN 最適化を計画する

1. **四半期ごとのアーキテクチャレビュー**: 全体的なアーキテクチャ効率を評価し、改善すべき分野を特定する

### 一般的な最適化アクション
<a name="optimization-actions"></a>

モニタリングデータに基づいて、次の最適化アクションを検討してください。
+ **キャッシュポリシーの調整**: 実際のコンテンツ更新パターンに基づいて TTL 値を変更します。TTL 最適化の詳細なガイダンスについては、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。
+ **地理的最適化**: トラフィックの多いリージョンに CDN エッジロケーションを追加する
+ **クエリパラメータの最適化**: キャッシュをフラグメント化する不要なクエリパラメータを削除する
+ **オリジンシールド設定**: オリジンリクエストボリュームが多いリージョンにオリジンシールドを実装する

MediaPackage に固有の詳細なモニタリングガイダンスについては、[MediaPackage ユーザーガイドの「MediaPackage のモニタリング](https://docs.aws.amazon.com/mediapackage/latest/ug/monitoring.html)」を参照してください。 MediaPackage 

# MediaPackage、CDN、MediaTailor の統合のトラブルシューティング
<a name="cdn-emp-troubleshooting"></a>

AWS Elemental MediaTailor AWS Elemental MediaPackage およびコンテンツ配信ネットワーク (CDN) との統合では、再生、キャッシュ、またはその他の統合機能に影響する一般的な問題が発生する可能性があります。このガイドは、再生の問題、キャッシュの問題、またはその他の統合関連のエラーが発生した場合に使用します。

ユニバーサルキャッシュパフォーマンスの問題、HTTP エラー解決、テスト手順、すべての MediaTailor 実装に適用される診断手法など、包括的な CDN トラブルシューティングガイダンスについては、「」を参照してください[CDN 統合のトラブルシューティング](cdn-troubleshooting.md)。このセクションでは、MediaPackage 固有のトラブルシューティング要件に焦点を当てます。

トラブルシューティングを行う前に、基本的な統合設定が正しく完了していることを確認してください。統合をまだセットアップしていない場合、またはセットアップ手順を確認する必要がある場合は、「」を参照してください[MediaTailor を MediaPackage および CDN と統合する](mediapackage-integration.md)。問題を解決した後のキャッシュパフォーマンスの最適化に関するガイダンスについては、「」を参照してください[CDN キャッシュ](cdn-emp-caching.md)。

## マニフェストフィルタリングエラー
<a name="manifest-filtering-errors"></a>

文書化されたエラー条件に基づく MediaPackage マニフェストフィルタリング機能の問題:

**マニフェストフィルタリングによる HTTP 400 エラー**  
**症状**: `aws.manifestfilter`パラメータを含むリクエストは HTTP 400 Bad Request を返します  
**検証済みの原因 (ドキュメントから AWS )**:  
+ フィルター条件の結果が空のマニフェストになる (フィルター条件に一致するストリームがない)
+ 無効なフィルターパラメータ名または値
+ 不正な形式のクエリ文字列構文
+ 重複または繰り返されるフィルターパラメータ
+ フィルターパラメータ文字列が 1024 文字を超えています
+ メディアプレイリストまたはセグメントに適用されるクエリパラメータ (サポートされていません)
**解決方法:**  

1. フィルターパラメータを確認して、使用可能なコンテンツストリームと一致することを確認します。フィルタリングの結果に一致するストリームがない場合、MediaPackage は HTTP 400 を返します。

1. サポートされているパラメータ名と値形式に対してフィルター構文を検証します。

1. クエリ文字列に重複するパラメータがないか確認します。

1. フィルターパラメータは、メディアプレイリストやセグメントではなく、多変量プレイリストにのみ適用されます。

1. 合計パラメータ文字列が 1024 文字未満であることを確認します。
**リファレンス**: [AWS Elemental MediaPackage マニフェストフィルタリングエラー条件](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

**マニフェストフィルタリングが機能しない (HTTP 200 ではあるが、フィルタリングは適用されない)**  
**症状**: リクエストは HTTP 200 を返しますが、マニフェストにはフィルタリングされたサブセットではなくすべてのストリームが含まれます  
**考えられる原因:**  
+ CDN が`aws.manifestfilter`クエリパラメータを MediaPackage に転送しない
+ 使用可能なストリームにフィルターパラメータが見つかりません (HTTP 200 でフィルタリングされていないマニフェストを返します)
**解決方法:**  

1. CDN キャッシュポリシーが転送されたクエリ文字列のリスト`aws.manifestfilter`に含まれていることを確認します。

1. MediaPackage エンドポイントに対してフィルターパラメータを直接テストし (CDN を超過）、期待どおりに動作することを確認します。

1. フィルター値がコンテンツストリームの実際の特性と一致することを確認します。
**リファレンス**: [AWS Elemental MediaPackage マニフェストフィルタリングエラー条件](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

## 診断手順
<a name="validated-diagnostic-steps"></a>

体系的な診断手順は、統合問題の根本原因を迅速かつ効率的に特定するのに役立ちます。構造化されたアプローチに従うことで、誤った仮定に浪費される時間を防ぎ、症状ではなく実際の問題に対処できます。これらの証拠ベースの診断手順は、問題を分離し、適切なソリューションに導くように設計されています。

以下の証拠ベースの診断手順に従って問題を特定します。

### キャッシュのパフォーマンスの分析
<a name="cache-performance-analysis"></a>

EMP 統合ではキャッシュパフォーマンス分析が不可欠です。キャッシュ効率が低いと、オリジンの負荷が増加し、コストが増加し、再生の問題が発生する可能性があるためです。

キャッシュヒット率分析、キャッシュキーの最適化、体系的な診断手順を含む包括的なキャッシュパフォーマンスのトラブルシューティングについては、メイン CDN トラブルシューティングガイド[CDN キャッシュのパフォーマンスの問題](diagnose-performance-issues.md#cache-performance-troubleshooting)の「」を参照してください。

EMP 固有のキャッシュに関する考慮事項:
+ **EMP キャッシュコントロールヘッダー**: CDN が EMP のキャッシュコントロールヘッダーを上書きするのではなく尊重していることを確認します。
+ **EMP クエリパラメータ**: 必要な EMP クエリパラメータのみがキャッシュキーに含まれていることを確認します
+ **EMP TTL の動作**: さまざまな EMP コンテンツタイプに適切なキャッシュ期間があることを確認する

EMP キャッシュポリシーと TTL 設定の最適化に関する詳細なガイダンスについては、「」を参照してください[MediaTailor および MediaPackage コンテンツ配信の CDN キャッシュを最適化する](cdn-emp-caching.md)。

### マニフェストフィルタリング設定を検証する
<a name="manifest-filtering-validation"></a>

マニフェストフィルタリングの検証は不可欠です。フィルタリングの問題により、ビューワーが誤ったコンテンツ、サポートされていない形式、またはアクセスすべきでないコンテンツを受信する可能性があるためです。体系的なテストは、問題が CDN 設定、フィルターパラメータ構文、またはコンテンツの可用性に関連しているかどうかを特定するのに役立ちます。

マニフェストフィルタリング機能を体系的にテストします。

1. MediaPackage エンドポイントに対して (CDN をバイパスして) フィルターパラメータを直接テストし、正しく動作することを確認します。

1. フィルタリングされたマニフェストとフィルタリングされていないマニフェストを比較して、予想されるストリームが含まれているか除外されているかを確認します。

1. CDN キャッシュポリシーが`aws.manifestfilter`クエリパラメータを転送することを確認します。

1. HTTP 400 エラーをチェックし、文書化されたエラー条件と照合します。

問題を解決した後にマニフェストフィルタリングを実装または変更する必要がある場合は、セットアップガイダンスの詳細については、[MediaTailor、MediaPackage、CDN でマニフェストフィルタリングを設定する](cdn-emp-manifest-filtering.md)「」を参照してください。

### クエリパラメータ設定を検証する
<a name="query-parameter-validation"></a>

CDN が必要なクエリパラメータのみを転送していることを確認します。

1. CDN キャッシュポリシーを確認して、 AWS 推奨パラメータのみが含まれていることを確認します。
   + `aws.manifestfilter` - マニフェストフィルタリング用
   + `aws.manifestsettings` - タイムシフト表示用
   + `_HLS_msn` LL-HLS サポート用の `_HLS_part` および -

1. MediaPackage は他のクエリパラメータを無視し、キャッシュ効率を低下させるため、キャッシュキーから他のクエリパラメータを削除します。

**リファレンス**: [AWS Elemental MediaPackage および CDNsの使用](https://docs.aws.amazon.com/mediapackage/latest/userguide/cdns.html)

## エラーコードのリファレンス
<a name="documented-error-reference"></a>

文書化されたエラー条件とその原因に関するリファレンス:

**HTTP 400 不正なリクエスト (マニフェストフィルタリング)**  
**文書化された原因**:  
+ フィルターを適用すると、空のマニフェストになります。
+ 無効なパラメータ名または値
+ 不正な形式のクエリ文字列構文
+ フィルターパラメータの複製
+ パラメータ文字列が 1024 文字を超えています
+ メディアプレイリストまたはセグメントのクエリパラメータ
**リファレンス**: [MediaPackage マニフェストフィルタリングエラー条件](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

**HTTP 200 OK (フィルタリングは適用されません)**  
**文書化された原因**:  
+ 使用可能なストリームにフィルターパラメータが見つかりません (フィルタリングされていないマニフェストを返します)
+ フィルタリング後に存在するサブタイトルストリームのみ (フィルタリングされていないマニフェストを返します)
**リファレンス**: [MediaPackage マニフェストフィルタリングエラー条件](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

## その他のトラブルシューティングリソース
<a name="additional-resources"></a>

このトピックで説明されていない問題については、以下の公式 AWS リソースを参照してください。
+ [からマニフェストをプレビューする AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/userguide/endpoints-preview.html) - マニフェストプレビューを使用してコンテンツパッケージングの問題をトラブルシューティングする
+ [CloudFront キャッシュヒット率の向上](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) - CDN キャッシュ最適化の包括的なガイド
+ [マニフェストフィルタリング](https://docs.aws.amazon.com/mediapackage/latest/userguide/manifest-filtering.html) - MediaPackage フィルタリング機能の完全なガイド