

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

# 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)について「」を参照してください。