

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

# CDN を使用して MediaTailor の広告パーソナライゼーションとコンテンツ配信を最適化する
<a name="integrating-cdn"></a>

AWS Elemental MediaTailor はスタンドアロンサービスとして効果的に機能しますが、Amazon CloudFront やその他のサードパーティー CDN などのコンテンツ配信ネットワーク (CDNs) と統合することで、ストリーミングワークフローを大幅に強化できます。CDN 統合は、地理的に分散された大規模な対象者にコンテンツを提供する必要がある場合や、異なる AWS リージョン間で一貫した広告配信を確保したい場合に特に役立ちます。

CDN がない場合、ビューワーはパーソナライズされたマニフェストと広告セグメントのために MediaTailor に直接接続するため、特に MediaTailor 設定がデプロイされている AWS リージョンから遠くにあるビューワーの場合、レイテンシーが増加する可能性があります。さらに、トラフィックの多いイベント中に、MediaTailor への直接接続で負荷が増加し、パフォーマンスに影響する可能性があります。

MediaTailor の概念とワークフローの詳細については、「」を参照してください[とは AWS Elemental MediaTailor](what-is.md)。

CDN を MediaTailor と統合する場合、ウェブベースのプレイヤーで再生失敗を引き起こす可能性のある問題を防ぐために、適切な CORS (Cross-Origin Resource Sharing) 処理を設定することが重要です。広告セグメントとコンテンツセグメントの両方に適切な CORS 設定が不可欠です。広告セグメントは CORS の問題の影響を受けやすくなりますが、すべてのセグメントタイプに一貫した CORS 処理を適用すると、最も信頼性の高い再生エクスペリエンスが保証されます。適切な CORS 処理で CDN ルーティング動作を設定する詳細なガイダンスについては、「」を参照してください[MediaTailor の本番稼働対応 CloudFront 設定](cf-comprehensive-configuration.md)。

CDN 統合により、高度なパラメータの受け渡しと動的ルーティング機能も可能になります。認可とルーティングのために CDNs「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。設定エイリアスを使用した動的広告サーバーとオリジンルーティングについては、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。

ビューワーと MediaTailor の間に CDN を配置すると、次の利点があります。
+ 視聴者に近いエッジロケーションからコンテンツを提供することでレイテンシーを低減する
+ CDN のグローバルインフラストラクチャ全体に負荷を分散することでスケーラビリティを向上させる
+ 冗長な配信パスによる信頼性の向上
+ オリジントラフィックを削減してコストを最適化する
+ Media Quality-Aware Routing (MQAR) などの高度な機能を実装してストリーミング品質を向上させる

**Topics**
+ [CDN 選択](cdn-selection-guidance.md)
+ [CDN 統合を計画する](planning-cdn-integration.md)
+ [CDN 統合をセットアップする](cdn-configuration.md)
+ [CDN を使用した広告挿入](ssai-cdn-workflow.md)
+ [CDN を使用したチャネルアセンブリ](ca-cdn-wflw.md)
+ [MediaPackage CDN 統合](mediapackage-integration.md)
+ [CloudFront 統合](cloudfront-specific-recommendations.md)
+ [サードパーティー CDN のセットアップ](cdn-provider-specific.md)
+ [CDN パフォーマンスの最適化](cdn-optimization.md)
+ [CDN モニタリング](cdn-monitoring.md)
+ [CDN 統合テスト](cdn-integration-testing.md)
+ [CDN 統合のトラブルシューティング](cdn-troubleshooting.md)
+ [CDN 統合ログ分析リファレンス](cdn-log-error-reference.md)
+ [CloudFormation Automation](automating-cdn-integration.md)
+ [本番稼働用 CloudFront 設定](cf-comprehensive-configuration.md)
+ [CDN 統合のサポートを受ける](cdn-get-help.md)

# ニーズに適した CDN を選択する
<a name="cdn-selection-guidance"></a>

適切なコンテンツ配信ネットワーク (CDN) プロバイダーを選択することは、 でのコンテンツ配信のパフォーマンス、コスト、視聴者エクスペリエンスに影響を与える可能性のある重要な決定です AWS Elemental MediaTailor。MediaTailor 実装の CDN を選択するときは、次の要素を考慮してください。

**地理的カバレッジ**  
対象者がいるリージョンに強いプレゼンスを持つ CDN を選択します。異なる CDN プロバイダーは、異なる地理的リージョンでさまざまな強みを持っています。

** AWS サービスとの統合**  
Amazon CloudFront はMediaTailor やその他の AWS サービスとの最も緊密な統合を提供するため、セットアップと管理を簡素化できます。サードパーティー CDNs、特殊なビデオ配信機能や特定のリージョンでのプレゼンスの強化など、他の利点を提供する可能性があります。

**動画固有の機能**  
アダプティブビットレートの最適化、ビデオ圧縮、視聴者エクスペリエンスに焦点を当てた分析など、ビデオ配信専用に設計された機能を提供する CDNs を探します。

**コスト構造**  
トラフィック量、地理的分布、機能要件などの要因を考慮して、プロバイダー間で料金モデルを比較します。一部の CDNsでは、使用量パターンに沿ったボリューム割引またはコミットされた使用割引が提供されます。

**高度な機能のサポート**  
選択した CDN が、トークン認証、地理的制限、リクエストの折りたたみ、適切なヘッダー転送など、必要な機能をサポートしていることを確認します。

特定の CDN プロバイダーとその MediaTailor との統合の詳細については、以下のリソースを参照してください。
+ [CloudFront 統合](cloudfront-specific-recommendations.md) Amazon CloudFront 用
+ [サードパーティー CDN のセットアップ](cdn-provider-specific.md) サードパーティー CDN プロバイダー向け

以下のトピックでは、パフォーマンスを最適化するために CDN で MediaTailor を設定するための包括的なガイダンスを提供します。

# の CDN 統合を計画する AWS Elemental MediaTailor
<a name="planning-cdn-integration"></a>

の CDN 統合により、ビューワーエクスペリエンスを向上させ、レイテンシーを短縮できます AWS Elemental MediaTailor。コンテンツ配信ネットワーク (CDN) を実装すると、ビューワーに近い場所からコンテンツを配信できます。これにより、ロード時間が短縮され、スケーラビリティが向上し、さまざまな地理的リージョンで一貫した広告配信が可能になります。

で CDN を実装する前に、適切な計画が必要です AWS Elemental MediaTailor。このセクションでは、主要な計画領域について説明します。実際の設定を開始する前に、これらの領域に対処します。これらのステップは、対象者に最適な視聴エクスペリエンスを作成するのに役立ちます。

計画が完了したら、 step-by-step[「CDN と MediaTailor の統合](https://docs.aws.amazon.com/mediatailor/latest/ug/cdn-integration.html)」を参照してください。

CDN 計画に影響する可能性のある MediaTailor クォータについては、「」を参照してください[のクォータ AWS Elemental MediaTailor](quotas.md)。CloudFront クォータの詳細については、CloudFront デベロッパーガイド[」の「クォ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html)ータ」を参照してください。

計画を開始する前に、MediaTailor が CDN とやり取りする方法を理解してください。

1. ビューワーは MediaTailor から直接ではなく CDN 経由でコンテンツをリクエストします

1. CDN はマニフェストリクエストを MediaTailor に転送してパーソナライズします。

1. CDN は、エッジロケーションからコンテンツセグメントと広告セグメントをキャッシュして提供します。

このアーキテクチャは MediaTailor の負荷を軽減し、視聴者が最小限のレイテンシーでパーソナライズされた広告を受信できるようにします。

マニフェストの用語を理解すると、CDN を正しく設定するのに役立ちます。異なるストリーミングプロトコルは、キャッシュとルーティングの設定方法に影響する特定のマニフェスト構造を使用します。
+ *HLS マニフェスト* - HLS ストリームを使用する場合は、以下を処理します。
  + *多変量プレイリスト*: これらの最上位マニフェストをパーソナライズのために MediaTailor にルーティングするように CDN を設定します。
  + *メディアプレイリスト*: コンテンツセグメントへのリンクを含むこれらのマニフェストに適切なキャッシュルールを設定します。
+ *DASH マニフェスト* - DASH ストリームを使用する場合は、以下を処理します。
  + *MPD (メディアプレゼンテーションの説明)*: パーソナライズの要件に従ってこれらのマニフェストを処理するように CDN を設定します。

CDN 計画プロセスには、それぞれ特定のタスクに焦点を当てた以下の主要なステップが含まれます。
+ [CDN と MediaTailor の統合のトラフィック要件を見積もる](estimate-traffic.md): 予想されるビューワーの同時実行数と帯域幅要件を計算します。
+ [CDN と MediaTailor の統合の最適化戦略を設定する](optimize-cdn-config.md): 最適なコンテンツ配信と広告のパーソナライズのために CDN を設定します。
+ [CDN と MediaTailor の統合の計画をカスタマイズする](plan-for-workflow.md): 特定の MediaTailor ワークフローに基づいて CDN 戦略を調整します。
+ [CDN と MediaTailor の統合のモニタリングとスケーリングを設定する](setup-monitoring.md): 信頼性の高いパフォーマンスのためのモニタリングおよびスケーリング戦略を実装します。
+ [CDN と MediaTailor の統合のコストを最適化する](optimize-costs.md): パフォーマンスとコスト効率のバランスを取ります。
+ [CDN と MediaTailor の統合の実装をテストする](test-implementation.md): 本番デプロイの前に CDN 統合を徹底的にテストします。

# CDN と MediaTailor の統合のトラフィック要件を見積もる
<a name="estimate-traffic"></a>

とのコンテンツ配信ネットワーク (CDN) 統合を正確にサイズ設定するには AWS Elemental MediaTailor:

1. 履歴データまたは同様のイベントを使用して、予想されるビューワーの同時実行数を計算します。予期しないスパイクに対応するため、ベースラインを超える追加の容量を計画します。現在のスケーリングの推奨事項については、 AWS アカウントチームにお問い合わせください。また、[のクォータ AWS Elemental MediaTailor](quotas.md)を表示することもできます。

1. コンテンツスケジュールのピークトラフィックパターンと潜在的なスパイクを特定します。次のような要素を考慮してください。
   + ライブスポーツイベントまたはシーズン初心者向け
   + マーケティングキャンペーンまたはプロモーションイベント
   + グローバルオーディエンスのタイムゾーンの違い
   + 祝祭日または季節的な表示パターン

1. ビューワー数にストリームビットレートを乗算して、帯域幅要件を決定します。CDN プロバイダーと協力して、適切な容量を計算します。この計算は、特定のコンテンツのビットレートと予想されるオーディエンスサイズに基づいて行われます。プロバイダーが推奨する広告セグメントとマニフェストリクエストのオーバーヘッドを追加します。

1. CDN プロバイダーと協力して、ターゲットリージョンに十分なエッジキャパシティを確保します。

以下の特定のアクションを実行することで、広告挿入容量が視聴者の需要を満たしていることを確認します。

1. [Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/mediatailor/quotas)で現在の広告挿入リクエストのクォータを確認します。現在のサービス制限を確認して、設定でサポートできる同時ビューワーの数を確認します。

1. トラフィックの多いイベントの場合は、[Service Quotas コンソール](https://console.aws.amazon.com/servicequotas/home/services/mediatailor/quotas)を使用してクォータの引き上げをリクエストします。

1. 500,000 人を超える同時視聴が予想される場合は、イベントの少なくとも 2 週間前に [AWS サポート](https://aws.amazon.com/premiumsupport/)にお問い合わせください。これにより、 AWS は広告パーソナライゼーションのニーズに十分な容量を確保できます。

ワークフローでのキャパシティプランニングの実装の詳細については、[「プリフェッチスケジューリングを使用して](https://docs.aws.amazon.com/mediatailor/latest/ug/prefetch.html)トラフィックの多いイベントの広告配信を最適化する」を参照してください。

# CDN と MediaTailor の統合の最適化戦略を設定する
<a name="optimize-cdn-config"></a>

トラフィックの推定が完了したら、コンテンツ配信ネットワーク (CDN) を設定して、コンテンツ配信と広告パーソナライゼーションを最適化します AWS Elemental MediaTailor。これらの最適化は、ターゲットを絞った広告を維持しながら、スムーズな再生を確保するのに役立ちます。

以下の特定の CDN 最適化を実装します。

1. MediaTailor の負荷を軽減し、キャッシュ効率を向上させるために、CDN でオリジンシールド機能を設定します。オリジンシールドは、次の中間キャッシュレイヤーとして機能します。
   + 複数のビューワーリクエストを 1 つのオリジンリクエストに統合する
   + MediaTailor への冗長リクエストの数を減らす
   + キャッシュされたコンテンツの応答時間を改善する

   CloudFront でオリジンシールドを設定する方法の実装の詳細については、CloudFront デベロッパーガイド」の[「オリジンシールドの使用](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)」を参照してください。

1. さまざまなコンテンツタイプに適切な有効期限 (TTL) 値を設定します。TTL は、CDN がコンテンツをキャッシュする期間を決定します。この時間が経過すると、CDN はオリジンから新しいコピーをリクエストします。
   + マニフェスト: 
     + 広告挿入に 0 秒
     + チャネルアセンブリの場合は 5～10 秒

     広告挿入では、MediaTailor はビューワーにパーソナライズされた広告を含むマニフェストを提供します。プレイリストまたは MPD がキャッシュされ、間違った再生デバイスに提供されると、デバイスで再生または追跡の問題が発生する可能性があります。
   + コンテンツセグメント: 24 時間以上 (ほとんど変更されず、オリジン負荷を減らすために積極的にキャッシュできます)
   + 広告セグメント: 24 時間以上 (広告コンテンツは通常ビューワー間で再利用され、長期間キャッシュできます)

   すべての MediaTailor ワークフローにわたる包括的な TTL レコメンデーションとキャッシュ最適化戦略については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

   CloudFront でキャッシュ動作を設定する詳細な手順については、CloudFront デベロッパーガイド」の[「キャッシュ動作設定](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)」を参照してください。

1. CDN エッジノードをビューワー母集団の近くにデプロイします。CDN プロバイダーと協力して以下を行います。
   + ビューワーの属性に基づいて最適なエッジノードの場所を特定する
   + 各リージョンで十分な容量を確保する
   + エッジパフォーマンスをモニタリングし、必要に応じて調整する

   実装ガイダンスについては、[CloudFront エッジロケーション](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LocationsOfEdgeServers.html)」を参照して、対象者のリージョンで利用可能なエッジロケーションを特定します。

1. グローバルオーディエンスには、マルチ CDN 戦略の実装を検討してください。このアプローチ:
   + 複数の CDN プロバイダーを使用して信頼性を向上させる
   + ビューワーをその場所の最もパフォーマンスの高い CDN にルーティングします
   + CDN の停止中にフェイルオーバーオプションを提供します
   + さまざまな料金モデルを活用してコストを最適化できる

   実装の詳細については、 AWS 「ネットワークとコンテンツ配信ブログ」の[「マルチ CDN 戦略](https://aws.amazon.com/blogs/networking-and-content-delivery/multi-cdn-strategies/)」を参照してください。

# CDN と MediaTailor の統合の計画をカスタマイズする
<a name="plan-for-workflow"></a>

ワークフローごとに、コンテンツ配信ネットワーク (CDN) の計画に影響する固有の要件 AWS Elemental MediaTailor があります。ワークフロー固有のガイダンスについては、[「設定の使用](https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html)」を参照してください。

特定の MediaTailor ワークフローに基づいてキャパシティプランを調整します。

## MediaTailor 広告挿入ワークフローの場合
<a name="plan-ad-insertion"></a>

1. キャッシュなしでパーソナライズされたマニフェストを処理するように CDN を設定します。これにより、各ビューワーはターゲットを絞った一意の広告を受信できます。広告は、そのプロファイルと表示コンテキストに基づいています。

1. ピークリクエストボリュームを処理するように広告決定サーバー (ADS) のサイズを設定します。ADS 設定のガイダンスについては、[MediaTailor を使用した広告挿入](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-insertion.html)」を参照してください。次の点を考慮してください。
   + ユースケースの応答時間要件
   + 予想される同時ビューワー容量
   + 冗長性とフェイルオーバーの要件
   + 地理的分散のニーズ

1. CDN レベルでリクエストの折りたたみを実装して、同期された広告時間枠リクエストを処理します。リクエストの折りたたみは、複数の同一のリクエストを 1 つのオリジンリクエストに結合します。これは、次の場合に重要です。
   + 多数の視聴者が同時に広告ブレークにヒットしたときのライブスポーツイベント
   + 人気テレビ番組が同期商用ブレークで公開
   + 突然の視聴者の急増を引き付ける重大なニュースイベント

   実装の詳細については、[「オリジンフェイルオーバー](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)」を参照して、ピーク負荷時のリクエスト処理を設定します。

## MediaTailor チャネルアセンブリワークフローの場合
<a name="plan-channel-assembly"></a>

1. チャネル数とそのビットレートに基づいて容量要件を計算します。チャネルアセンブリ容量計画のガイダンスについては、[MediaTailor の「チャネルアセンブリ](https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly.html)」を参照してください。次の点を考慮してください。
   + チャネルの合計数
   + チャネルあたりのビットレート要件
   + 予想される同時ビューワーロード
   + 地理的分散のニーズ

1. 公開されたスケジュールに基づいて予測可能なトラフィックパターンを処理するように CDN を設定します。チャネルアセンブリには通常、広告挿入よりも予測可能なパターンがあります。その理由は次のとおりです。
   + プログラミングスケジュールが事前にわかっている
   + ビューワーの動作は確立されたパターンに従います
   + コンテンツはビューワーごとに動的に変更されません

1. オリジンに、一貫したチャネル出力を維持するのに十分な帯域幅があることを確認します。実装:
   + 高可用性チャネル用の冗長オリジンサーバー
   + プライマリオリジンとバックアップオリジン間の自動フェイルオーバー
   + オリジンパフォーマンスの問題を検出するためのモニタリング

   実装ガイダンスについては、「オ[リジン冗長性を設定](https://docs.aws.amazon.com/mediapackage/latest/ug/cloudfront-origin-failover.html)して回復力のあるオリジンインフラストラクチャを作成する」を参照してください。

## MediaTailor ワークフローを組み合わせた場合
<a name="plan-combined-workflow"></a>

1. 両方のサービスを組み合わせたトラフィックパターンを処理するようにインフラストラクチャのサイズを設定します。ワークフローの組み合わせに関するガイダンスについては、「」を参照してください[AWS Elemental MediaTailor を使用して広告を挿入する](configurations.md)。次の点を考慮してください。
   + チャネルアセンブリのベースライン要件
   + 広告挿入のオーバーヘッド要件
   + ピークトラフィックパターン
   + 冗長性のニーズ

1. 線形コンテンツ配信と動的広告挿入用に個別の CDN 動作を設定します。この分離により、次のことが可能になります。
   + コンテンツタイプごとにキャッシュポリシーを個別に最適化する
   + コンテンツタイプに基づいてリクエストを適切なオリジンにルーティングする
   + ワークフローごとにパフォーマンスメトリクスを個別にモニタリングする

1. 最適なパフォーマンスを維持するために、エッジ CDNs間の適切なルーティングを設定します。以下を使用することを検討してください。
   + コンテンツセグメント (/content/\$1) と広告セグメント (/ads/\$1) の異なるオリジンパス
   + マニフェストとセグメントのキャッシュ動作を分離する
   + 異なるリージョンのレイテンシーを最適化するための地理的ルーティング

   実装の詳細については、「パスベースのルーティングとキャッシュルールを設定するためのキャッシュ[動作](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior)の設定」を参照してください。

# CDN と MediaTailor の統合のモニタリングとスケーリングを設定する
<a name="setup-monitoring"></a>

 AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合で最適なパフォーマンスと視聴者エクスペリエンスを維持するには、効果的なモニタリングとスケーリング戦略が不可欠です。CDN 統合が大規模に確実に機能するように、これらのアプローチを実装します。

以下のモニタリングおよびスケーリング戦略を実装します。

1. これらの主要メトリクスのモニタリングを設定します。適切なターゲット値に関するガイダンスについては、[Amazon CloudWatch による MediaTailor のモニタリング](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch-metrics.html)」および「CDN プロバイダーのベストプラクティス」を参照してください。
   + CDN キャッシュヒット率 (コンテンツタイプと配信パターンに基づいてベースラインメトリクスとターゲットを確立する)
   + オリジンリクエストボリューム (異常検出のベースラインを確立するために、通常のオペレーション中にパターンをモニタリングする)
   + エラータイプ別のエラー率 (サービスレベルの目標と MediaTailor のベストプラクティスに基づいてしきい値を定義する)
   + 応答時間 (ビューワーエクスペリエンスの要件と地理的分布に基づいて適切なレイテンシーターゲットを設定する)

   実装手順の詳細については、[「MediaTailor と CDN メトリクスを一緒に視覚化する CloudWatch ダッシュボードの作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。 MediaTailor 

1. 予期しないトラフィックパターンやパフォーマンスの低下に関するアラートを設定します。ベースラインメトリクスとサービスレベルの目標に基づいてしきい値を設定します。アラートの設定に関するガイダンスについては、[Amazon CloudWatch アラームの作成](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。モニタリングを検討してください。
   + ベースラインキャッシュヒット率からの大幅な偏差 (通常は 85～90% を下回ると警告)
   + オリジンリクエストボリュームの急激な増加 (ベースラインから 30% 以上の増加に関するアラート)
   + 定義されたしきい値を超えるエラー率の急増 (通常、4xx エラーの場合は 1～2%、5xx エラーの場合は 0.5%)
   + 許容レベルを超える応答時間の低下 (通常はマニフェストの場合は >500 ミリ秒、セグメントの場合は >200 ミリ秒)

   実装例については、効果的なモニタリングダッシュボードとアラートを作成するための [CloudWatch の概念](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)を参照してください。

1. 予測可能なトラフィックの多いイベントのスケーリングプランを作成します。計画には、次の主要な要素を含める必要があります。
   + イベント前のキャパシティーの増加 (イベント開始の 24～48 時間前)
   + 段階的な視聴者ランプアップスケジュール (通常、5 分間隔で予想される視聴者の 10～20%)
   + 対象者に基づくリージョン別キャパシティー分布 (予想されるリージョン別視聴率に比例してキャパシティーを割り当てる)
   + イベント後のスケーリング手順 (イベント終了後 30～60 分間ピーク容量を維持する)

   トラフィックの多いイベントのスケーリングに関する実装ガイダンスについては、 AWS メディアブログの「回復[力のあるend-to-endのライブワークフローのセットアップ](https://aws.amazon.com/blogs/media/part-1-how-to-set-up-a-resilient-end-to-end-live-workflow/)」を参照してください。

1. 次のような重要なストリームにフェイルオーバーと冗長性対策を実装します。
   + マルチリージョン CDN デプロイ (重要なコンテンツの場合は少なくとも 2 つのリージョン)
   + バックアップオリジンサーバー (30 秒ごとに自動ヘルスチェックで設定)
   + ヘルスチェックに基づく自動フェイルオーバートリガー (通常はチェックが 2～3 回失敗した後)
   + さまざまな障害シナリオの復旧手順 (特定の応答時間目標とともに文書化)

   実装手順の詳細については、[CloudFront オリジンフェイルオーバーによる高可用性の最適化](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)」を参照してください。

# CDN と MediaTailor の統合のコストを最適化する
<a name="optimize-costs"></a>

コンテンツ配信ネットワーク (CDN) のコストは、トラフィックパターン、地理的分布、 による機能の使用状況によって大きく異なる場合があります AWS Elemental MediaTailor。現在の料金情報については、[CloudFront の料金](https://aws.amazon.com/cloudfront/pricing/)」を参照してください。CDN プロバイダーのドキュメントを参照することもできます。

以下の戦略を使用して、パフォーマンスとコスト効率のバランスを取ります。

1. CDN トラフィックパターンを分析して、最も費用対効果の高い料金階層を選択します。CDN プロバイダーで次の要因を確認します。
   + リージョンと期間別のデータ転送ボリューム
   + マニフェストとセグメントのリクエストパターン
   + 地理的分散の要件
   + ピーク使用パターンと平均使用パターン

   コスト分析については、 [AWS 料金計算ツールを使用して](https://calculator.aws/#/)、特定の使用パターンに基づいて CloudFront のコストを見積もります。

1. 予測可能なワークロードの場合は、CDN プロバイダーとのリザーブドキャパシティ契約を評価します。これらの契約には次のような利点があります。
   + コミットされた使用量の割引料金
   + 予算の予測可能な月額コスト
   + 優先度のサポートと容量の割り当て

   CDN プロバイダーに相談して、リザーブドキャパシティが使用パターンに適しているかどうかを判断します。CloudFront については、[CloudFront のプレミアム機能](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-premium-features.html)」を参照してください。これにより、リザーブドキャパシティオプションに関する情報が提供されます。

1. MediaTailor と CDN プロバイダー間のトラフィックを分散することで、エグレスコストを最適化します。戦略には以下が含まれます。
   + キャッシュヒット率を最大化してオリジンリクエストを減らす
   + オリジンシールドを使用してリクエストを統合する
   + 圧縮を実装してデータ転送ボリュームを減らす
   + リージョンの料金に合った CDN AWS リージョンを選択する

   圧縮に関する実装ガイダンスについては、CloudFront デベロッパーガイドの[「圧縮ファイルの供給](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html)」を参照してください。

1. オリジンリクエストを減らすために、さまざまなコンテンツタイプに適したキャッシュ戦略を実装します。キャッシュ最適化のガイダンスについては、[「キャッシュヒット率の向上](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html)」を参照してください。以下に焦点を当てます。
   + コンテンツセグメント (長期間キャッシュできます)
   + 広告セグメント (通常はビューワー間で再利用)
   + プレイヤーファイルやイメージなどの静的アセット

   キャッシュヒット率の向上により、オリジンコストが大幅に削減されます。CDN プロバイダーと協力して、特定のコンテンツパターンのキャッシュ設定を最適化します。詳細な実装手順については、[「キャッシュ動作の設定](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html)」を参照してください。

# CDN と MediaTailor の統合の実装をテストする
<a name="test-implementation"></a>

本番デプロイ前に AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合を徹底的にテストすることで、信頼性の高い視聴者エクスペリエンスを確保します。適切なテストは、対象者に影響を与える前に問題を特定して解決するのに役立ちます。テスト方法のガイダンスについては、[CloudFront ディストリビューションのテスト](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-testing.html)」を参照してください。CDN プロバイダーのテストドキュメントを参照することもできます。

CDN 統合を検証するテストステップに従います。

1. 本番稼働用設定をミラーリングするテスト環境を作成します。インクルード:
   + 同一の CDN 設定とキャッシュ動作
   + さまざまなビットレートと形式の代表的なコンテンツを含める
   + サンプル広告レスポンスを使用してテスト広告決定サーバーを設定する
   + モニタリングとアラートの設定をセットアップする

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

1. 負荷テストを実行して、容量の見積もりを検証します。負荷テストのガイダンスについては、[MediaPackage のモニタリング](https://docs.aws.amazon.com/mediapackage/latest/ug/monitoring-service.html)」を参照してください。テストシナリオには以下が含まれます。
   + ビューワー数の段階的な増加 (通常は 5 分ごとに予想されるピークの 10～20%)
   + 予想されるピーク負荷に基づく突然のトラフィックの急増 (ピークオーディエンスの 50% が 60 秒以内に参加することをシミュレート)
   + 延長ピーク負荷期間 (30～60 分以上ピーク負荷を維持する)
   + 対象者に一致する地理的分散 (予想される視聴者の場所に従ってテストトラフィックを分散)

   応答時間が目標しきい値を下回っていることを検証します。通常、これはマニフェストの場合は 500 ミリ秒未満、セグメントの場合は 200 ミリ秒未満を意味します。エラー率は 1% 未満に維持する必要があります。負荷テストツールと方法の実装の詳細については、 AWS 「ネットワークとコンテンツ配信ブログ」の[CloudFront を使用した負荷テスト](https://aws.amazon.com/blogs/networking-and-content-delivery/load-testing-with-cloudfront/)」を参照してください。

1. フェイルオーバーシナリオをテストして信頼性を確保します。シミュレート:
   + オリジンサーバーの障害 (完全な停止シナリオと部分的な低下シナリオ)
   + CDN エッジロケーションの停止 (バックアップロケーションへのトラフィックルーティングでテスト)
   + 広告決定サーバーの非可用性 (5～10 秒のタイムアウトでテスト)
   + ネットワーク接続の問題 (パケット損失とレイテンシーの増加をシミュレート)

   CDN プロバイダーと協力して、ユースケースに適したフェイルオーバー応答時間目標を設定します。通常、これはフェイルオーバーが完了するまで 3 秒未満であることを意味します。フェイルオーバーテストの実装ガイダンスについては、CloudFront デベロッパーガイドの[「オリジンフェイルオーバー](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)」を参照してください。

1. 主要なイベントについては、[AWS 負荷テストガイドライン](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/load-testing.html)に基づいて段階的なランプアップ戦略を実装します。
   + 異なるオーディエンスセグメントの開始時間をずらします。たとえば、オーディエンスグループ間で 15 分間隔でプレミアムサブスクライバーを最初に許可します。
   + 事前ウォーミング手法を使用して負荷を徐々に増やします。事前ウォーミングには以下が含まれます。
     + イベントの 2～4 時間前に CDN キャッシュに一般的なコンテンツを入力する
     + 合成トラフィックを予想ピークの 20～30% まで徐々に増やしてシステムをウォームアップする
     + 実際のコンテンツを使用して、現実的な負荷条件ですべてのコンポーネントをテストする
   + ランプアップ期間中のシステムパフォーマンスをモニタリングし、以下を追跡します。
     + キャッシュヒット率と応答時間 (ターゲット >90% ヒット率、<500ms 応答)
     + エラー率とオリジン負荷 (エラー率 <1%、オリジン CPU <70%)
     + 広告パーソナライゼーションの成功率 (ターゲット >98% の成功パーソナライゼーション)
     + ビューワーエクスペリエンスメトリクス (ターゲット <2 秒の起動時間、<0.5% の再バッファリング)
   + 予期しないトラフィックの急増に備えて、緊急時対応計画を立てます。プランには、以下の重要なコンポーネントを含める必要があります。
     + 15 分以内に容量を 50～100% 増やす手順を文書化した緊急キャパシティスケーリング手順
     + トラフィックの 20～50% をセカンダリ CDN に移行する機能を備えたバックアップ CDN アクティベーションプロトコル
     + 広告挿入のフォールバックを簡素化し、ターゲットパラメータを 10 個以上から 3～5 個の必須パラメータに減らす
     + 事前定義された通知テンプレートと連絡先リストを持つステークホルダー向けのコミュニケーションプラン

   テストが完了したら、本番環境のデプロイ手順の [CDN 統合の実装](https://docs.aws.amazon.com/mediatailor/latest/ug/cdn-integration.html)に進みます。

# CDN と MediaTailor の統合に関する一般的な問題のトラブルシューティング
<a name="troubleshooting-cdn"></a>

ビューワーに影響を与える AWS Elemental MediaTailor 前に、 で一般的なコンテンツ配信ネットワーク (CDN) 統合の課題に対処します。このセクションでは、 との CDN 統合中に発生する一般的な問題を特定して解決するのに役立ちます AWS Elemental MediaTailor。

包括的なトラブルシューティングガイダンスについては、[MediaTailor](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html) のトラブルシューティング」と[CloudFront ディストリビューションのトラブルシューティング](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/troubleshooting.html)」を参照してください。

## MediaTailor マニフェスト配信の問題の解決
<a name="manifest-issues"></a>

視聴者に再生の問題が発生したり、誤った広告が表示されたりする場合は、以下の一般的なマニフェスト関連の問題を確認してください。
+ **不正なキャッシュ設定**: CDN がパーソナライズされたマニフェストをキャッシュする場合、ビューワーには他のユーザー向けの広告が表示されることがあります。

  解決策: MediaTailor へのマニフェストリクエストのキャッシュ TTL を 0 に設定します。
+ **オリジンリクエストの失敗**: CDN が MediaTailor に到達できない場合、マニフェストリクエストは失敗します。

  解決策: CDN と MediaTailor 間のネットワーク接続を確認します。CDN が正しいヘッダーを適切に転送していることを確認します。
+ **セッションパラメータの問題**: セッションパラメータがないか、正しくないと、パーソナライゼーションが失敗する可能性があります。

  解決策: プレイヤーがマニフェストリクエストに必要なすべてのセッションパラメータを正しく追加していることを確認します。

## MediaTailor セグメント配信の問題の修正
<a name="segment-issues"></a>

コンテンツまたは広告セグメントが正しくロードされない場合は、次の一般的な問題を調査してください。
+ **セグメントパスの書き換え**: CDN 設定が正しくないと、セグメント URLs不適切に書き換えられる可能性があります。

  解決策: CDN がセグメント URLs。参照を壊すような方法でパスを変更しないことを確認します。
+ **CORS 設定**: CORS ヘッダーがないか正しくないと、ブラウザがセグメントをロードできなくなる可能性があります。

  解決策: セグメントリクエストに適切な CORS ヘッダーを渡すように CDN を設定します。
+ **キャッシュミスストーム**: トラフィックの多いイベントでは、複数のキャッシュミスがオリジンサーバーを圧迫する可能性があります。

  解決策: リクエストの折りたたみとオリジンシールド機能を実装して、トラフィックの急増時のオリジン負荷を軽減します。

## MediaTailor CDN パフォーマンスの問題に対処する
<a name="performance-issues"></a>

ビューワーがバッファリングや読み込みが遅い場合は、以下のパフォーマンス関連の問題を確認してください。
+ **キャッシュヒット率が低い**: CDN がオリジンからコンテンツを頻繁にリクエストする場合、パフォーマンスが低下します。

  解決策: キャッシュヒット率をコンテンツタイプ別に分析し、TTL 設定を調整してキャッシュ効率を向上させます。
+ **地理的分布**: CDN エッジロケーションから離れたビューワーでは、レイテンシーが増加する可能性があります。

  解決策: CDN エッジロケーションディストリビューションを確認します。ビューワーの濃度が高いリージョンに容量を追加します。
+ **オリジン容量の制限**: オリジンサーバーが過負荷になっている場合、応答時間が長くなります。

  解決策: オリジンリクエストの制限を実装します。オリジン容量を増やしたり、キャッシュを改善してオリジンの負荷を減らすこともできます。

トラブルシューティングに関するその他のサポートについては、[MediaTailor のトラブルシューティング](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html)」を参照するか、 AWS サポートにお問い合わせください。一般的な CDN 問題の解決に関する実装ガイダンスについては、 AWS メディアブログの[「コンテンツ配信ネットワークのデバッグ](https://aws.amazon.com/blogs/media/debugging-your-content-delivery-network/)」を参照してください。

# MediaTailor との CDN 統合を設定する
<a name="cdn-configuration"></a>

このセクションでは、 をコンテンツ配信ネットワーク (CDN) AWS Elemental MediaTailor と統合するためのガイダンスを提供します。

MediaTailor との効果的な CDN 統合は、パーソナライズされた広告で高品質のストリーミングエクスペリエンスを大規模に提供するために不可欠です。このガイドでは、CDN 統合をセットアップ、設定、最適化する完全なプロセスについて説明します。

詳細については、次のリンクを参照してください。
+ 認可と広告ターゲティングのために CDNs「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。
+ 動的変数と設定エイリアスを使用した高度なルーティングについては、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。
+ MediaTailor 設定の作成については、「」を参照してください[AWS Elemental MediaTailor を使用して広告を挿入する](configurations.md)。
+ CloudFront ディストリビューションの作成の詳細については、CloudFront [デベロッパーガイド」の「ディストリビューション](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html)の作成」を参照してください。

このガイドを明確にするために、さまざまなタイプのマニフェストを説明するために次の用語が使用されます。
+ **HLS マニフェスト**:
  + *多変量プレイリスト*: メディアプレイリストへのリンクを含む最上位マニフェスト
  + *メディアプレイリスト*: コンテンツセグメントへのリンクを含む第 2 レベルのマニフェスト
+ **DASH マニフェスト**:
  + *MPD (メディアプレゼンテーションの説明)*: DASH マニフェストの標準用語

MediaTailor を CDN と統合すると、次の利点があります。
+ ビューワーのレイテンシーの短縮
+ トラフィックの多いイベントのスケーラビリティの向上
+ 冗長な配信パスによる信頼性の向上
+ オリジントラフィックを削減してコストを最適化
+ DDoS 攻撃に対する保護の強化

## CDN 統合コンポーネントと要件
<a name="cdn-integration-components"></a>

MediaTailor との CDN 統合を成功させるには、次の主要コンポーネントを設定する必要があります。

**CDN ルーティングの動作**  
さまざまなタイプのリクエスト (マニフェスト、コンテンツセグメント、広告セグメント) が CDN 経由でルーティングされる方法を決定するルール。

**MediaTailor での CDN マッピング**  
オリジンサーバーを直接参照するのではなく、マニフェストが CDN ドメインを参照することを保証する MediaTailor の設定。

**セキュリティ設定**  
トランスポートセキュリティ、アクセスコントロール、モニタリングなど、コンテンツとインフラストラクチャを保護する設定。

**テストと検証**  
本番環境にデプロイする前に CDN 統合が正しく動作していることを検証する手順。

## CDN 統合の前提条件
<a name="prerequisites"></a>

CDN 統合を設定する前に、以下があることを確認してください。

1. 次の設定の MediaTailor 設定。
   + コンテンツ**ソースとしてのコンテンツ**オリジン
   + **広告決定サーバー**としての ADS

   CDN 統合ステップにもオリジン URL と ADS URLs が必要です。

1. CDN の設定インターフェイスへのアクセス

1. 動作、ルール、キャッシュ設定に関する CDN 固有の用語を理解する

1. セグメントに使用されるファイル拡張子 (.ts、.mp4、.m4s など) を含むコンテンツ構造に関する知識

## CDN 統合のセットアップ手順
<a name="cdn-integration-workflow"></a>

MediaTailor を CDN と統合するプロセスは、以下の大まかなステップに従います。

1. **CDN ルーティング動作を設定する** - さまざまなタイプのリクエストを適切にルーティングするように CDN を設定します。

1. **MediaTailor で CDN マッピングを設定する** - CDN ドメイン名を使用するように MediaTailor 設定を更新します。

1. **セキュリティのベストプラクティスを実装**する - コンテンツとインフラストラクチャを保護するためにセキュリティ設定を構成します。

1. **統合をテスト**する - CDN 統合が正しく動作していることを確認します。

## MediaTailor CDN 統合に必要なヘッダー
<a name="cdn-required-headers"></a>

MediaTailor が CDN で正しく機能するには、特定の HTTP ヘッダーを転送するように CDN を設定する必要があります。これらのヘッダーは、圧縮、デバイス検出、広告パーソナライゼーション、ジオターゲティングなどの適切な機能に不可欠です。

次のヘッダーを MediaTailor に転送するように CDN を設定します。

**`Accept-Encoding`**  
**目的**: 圧縮機能に必要  
**詳細**: このヘッダーは、クライアントがサポートする圧縮方法を MediaTailor に伝えます。MediaTailor はこの情報を使用して、可能な限りマニフェストを圧縮し、帯域幅の使用量を減らし、パフォーマンスを向上させます。圧縮をサポートしていないレガシーデバイスはこのヘッダーを送信せず、MediaTailor は非圧縮マニフェストを返します。

**`User-Agent`**  
**目的**: デバイスの検出と広告のパーソナライズに必要  
**詳細**: MediaTailor は User-Agent ヘッダーを分析して、クライアントデバイスタイプ、ブラウザ、機能を特定します。この情報は、広告ターゲティング、デバイス固有の最適化、さまざまな再生クライアントとの互換性の確保に使用されます。

**`Host`**  
**目的**: 適切なリクエストルーティングに必要です  
**詳細**: `Host`ヘッダーにより、リクエストが正しい MediaTailor エンドポイントにルーティングされます。これは、マルチテナント環境やカスタムドメイン設定を使用する場合に特に重要です。  
Amazon CloudFront を含む多くの CDNs、デフォルトで`Host`ヘッダーを転送しません。CloudFront ユーザーの場合: 設定手順[キャッシュ動作の設定](cloudfront-basic-setup.md#cf-cache-behaviors)については、「」を参照してください。

**`X-Forwarded-For`**  
**目的**: クライアント IP 検出とジオターゲティングに必要  
**詳細**: このヘッダーは、リクエストが CDN を通過するときに元のクライアント IP アドレスを保持します。MediaTailor は、この情報を地理的広告のターゲティング、分析、リージョンのコンテンツ制限への準拠に使用します。

**重要**  
MediaTailor の全機能には、4 つのヘッダーすべてが必要です。これらのヘッダーがないと、次のような機能が低下する可能性があります。  
マニフェストを圧縮できない (Accept-Encoding がない)
不適切な広告ターゲティングとデバイスの互換性の問題 (User-Agent の欠落)
リクエストルーティングの失敗 (ホストの欠落)
不正確なジオターゲティングと分析 (X-Forwarded-For の欠落)

CDN 固有の設定手順については、このヘッダーリストを参照するルーティング動作とキャッシュセクションを参照してください。

以下のトピックでは、CDN 統合の各側面の詳細な手順について説明します。

**Topics**
+ [CDN 統合コンポーネントと要件](#cdn-integration-components)
+ [CDN 統合の前提条件](#prerequisites)
+ [CDN 統合のセットアップ手順](#cdn-integration-workflow)
+ [MediaTailor CDN 統合に必要なヘッダー](#cdn-required-headers)
+ [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)
+ [MediaTailor で CDN マッピングを設定する](cdn-mapping-mediatailor.md)
+ [MediaTailor の CDN 統合セキュリティのベストプラクティス](cdn-security-best-practices.md)

# MediaTailor の CDN ルーティング動作を設定する
<a name="cdn-routing-behaviors"></a>

このセクションでは、 AWS Elemental MediaTailor 統合のためにさまざまなタイプのリクエストを適切にルーティングするようにコンテンツ配信ネットワーク (CDN) を設定する方法について説明します。適切なルーティング設定により、マニフェストリクエスト、コンテンツセグメント、広告セグメントが正しく処理されます。

CDN ルーティング動作の設定は、効率的なコンテンツ配信パイプラインを作成する上で重要なステップです。さまざまなコンテンツタイプに特定のルーティングルールを設定することで、キャッシュを最適化し、配信パフォーマンスを向上させ、パーソナライズされた広告挿入が正しく機能するようにできます。

動的変数と設定エイリアスを使用する高度なルーティングシナリオについては、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。CDN ルーティング全体でクエリパラメータを保持する方法については、「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

**重要**  
キャッシュされたオブジェクトまたはビューワーへの CDN レスポンスに CORS ヘッダーを含めると、再生が失敗する可能性があります。

## CDN ルーティング動作設定
<a name="cdn-routing-configuration"></a>

さまざまなタイプのリクエストを適切にルーティングするように CDN を設定します。

### コンテンツセグメントのルーティング
<a name="content-segment-routing"></a>

コンテンツセグメントルーティングは、実際のコンテンツセグメントのリクエストをオリジンサーバーに送信します。広告セグメントルーティングと同様に、コンテンツセグメントルーティングには、ウェブベースのプレイヤーでスムーズに再生できるように適切な CORS 設定も必要です。

詳細な設定ガイダンスについては、 の CloudFront の例を参照してください[優先順位 4: コンテンツオリジンパスの動作](cf-comprehensive-configuration.md#cf-default-behavior)。この例では、CloudFront で従うか、他の CDNs。

コンテンツセグメントルーティングの主な設定要件は次のとおりです。
+ コンテンツセグメントファイル拡張子 (`*.ts`、、 `*.mp4`など`*.m4s`) に一致するパスパターンを使用する
+ リクエストをコンテンツオリジン (Amazon S3 バケットや MediaPackage エンドポイントなど) にルーティングする
+ 最適なキャッシュヒット率を得るには、オリジンがキャッシュキーのレスポンスを変更し、オリジンリクエストを転送する原因となるクエリ文字列パラメータのみを含めます。
+ 24 時間を超える TTL 値を持つ適切なキャッシュポリシーを適用する
+ CORS レスポンスヘッダーをビューワーに含める

### 広告セグメントのルーティング
<a name="ad-segment-routing"></a>

広告セグメントルーティングは、パーソナライズされた広告を視聴者に配信するために不可欠です。広告セグメントルーティングを設定するときは、ウェブベースのプレイヤーで再生失敗の原因となる問題を防ぐために、適切な CORS (Cross-Origin Resource Sharing) 処理を実装する必要があります。

詳細な設定ガイダンスについては、 の CloudFront の例を参照してください[優先順位 0: 広告セグメントのパス動作](cf-comprehensive-configuration.md#cf-transcode-manage-behavior)。この例では、CloudFront で従うか、他の CDNs。

広告セグメントルーティングの主な設定要件は次のとおりです。
+ MediaTailor 広告セグメント`/tm/*`専用のパスパターンを使用する
+ へのリクエストのルーティング `segments.mediatailor.region.amazonaws.com`
+ 最適なキャッシュヒット率を得るには、ビューワーリクエストヘッダー、Cookie、またはクエリ文字列パラメータをキャッシュキーまたはオリジンリクエストに含めないでください。
+ 24 時間を超える TTL 値を持つ適切なキャッシュポリシーを適用する
+ CORS レスポンスヘッダーをビューワーに含める

### マニフェストリクエストルーティング
<a name="manifest-routing"></a>

多変量プレイリスト、メディアプレイリスト、MPD リクエストを MediaTailor にルーティングするには、次の一般的な設定を使用します。CloudFront の設定については、「」を参照してください[マニフェストキャッシュ動作の設定](cloudfront-basic-setup.md#cf-manifest-behavior)。

1. CDN 設定インターフェイスで、さまざまなマニフェストタイプの動作を作成します。

1. マルチバリアントプレイリストとメディアプレイリストのファイル拡張子 (`*.m3u8`HLS の場合) と MPD ファイル拡張子 (`*.mpd`DASH の場合) に一致するようにパスパターンを設定します。

1. MediaTailor 設定エンドポイントを指すように CDN のオリジン設定を構成します。

1. 広告挿入の場合、パーソナライズされたマルチバリアントプレイリスト、メディアプレイリスト、MPDs。広告挿入はパーソナライズされたマニフェストを提供するため、CDN はマニフェストをキャッシュしないでください。意図したものとは異なる再生デバイスがキャッシュされたプレイリストまたは MPD を受信すると、再生または追跡の問題が発生する可能性があります。すべてのコンテンツタイプの TTL レコメンデーションを含む包括的なキャッシュガイダンスについては、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

1. すべてのヘッダーのヘッダー転送を設定します。最小要件については、「」を参照してください[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers)。

1. クエリ文字列転送を有効にして、広告ターゲティングパラメータを渡します。

------
#### [ HLS multivariant playlist ]

HLS マルチバリアントプレイリストリクエストは、次の形式に従います。

```
https://<playback-endpoint>/v1/index/<hashed-account-id>/<origin-id>/<index>.m3u8
```

例:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/master/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/assetId.m3u8
```

------
#### [ HLS media playlist ]

HLS メディアプレイリストリクエストは次の形式に従います。

```
https://<playback-endpoint>/v1/manifest/<hashed-account-id>/<session-id>/<manifestNumber>.m3u8
```

へのプレイヤーリクエスト`https://CDN_Hostname/some/path/asset.m3u8`は、リクエストのキーワード`https://mediatailor.us-west-2.amazonaws.com/v1/session/configuration/endpoint`に基づいて MediaTailor パス`*.m3u8`にルーティングされます。

例:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/manifest/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/c240ea66-9b07-4770-8ef9-7d16d916b407/0.m3u8
```

------
#### [ DASH MPD ]

DASH MPD リクエストは次の形式に従います。

```
https://<playback-endpoint>/v1/dash/<hashed-account-id>/<origin-id>/<assetName>.mpd
```

へのプレイヤーリクエスト`https://CDN_Hostname/some/path/asset.mpd`は、リクエストのキーワード`https://mediatailor.us-west-2.amazonaws.com/v1/dash/configuration/endpoint`に基づいて MediaTailor パス`*.mpd`にルーティングされます。

例:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/0.mpd
```

------

## CDN ルーティングのベストプラクティス
<a name="cdn-routing-best-practices"></a>

CDN ルーティング動作を設定するときは、次のベストプラクティスに従って最適なパフォーマンスと信頼性を確保します。

**特定のパスパターンを使用する**  
コンテンツ構造に正確に一致する特定のパスパターンを作成して、適切なルーティングを確保します。

**動作順序の優先順位付け**  
ほとんどの CDNs、動作は順番に評価されます。より一般的な動作の前に、より具体的な動作を配置します。

**テスト動作パターン**  
本番環境にデプロイする前に、パスパターンが予想されるリクエストと正しく一致していることを確認します。

**設定を文書化する**  
CDN ルーティング動作のドキュメントを維持し、トラブルシューティングと今後の更新を容易にします。

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

CDN ルーティング動作を設定したら、次のステップとして MediaTailor で CDN マッピングを設定します。手順については、「[MediaTailor で CDN マッピングを設定する](cdn-mapping-mediatailor.md)」を参照してください。

# MediaTailor で CDN マッピングを設定する
<a name="cdn-mapping-mediatailor"></a>

このセクションでは、コンテンツ配信ネットワーク (CDN) ドメイン名を使用する AWS Elemental MediaTailor ように を設定する方法について説明します。CDN ルーティング動作を設定したら、オリジンサーバーを直接参照するのではなく、マニフェストが CDN ドメインを参照するように MediaTailor 設定を更新する必要があります。

MediaTailor で CDN マッピングを設定すると、マニフェスト内のすべてのコンテンツと広告セグメント URLs、オリジンサーバーに直接ではなく CDN を指すようになります。このステップは、完全な CDN 配信チェーンを作成し、CDN 統合の利点を最大化するために不可欠です。

## MediaTailor での CDN マッピング設定
<a name="mediatailor-configuration"></a>

CDN ルーティング動作を設定したら、CDN ドメイン名を使用するように MediaTailor を設定します。

1. [MediaTailor コンソール](https://console.aws.amazon.com/mediatailor/home)を開きます。

1. 更新する設定を選択します。

1. **CDN 設定****の詳細設定**セクションで、CDN **コンテンツセグメントプレフィックスフィールドに CDN** ドメイン名を入力します。

1. 広告セグメントに別の CDN ドメインを使用している場合は、**CDN 広告セグメントプレフィックス**フィールドに入力します。

1. 変更内容を保存します。

この設定により、MediaTailor はオリジンまたは広告セグメントストレージを直接参照するのではなく、CDN を指す URLs を持つマニフェストを生成します。

### 基本 URL の動作について
<a name="base-url-behavior"></a>

MediaTailor URLs を決定します。
+ **CDN 広告セグメントプレフィックスの設定**: 広告セグメントは CDN プレフィックスをベース URL として使用します。
+ **CDN 広告セグメントプレフィックスが設定されていません**: 広告セグメントは直接 MediaTailor の場所をベース URL として使用します。
+ **CDN コンテンツセグメントプレフィックスの設定**: コンテンツセグメントは CDN プレフィックスをベース URL として使用します。
+ **CDN コンテンツセグメントプレフィックスが設定されていません**: コンテンツセグメントは元のコンテンツオリジンを参照します。

#### DASH BaseURL の処理
<a name="dash-baseurl-handling"></a>

DASH マニフェストの場合、MediaTailor はコンテンツセグメントと広告セグメント`BaseURL`の設定を異なる方法で管理します。

**コンテンツセグメント:**
+ **CDN コンテンツセグメントプレフィックス**の場合: MediaTailor は、指定したプレフィックスを使用して`MPD`レベル`BaseURL`に 1 つだけを設定します。
+ **CDN コンテンツセグメントプレフィックス**なし: MediaTailor はオリジンマニフェストから既存の`BaseURL`設定を保持するか、存在しない場合はオリジン `MPD` URL に基づいて設定を追加します。

**広告セグメント:**
+ **CDN 広告セグメントプレフィックス**の場合: 各広告期間は、設定されたプレフィックス`BaseURL`を使用して 1 つだけ取得されます。
+ **CDN 広告セグメントプレフィックスなし**: 各広告期間は MediaTailor 広告コンテンツサーバー`BaseURL`を指す 1 つだけ取得されます。

**Example CDN マッピングの例**  
コンテンツオリジンが `http://origin.com/contentpath/`で、CDN コンテンツセグメントプレフィックスが の場合`https://cdn.example.com/`、通常は として参照されるコンテンツセグメント`http://origin.com/contentpath/subdir/content.ts`がマニフェストに として表示されます`https://cdn.example.com/subdir/content.ts`。

## 重要な考慮事項
<a name="cdn-mapping-considerations"></a>

MediaTailor で CDN マッピングを設定するときは、次の重要な考慮事項に注意してください。

**CDN プレフィックスに HTTPS を使用する**  
CDN プレフィックスには常に HTTPS URLs を使用して、安全なコンテンツ配信を確保します。

**CDN 動作パスの一致**  
MediaTailor で設定した CDN プレフィックスが、CDN 動作で設定したパスパターンと一致していることを確認します。

**リージョン CDNsを検討する**  
リージョンごとに異なる CDN ドメインを使用している場合は、リージョンごとに個別の MediaTailor 設定を作成する必要があります。

**ドメインの所有権を検証する**  
MediaTailor で設定する CDN ドメインを制御できることを確認します。

## CDN マッピング設定の検証
<a name="cdn-mapping-verification"></a>

MediaTailor で CDN マッピングを設定したら、設定が正しく機能していることを確認します。

1. CDN を介してマニフェストをリクエストします。

1. マニフェストコンテンツを調べて、セグメント URLs CDN ドメインを参照していることを確認します。

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

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

包括的なテストと検証の手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。

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

MediaTailor で CDN マッピングを設定した後の次のステップは、CDN 統合のセキュリティのベストプラクティスを実装することです。手順については、「[MediaTailor の CDN 統合セキュリティのベストプラクティス](cdn-security-best-practices.md)」を参照してください。

# MediaTailor の CDN 統合セキュリティのベストプラクティス
<a name="cdn-security-best-practices"></a>

このセクションでは、 AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合のセキュリティのベストプラクティスを実装する方法について説明します。適切なセキュリティ設定は、不正アクセスや潜在的な脅威からコンテンツとインフラストラクチャを保護するのに役立ちます。

CDN 統合を保護することは、コンテンツを保護し、不正アクセスを防止し、セキュリティ要件を確実に順守するために不可欠です。これらのベストプラクティスを実装することで、ストリーミングワークフローの堅牢なセキュリティ体制を構築できます。

## CDN セキュリティ設定
<a name="cdn-security-settings"></a>

CDN ルーティングとキャッシュ設定を構成する前に、以下のセキュリティのベストプラクティスを実装して、コンテンツとインフラストラクチャを保護します。

### トランスポートセキュリティ
<a name="transport-security"></a>

MediaTailor はすべての通信に HTTPS のみを使用し、HTTP 接続を許可しません。ストリーミングワークフロー内のすべてのコンポーネント間の安全な通信を確保するには、次の手順を実行します。

1. CDN と MediaTailor エンドポイント間のすべての通信に HTTPS を設定します。MediaTailor は HTTPS を必要とし、HTTP 接続を受け入れません。

1. すべての HTTPS 接続に TLS 1.2 以降を使用します。

1. ビューワーからの HTTPS 専用接続を適用するように CDN を設定します。

### アクセスコントロール
<a name="access-control"></a>

コンテンツとインフラストラクチャを不正アクセスから保護するには、次のアクセスコントロールを実装します。

1. 特定のリージョンへのコンテンツアクセスを制限する必要がある場合は、地理的制限を設定します。

1. ビューワー認証が必要なコンテンツには、署名付き URLsまたは署名付き Cookie を実装します。

1. CDN 設定への管理アクセス用に IP ベースの許可リストを設定します。

### セキュリティモニタリング
<a name="security-monitoring"></a>

セキュリティイベントを効果的に検出して対応するには、次のモニタリングプラクティスを実装します。

1. CDN ディストリビューションのアクセスログ記録を有効にします。

1. 異常なトラフィックパターンやアクセス試行のアラートを設定します。

1. セキュリティ設定を定期的に確認し、必要に応じて更新します。

## 高度なセキュリティ機能
<a name="advanced-security-features"></a>

次の高度なセキュリティ機能は、CDN 統合の保護を強化します。

**ウェブアプリケーションファイアウォール (WAF)**  
CDN が WAF 機能をサポートしている場合は、一般的なウェブの脆弱性や攻撃から保護するように設定してください。

**DDoS 保護**  
CDN が提供する DDoS 保護機能を有効にして、分散型denial-of-service攻撃を軽減します。

**オリジンアクセスコントロール**  
直接アクセスの試行を防ぐために、CDN からのリクエストのみを受け入れるようにオリジンサーバーを設定します。

**コンテンツの暗号化**  
機密性の高いコンテンツの場合は、トランスポートセキュリティを超えて追加の暗号化メカニズムを実装することを検討してください。

## 次の手順
<a name="security-best-practices-next-steps"></a>

セキュリティのベストプラクティスを実装した後の次のステップは、CDN 統合をテストしてトラブルシューティングすることです。包括的なテストとトラブルシューティングの手順[CDN 統合のトラブルシューティング](cdn-troubleshooting.md)については、「」を参照してください。

# パーソナライズされた動画広告用に CDN で SSAI をセットアップする
<a name="ssai-cdn-workflow"></a>

このセクションでは、 AWS Elemental MediaTailor サーバー側の広告挿入 (SSAI) をコンテンツ配信ネットワーク (CDN) と統合するための包括的なガイダンスを提供します。SSAI CDN 統合をセットアップ、設定、最適化するには、次の手順に従います。

サーバー側の広告挿入 (SSAI) は、パーソナライズされた広告をクライアントレベルではなくサーバーレベルでビデオストリームにシームレスに挿入するテクノロジーです。CDN と組み合わせると、最小限のレイテンシーでパーソナライズされた広告を世界中の視聴者に配信するための堅牢でスケーラブルなソリューションが作成されます。

このトピックでは、*マニフェスト*という用語を使用して、マルチバリアントプレイリスト、メディアプレイリスト、MPDs。

## 必要なもの
<a name="ssai-cdn-what-you-need"></a>

CDN で MediaTailor 広告挿入を設定する前に、以下の必要なリソースを収集します。

**AWS アカウントとアクセス許可**  
MediaTailor リソースを作成および管理するための適切なアクセス許可を持つ AWS アカウント  
MediaTailor、CloudFront (使用している場合）、および関連サービスの IAM アクセス許可  
アクセス許可の要件の詳細については、「」を参照してください[のセキュリティ AWS Elemental MediaTailor](security.md)。

**必要なサービス**  
AWS Elemental MediaTailor 設定および実行  
コンテンツ配信ネットワーク (CDN) アカウント (Amazon CloudFront またはサードパーティー CDN)  
コンテンツのオリジンサーバー (HLS または DASH)  
VAST または VMAP をサポートする広告決定サーバー (ADS)

**コンテンツ要件**  
コンテンツが適切にエンコードされ、HLS または DASH 形式でパッケージ化されている  
コンテンツ内の広告ブレークマーカー (VOD 用) または SCTE-35 マーカー (ライブ用)

## [開始する前に]
<a name="ssai-cdn-before-you-begin"></a>

CDN で MediaTailor 広告挿入を実装する前に、以下のセットアップタスクを完了します。

1. CDN、MediaTailor、オリジンサーバー間のネットワーク接続を設定する

1. 安全なコンテンツ配信のために HTTPS を設定する

1. CDN ドメインの DNS 設定を構成する

1. MediaTailor の基本的なセットアップについては、[設定](setting-up.md)「」および「」の手順を実行します[MediaTailor 広告挿入の使用開始](getting-started-ad-insertion.md)。

### ナレッジの前提条件
<a name="ssai-cdn-knowledge-prerequisites"></a>

このソリューションを正常に実装するには、以下が必要です。
+ ストリーミングプロトコル (HLS/DASH) の理解
+ CDN 設定原則の基本知識
+ 広告挿入の概念に精通している

## CDN 統合の利点
<a name="ssai-cdn-benefits"></a>

SSAI を CDN と統合すると、次の重要な利点があります。

**ビューワーエクスペリエンスの向上**  
CDNs を適切に設定することで、広告移行中のバッファリング、起動時間、再生エラーを削減できます。これにより、視聴者のエンゲージメントと満足度が向上します。

**コスト削減**  
効率的なキャッシュ戦略は、オリジンリクエストを最小限に抑えます。これにより、データ転送コストとオリジンサーバーの負荷が軽減され、特に大量の広告サポートコンテンツにとって重要です。

**スケーラビリティ**  
最適化された CDN 設定は、パフォーマンスを低下させることなく、一般的なイベント中のトラフィックの急増を処理し、ピーク視聴時でもパーソナライズされた広告を確実に配信します。

**グローバルリーチ**  
適切に設定された CDNs、場所に関係なく、世界中の視聴者に低レイテンシーでコンテンツを配信し、潜在的な視聴者を拡大します。

**シームレスな広告移行**  
最適化された CDN 設定により、コンテンツと広告間のスムーズな移行が可能になり、ブロードキャスト品質の視聴エクスペリエンスが実現します。

以下のトピックでは、パフォーマンスを最適化するために CDN で MediaTailor を設定するための包括的なガイダンスを提供します。

**Topics**
+ [必要なもの](#ssai-cdn-what-you-need)
+ [[開始する前に]](#ssai-cdn-before-you-begin)
+ [CDN 統合の利点](#ssai-cdn-benefits)
+ [CDN アーキテクチャを理解する](ssai-cdn-architecture-overview.md)
+ [基本的な広告挿入を設定する](configuring-ssai-cdn.md)
+ [チャネルアセンブリを使用した SSAI](ssai-ca-integration.md)
+ [CDN パフォーマンスの最適化](ssai-cdn-performance.md)
+ [CDN オペレーションのモニタリング](ssai-cdn-monitor.md)
+ [CDNsトラブルシューティング](troubleshooting-ssai-cdn.md)

# CDN と MediaTailor の統合のための広告挿入アーキテクチャを理解する
<a name="ssai-cdn-architecture-overview"></a>

このセクションでは、コンテンツ配信ネットワーク (CDNs) の概念とアーキテクチャについて説明します AWS Elemental MediaTailor。動的な広告挿入とマニフェスト操作が連携して効果的な動画収益化を実現する方法について説明します。

MediaTailor を使用したサーバー側の広告挿入 (SSAI) では、次のことが可能になります。
+ 定義された広告ブレークポイントでパーソナライズされた広告をビデオストリームに挿入する
+ ビューワーデータに基づいて正確に広告をターゲットにする
+ クライアント側の広告挿入テクノロジーが不要に

CDN と組み合わせると、パフォーマンスとスケーラビリティが向上し、ビデオ収益化戦略を強化して、これらのパーソナライズされたストリームを視聴者に配信できます。

CDN を使用した広告挿入の推奨アーキテクチャは、ビューワーと広告挿入の間に CDN を配置し、広告挿入はオリジンから直接コンテンツにアクセスします。このアーキテクチャでは、コンテンツ配信とビデオ収益化の両方に次の利点があります。
+ コンテンツと広告セグメントの効果的なキャッシュ
+ MediaTailor でのリクエスト負荷の軽減
+ ビューワーへの配信速度の向上
+ URL 管理の簡素化
+ デバイス間でパーソナライズされた広告を一貫して配信する

この推奨アーキテクチャでは、次のようになります。

1. CDN からのビューワーリクエストマニフェスト

1. CDN が広告挿入にリクエストを転送する

1. オリジンからの広告挿入リクエストコンテンツマニフェスト

1. 広告挿入が広告決定サーバー (ADS) から広告をリクエストする

1. 広告挿入は、広告マーカー (オリジンマニフェストから) を、特定のビューワー (ADS から) のターゲット広告セグメントを指す URLs に置き換えることで、マニフェストをパーソナライズします。

1. 広告挿入は、広告セグメント URLsを含むパーソナライズされたマニフェストを CDN に返し、それをビューワーに転送します。

1. ビューワーが CDN を介してセグメントをリクエストする

1. CDN は、セグメントタイプに基づいてセグメントリクエストをルーティングします。
   + コンテンツセグメントリクエストはコンテンツオリジンに送信されます
   + 広告セグメントリクエストは MediaTailor に移動します 

このアーキテクチャは、CDN を使用するセキュリティと柔軟性の利点を維持しながら、最適なパフォーマンスを保証します。

![\[クライアントプレイヤーと AWS Elemental MediaTailor 広告挿入の間に配置された CDN を示す図\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/cdn-recommended-positioning.png)


**注記**  
このフローは、VOD とライブコンテンツの間でわずかに異なります。VOD の場合、マニフェストはより長くキャッシュできますが、ライブコンテンツでは、ストリームの継続性を維持するためにより頻繁なマニフェスト更新が必要です。

VOD とライブコンテンツのキャッシュの主な違い:

VOD コンテンツ  
マニフェストは頻繁に変更されないため、より長い TTL 値 (分から時間) を設定します。

ライブコンテンツ  
マニフェストの TTL 値 (秒) を短く設定して、ビューワーが最新のストリームセグメントを受信できるようにします。

コンテンツオリジンと の間に CDN を配置することはお勧めしません AWS Elemental MediaTailor。これを行うと、いくつかの技術的な課題が発生する可能性があります。

キャッシュキーの衝突  
クエリパラメータを適切に処理するように CDN を設定します。これにより、異なるクエリパラメータで同じマニフェストをリクエストするときに MediaTailor が誤ったマニフェストを受信できなくなります。

Gzip 圧縮の問題  
マニフェスト解析エラーが発生した場合は、CDN が適切にフォーマットされたマニフェストを MediaTailor に配信していることを確認します。一部の CDNs、破損した gzip ペイロードが配信され、解析に失敗する可能性があります。この場合、ワークフローの他の場所でコスト削減のために圧縮を維持しながら、CDN と MediaTailor 間の圧縮を無効にする必要がある場合があります。

マニフェストの鮮度  
ライブストリームの場合は、現在のマニフェストを MediaTailor に配信するように CDN を設定します。これにより、コンテンツと広告間の同期の問題を防ぐことができます。

パフォーマンスの最適化  
ネットワークホップと潜在的なキャッシュミスを最小限に抑えて、再生の起動時間を短縮します。

キャッシュ管理  
特にマニフェストが頻繁に更新されるライブコンテンツに対して、簡素化されたキャッシュ無効化戦略を実装します。

この最適ではないアーキテクチャでは、次のようになります。

1. ビューワーは、多変量プレイリスト、メディアプレイリスト、または MPDsから直接リクエストします AWS Elemental MediaTailor。

1. MediaTailor は、CDN を介してコンテンツマニフェスト (多変量プレイリスト、メディアプレイリスト、または MPDs) をリクエストします。

1. CDN はリクエストをオリジンサーバーに転送します。

1. オリジンサーバーは、CDN に多変量プレイリスト、メディアプレイリスト、または MPDsを返します。

1. CDN は、多変量プレイリスト、メディアプレイリスト、または MPDsを MediaTailor に転送します。

1. MediaTailor は、広告決定サーバー (ADS) から広告をリクエストします。

1. MediaTailor は、マルチバリアントプレイリスト、メディアプレイリスト、または MPDs に広告を挿入してマニフェストをパーソナライズし、ビューワーに直接配信します。

1. このアーキテクチャでは、追加のレイテンシー、潜在的なキャッシュの問題が発生し、トラブルシューティングが複雑になります。

![\[コンテンツオリジンと MediaTailor の間に配置された CDN を示す図\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/cdn-not-recommended-positioning.png)


## リクエストとレスポンスのフロー
<a name="understand-request-flow"></a>

CDN で動的広告挿入を実装する場合は、このリクエストとレスポンスのフローをサポートするようにシステムを設定します。

1. MediaTailor をマニフェストオリジンとして CDN からマルチバリアントプレイリスト (HLS) または MPDs (DASH) をリクエストするようにプレイヤーを設定します。

1. すべてのクエリパラメータとヘッダーを含む、すべての多変量プレイリスト、メディアプレイリスト、MPD リクエストを MediaTailor に転送するように CDN を設定します。

1. MediaTailor が広告決定サーバー (ADS) と通信し、クエリパラメータとヘッダーを渡せることを確認します。

1. クエリパラメータを使用して挿入する広告を決定するように ADS を設定します。

1. MediaTailor 再生設定で CDN プレフィックスを設定して、MediaTailor が CDN ドメイン名をコンテンツと広告セグメント URL プレフィックスに置き換えられるようにします。

1. MediaTailor からリクエスト元のプレイヤーにパーソナライズされたマルチバリアントプレイリスト、メディアプレイリスト、MPDs を転送するように CDN を設定します。

1. セグメント URLsを翻訳するように CDN を設定し、コンテンツセグメントリクエストをオリジンサーバーに転送し、広告リクエストを MediaTailor がトランスコードされた広告を保存する Amazon S3 バケットに転送します。

### 広告挿入の CDN 用語
<a name="ssai-cdn-terminology"></a>

これらの重要な用語を理解することは、広告挿入 CDN 統合の実装とトラブルシューティングに役立ちます。

オリジン CDN とエッジ CDN  
**オリジン CDN**: MediaTailor とコンテンツオリジンの間に配置される CDN。コンテンツセグメントをキャッシュして、オリジンサーバーの負荷を軽減します。マルチ CDN アーキテクチャでは、これはオリジンと直接インターフェイスする最初の CDN レイヤーです。  
**Edge CDN**: ビューワーと MediaTailor の間に配置される CDN。パーソナライズされたマニフェストとコンテンツをビューワーに配信します。マルチ CDN アーキテクチャでは、これはビューワーと直接インターフェイスする最も外側の CDN レイヤーです。

CDN 設定条件  
**キャッシュ動作**: CDN がさまざまなタイプのリクエストを処理する方法を決定するルール。これらのルールには以下が含まれます。  
+ キャッシュ期間の設定
+ オリジンルーティング設定
+ リクエスト処理パラメータ
**TTL (有効期限)**: オリジンから更新する必要があるコンテンツが CDN キャッシュで有効である期間。  
**キャッシュキー**: CDN がキャッシュされたコンテンツを保存および取得するために使用する一意の識別子。通常、以下が含まれます。  
+ URL パス
+ クエリパラメータ
+ 選択したヘッダー
**オリジンシールド**: CDN エッジロケーションとオリジンサーバー間の中間キャッシュレイヤー。これにより、オリジンへのリクエストの数が減ります。  
**リクエストの折りたたみ**: 同じコンテンツに対する複数の同時リクエストを 1 つのオリジンリクエストに結合する CDN 機能。

MediaTailor 固有の CDN 用語  
**CDN コンテンツセグメントプレフィックス**: マニフェストでコンテンツセグメントURLs を生成するときに が AWS Elemental MediaTailor 使用する CDN ドメイン名。  
**CDN 広告セグメントプレフィックス**: MediaTailor がマニフェストで広告セグメントURLs を生成するときに使用する CDN ドメイン名。

MediaTailor での CDN 設定の詳細については、「」を参照してください[CDN 統合をセットアップする](cdn-configuration.md)。

**注記**  
これらの用語は、チャネルアセンブリドキュメントで使用されている用語と一致しています。チャネルアセンブリの用語については、「」を参照してください[チャネルアセンブリの CDN 用語](channel-assembly-cdn-architecture.md#cdn-terminology)。

# 最適な広告配信のために CDN を使用して基本的な MediaTailor SSAI を設定する
<a name="configuring-ssai-cdn"></a>

このセクションでは、コンテンツ配信ネットワーク (CDN) を使用して AWS Elemental MediaTailor 動的広告挿入を設定して動画収益化ワークフローを最適化するstep-by-step。

動的変数を使用した高度な広告サーバー設定については、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。広告ターゲティングのために CDNs「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

CDNs「」を参照してください[CDN と MediaTailor の統合のための広告挿入アーキテクチャを理解する](ssai-cdn-architecture-overview.md)。

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

CDN で広告挿入を設定する前に、以下を確認してください。
+ アクティブな AWS Elemental MediaTailor 設定
+ 適切な広告マーカーを使用して HLS または DASH コンテンツを配信するコンテンツオリジンサーバー

  広告マーカーの詳細については、「」を参照してください[広告挿入動作について](ad-behavior.md)。
+ 広告ターゲティングの VAST または VMAP をサポートする広告決定サーバー (ADS)
+ CDN アカウント (Amazon CloudFront や別の CDN プロバイダーなど)
+ マニフェスト操作と動的広告挿入の概念に関する基本的な知識

## ステップ 1: 最適な広告配信のために CDN キャッシュを設定する
<a name="configure-cdn-caching"></a>

動画収益化ワークフローのパフォーマンスを最適化するには、適切な CDN キャッシュ設定が不可欠です。キャッシュ要件は、サーバー側の広告挿入 (SSAI) とサーバーガイド付き広告挿入 (SGAI) で異なります。以下の推奨設定を使用して、コンテンツとパーソナライズされた広告の両方を効率的に配信します。

### SSAI CDN キャッシュ設定
<a name="ssai-caching-settings"></a>

サーバー側の広告挿入ワークフローでは、最適なパフォーマンスを得るには、適切なキャッシュ設定が不可欠です。SSAI では、セグメントが効率的にキャッシュされている間にパーソナライズされたマニフェストがキャッシュされないように、特定の TTL 値とキャッシュキー設定が必要です。

TTL 値、パスパターン、キャッシュキー設定を含む詳細な SSAI キャッシュ設定については、CDN 最適化ガイド[サーバー側の広告挿入 (SSAI) キャッシュ](cdn-optimize-caching.md#ssai-caching-optimization)の「」を参照してください。

SSAI の主なキャッシュ原則:
+ **マニフェスト**: TTL を 0 秒に設定して、パーソナライズされたコンテンツのキャッシュを防止します
+ **セグメント**: オリジンの負荷を軽減するために積極的にキャッシュする (24 時間以上)
+ **キャッシュキー**: マニフェストのすべてのクエリパラメータ、セグメントの URL パスのみを含める

### SGAI CDN キャッシュ設定
<a name="sgai-caching-settings"></a>

サーバーガイド広告挿入ワークフローの場合、SGAI マニフェストはパーソナライズされた広告エクスペリエンスを提供しながら短期間キャッシュできるため、キャッシュ要件は SSAI とは異なります。

VOD やライブ TTL 値を含む包括的な SGAI キャッシュ設定については、最適化ガイドのキャッシュテーブルを参照してください。SGAI を使用すると、広告パーソナライゼーション機能を維持しながら、SSAI よりもキャッシュ効率が向上します。

SGAI キャッシュの主な違い:
+ **マニフェスト**: 短期間キャッシュ可能 (VOD の場合は 5～30 分、ライブの場合は 2～10 秒)
+ **セグメント**: SSAI のように積極的にキャッシュする (ほとんどのコンテンツでは 24 時間以上)
+ **パフォーマンス上の利点**: キャッシュ可能なマニフェストにより、SSAI よりもキャッシュヒット率が向上します

Amazon CloudFront では、TTL 値とキャッシュキーポリシーが異なるキャッシュ動作を使用して、これらの設定を実装できます。その他の CDNs については、同様のキャッシュルールの実装に関する特定のドキュメントを参照してください。

## ステップ 2: ハイブリッドアプローチを実装する (必要な場合)
<a name="implement-hybrid-approach"></a>

アーキテクチャで、コンテンツオリジンと MediaTailor の間に別の CDN またはキャッシュレイヤーを持つハイブリッドアプローチが必要な場合:

1. CDN 設定で懸念を明確に分離します。

1. 前のセクションで説明した技術的な問題を防ぐため、特定の CDN 設定を構成します。

1. 設定を徹底的にテストして、マニフェストのパーソナライゼーションが正しく機能することを確認します。

1. パフォーマンスメトリクスをモニタリングして、多変量プレイリスト、メディアプレイリスト、MPDs、セグメントの最適な配信を確保します。

ハイブリッドアプローチを実装するときは、以下の特定の設定を考慮してください。
+ コンテンツオリジンと MediaTailor 間の CDN の場合:
  + マニフェストファイルの圧縮パススルーを設定して、オリジンからの元の圧縮状態を保持する
  + キャッシュキーにすべてのクエリパラメータを含める
  + ライブコンテンツマニフェストの短い TTL 値を設定する
+ MediaTailor とビューワー間の CDN の場合:
  + 広告セグメントのキャッシュ時間を長く設定する
  + パーソナライズされたマニフェストに適切な TTLs を設定する
  + コンテンツセグメントと広告セグメントに適切なオリジンルーティングを実装する

## ステップ 3: CDN セットアップを完了する
<a name="complete-cdn-setup"></a>

アーキテクチャを選択し、リクエストフローを理解したら、「」の詳細な設定手順に従ってセットアップを完了します[CDN 統合をセットアップする](cdn-configuration.md)。

特定の CDN プロバイダーについては、以下の追加リソースを参照してください。
+ Amazon CloudFront: CloudFront 固有の設定手順[CloudFront 統合](cloudfront-specific-recommendations.md)については、「」を参照してください。
+ その他の CDNs: このガイドで概説されている一般的な原則を適用し、特定の CDN の設定オプションに適応させます。

## ステップ 4: 設定を確認する
<a name="verification-steps"></a>

CDN のセットアップが完了したら、動的広告挿入ワークフローが正しく機能していることを確認します。

1. サンプルプレイヤーを使用して CDN 経由で再生をテストする

1. パーソナライズされた広告が指定された広告ブレークポイントに正しく挿入されていることを確認します。

1. CDN ログをチェックして、適切なリクエストルーティングを確認する

1. キャッシュヒット率をモニタリングして、コンテンツセグメントと広告セグメントの両方に最適なパフォーマンスを確保する

1. 広告ターゲティングパラメータがワークフローに適切に渡されていることを確認します。

包括的なテストと検証の手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。SSAI 実装のモニタリングの詳細については、「」を参照してください[CDN と MediaTailor の統合のオペレーションをモニタリングする](ssai-cdn-monitor.md)。パフォーマンスを最適化するには、「」を参照してください[CDN と MediaTailor の統合のパフォーマンスを最適化する](ssai-cdn-performance.md)。

# MediaTailor SSAI を収益化されたリニアチャネルのチャネルアセンブリと統合する
<a name="ssai-ca-integration"></a>

このトピックでは、 AWS Elemental MediaTailor サーバー側の広告挿入をチャネルアセンブリおよびコンテンツ配信ネットワーク (CDN) 統合と組み合わせる方法について説明します。この統合により、次のことが可能になります。
+ パーソナライズされた広告を使用して収益化された線形チャネルを作成する
+ 同じコンテンツを見ているさまざまな視聴者にターゲットを絞った広告を配信する
+ ブロードキャスト品質の視聴エクスペリエンスを維持する

## SSAI とチャネルアセンブリを組み合わせるメリット
<a name="ssai-ca-integration-benefits"></a>

SSAI とチャネルアセンブリを統合すると、いくつかの重要な利点があります。

線形チャネルの収益化  
パーソナライズされた広告をリニアチャネルに挿入して、コンテンツライブラリから収益を生成します。ライブコンテンツと VOD コンテンツの両方を単一の線形ストリーム内で収益化できます。

パーソナライズされた広告  
同じチャネルコンテンツを見ているさまざまな視聴者にさまざまな広告を配信します。このターゲットを絞ったアプローチでは、従来のブロードキャスト広告と比較して、広告の関連性と潜在的な収益が増加します。

広告時間枠管理の簡素化  
SCTE-35 マーカーでコンテンツを条件付けすることなく、チャネルアセンブリプログラムで広告ブレークポイントを定義します。これにより、コンテンツ内の自然なブレークポイントに広告を簡単に挿入できます。

ブロードキャスト品質のエクスペリエンス  
MediaTailor は、コンテンツと広告のシームレスな移行により、高品質の視聴エクスペリエンスを維持します。サーバー側の広告挿入は、次のような多くの一般的な問題を排除します。  
+ 広告遷移中のバッファリング
+ 収益化を妨げる広告ブロッカー
+ 再生品質の不整合

スケーラブルな配信  
CDN と組み合わせると、この統合はパフォーマンスやパーソナライゼーション機能を低下させることなく、数百万の同時視聴者にスケールできます。

## アーキテクチャの概要
<a name="ssai-ca-integration-architecture"></a>

SSAI とチャネルアセンブリを組み合わせるアーキテクチャには通常、次のコンポーネントが含まれます。
+ チャネルアセンブリ: VOD とライブコンテンツからリニアチャネルを作成し、生成されたマニフェストに広告マーカーを作成するスレートコンテンツを挿入します
+ 広告挿入: 広告ブレークポイントを認識し、マニフェスト内のパーソナライズされた広告セグメントを指す URLs を挿入します
+ 広告決定サーバー (ADS): 各ビューワーに挿入する広告を決定します
+ コンテンツ配信ネットワーク (CDN): アセンブルされたコンテンツと広告セグメントをビューワーに配信します
+ オリジンサーバー: VOD とライブコンテンツセグメントを保存します

このアーキテクチャの詳細は以下のとおりです。

1. チャネルアセンブリは、VOD とライブコンテンツからリニアチャネルを作成し、生成されたマニフェストに広告マーカーを作成するスレートコンテンツを挿入します。

1. ビューワーがチャネルをリクエストすると、広告挿入はリニアチャネルに挿入された広告ブレークを認識します。

1. 広告挿入は、ADS を呼び出して広告のリストを受信し、トランスコードして、トランスコードされた広告セグメントを指す URLs をパーソナライズされたマニフェストに挿入します。

1. CDN はパーソナライズされたストリームをビューワーに配信します。

次の図は、このワークフローを示しています。

![\[チャネルアセンブリと広告挿入の両方との CDN 統合を示す図\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ca-ssai-comb-cdn.png)


## 統合のセットアップ
<a name="ssai-ca-integration-setup"></a>

チャネルアセンブリで SSAI を設定するには:

1. ビューワーからのマニフェストリクエストを受け入れ、 AWS Elemental MediaTailor 広告挿入に転送するようにエッジ CDN を設定します。

1. MediaTailor 広告挿入を設定して、リクエストをオリジン CDN に転送します。

1. MediaTailor チャネルアセンブリにリクエストを転送するようにオリジン CDN を設定します。

1. MediaTailor チャネルアセンブリを設定して、現在のスケジュールに基づいて動的マニフェストを生成します。

1. アセンブルされたマニフェストを MediaTailor 広告挿入に転送するようにオリジン CDN を設定します。

1. MediaTailor 広告挿入を設定して、広告ブレークポイントで広告決定サーバーに広告決定をリクエストします。

1. 広告マーカー (チャネルアセンブリから) をターゲット広告セグメント (ADS から) を指す URLs に置き換えて、マニフェストをパーソナライズするように MediaTailor 広告挿入を設定します。

1. パーソナライズされたマニフェストをビューワーに配信するようにエッジ CDN を設定します。

1. コンテンツと広告セグメントの両方のリクエストを効率的に処理するように CDN アーキテクチャを設定します。

## チャネルアセンブリでの広告ブレークの定義
<a name="ssai-ca-integration-adbreaks"></a>

チャネルアセンブリでプログラムを作成するときは、いくつかの方法で広告ブレークを定義できます。

プログラム移行  
チャネルスケジュールのプログラム間に広告を挿入します。これは最も簡単なアプローチであり、広告がプログラムのコンテンツを中断しないようにします。

SCTE-35 マーカー  
VOD コンテンツに SCTE-35 マーカーが含まれている場合、チャネルアセンブリはこれらのマーカーを保持し、広告挿入はそれらを広告ブレークポイントとして使用できます。

時間ベースの挿入  
プログラム内の特定の時点で広告時間枠を定義します。これにより、コンテンツ内の自然なブレークポイントに広告を挿入できます。

広告時間枠でプログラムを作成する方法の詳細については、[「プログラムの使用](https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html)」を参照してください。

## CDN キャッシュに関する考慮事項
<a name="ssai-ca-integration-caching"></a>

チャネルアセンブリと SSAI を CDN と組み合わせるときに最適なパフォーマンスを得るには:
+ チャネルアセンブリと SSAI リクエストを区別するキャッシュ動作を設定する
+ で推奨されているマニフェストとセグメントに適切な TTL 値を設定する [ステップ 1: 最適な広告配信のために CDN キャッシュを設定する](configuring-ssai-cdn.md#configure-cdn-caching)
+ チャネルアセンブリ、広告挿入、CDN オリジン間の適切なルーティングを確保する
+ チャネルアセンブリと広告挿入コンポーネントの両方のパフォーマンスメトリクスをモニタリングする


**複合実装に推奨されるキャッシュ設定**  

| コンテンツタイプ | TTL | キャッシュキー要素 | 
| --- | --- | --- | 
| チャネルアセンブリマニフェスト | 0 秒 | URL パス \$1 クエリパラメータ | 
| SSAI パーソナライズされたマニフェスト | 0 秒 | URL パス \$1 すべてのクエリパラメータ | 
| コンテンツセグメント | 24 時間以上 | URL パスのみ | 
| 広告セグメント | 24 時間以上 | URL パスのみ | 

## 統合ソリューションのモニタリング
<a name="ssai-ca-integration-monitoring"></a>

統合ソリューションが最適に動作していることを確認するには、次の主要なメトリクスをモニタリングします。

チャネルアセンブリメトリクス  
マニフェスト生成時間、プログラム移行、チャネルアセンブリプロセスのエラーをモニタリングします。

広告挿入メトリクス  
広告フィルレート、広告決定サーバーの応答時間、広告挿入エラーを追跡します。

CDN メトリクス  
コンテンツセグメントと広告セグメントの両方で、キャッシュヒット率、オリジンリクエストボリューム、レスポンスレイテンシーをモニタリングします。

ビューワーエクスペリエンスメトリクス  
特に広告の移行中に、再バッファリングイベント、起動時間、視聴者のエンゲージメントを追跡します。

モニタリングの詳細については、[CDN と MediaTailor の統合のオペレーションをモニタリングする](ssai-cdn-monitor.md)「」および「」を参照してください[MediaTailor チャネルアセンブリ CDN オペレーションのモニタリング](ca-cdn-monitor.md)。

## 一般的な問題のトラブルシューティング
<a name="ssai-ca-integration-troubleshooting"></a>

統合ソリューションに関する問題をトラブルシューティングするときは、以下の一般的な問題を考慮してください。

広告ブレーク同期の問題  
広告が予想されるブレークポイントに表示されない場合は、チャネルアセンブリプログラムの広告ブレーク定義が正しく設定されており、広告挿入によってこれらのブレークポイントが適切に識別されていることを確認します。

マニフェスト配信エラー  
視聴者に再生の問題が発生した場合は、CDN がチャネルアセンブリと広告挿入の間でマニフェストリクエストを正しく転送していること、およびキャッシュ設定がこれらのマニフェストの動的な性質に適していることを確認します。

セグメントルーティングの問題  
コンテンツまたは広告セグメントがロードされていない場合は、CDN がセグメントリクエストを適切なオリジンに正しくルーティングしていること、およびマニフェスト内のセグメント URLs が正しくフォーマットされていることを確認します。

パフォーマンスの低下  
ビューワーにバッファリングまたは高レイテンシーが発生している場合は、CDN キャッシュヒット率とオリジンリクエストボリュームをチェックして、配信パイプラインの潜在的なボトルネックを特定します。

トラブルシューティングの詳しいガイダンスについては、「[中断のない広告配信のための CDNs を使用した MediaTailor SSAI のトラブルシューティング](troubleshooting-ssai-cdn.md)」を参照してください。

## ベストプラクティス
<a name="ssai-ca-integration-best-practices"></a>

SSAI とチャネルアセンブリの統合を成功させるには、次のベストプラクティスに従います。
+ **徹底的にテスト**する: 本稼働環境にデプロイする前に、さまざまなコンテンツタイプ、広告シナリオ、視聴者条件で統合ソリューションをテストします。
+ **継続的なモニタリング**: 包括的なモニタリングとアラートを設定して、発生した問題をすばやく特定して対処します。
+ **キャッシュの最適化**: 実際の使用パターンとパフォーマンスメトリクスに基づいて、CDN キャッシュ設定を定期的に確認および調整します。
+ **スケールを計画**する: 特に一般的なチャネルやイベントでピークトラフィック負荷を処理するようにアーキテクチャを設計します。
+ **冗長性を検討する**: 重要なコンポーネントに冗長性を実装して、リニアチャネルの高可用性を確保します。
+ **広告遷移の最適化**: 一貫したエンコーディングプロファイルとセグメント期間を使用して、コンテンツと広告間のスムーズな遷移を確保します。

## 関連情報
<a name="ssai-ca-integration-related"></a>

SSAI とチャネルアセンブリの統合の詳細については、以下を参照してください。

チャネルアセンブリドキュメント  
[AWS Elemental MediaTailor を使用して線形アセンブルストリームを作成する](channel-assembly.md) - チャネルアセンブリの概念について説明します。  
[CDN を使用したチャネルアセンブリ](ca-cdn-wflw.md) - CDN を使用してチャネルアセンブリを設定する

SSAI ドキュメント  
[CDN を使用した広告挿入](ssai-cdn-workflow.md) - CDN を使用して広告挿入を設定する  
[CDN と MediaTailor の統合のための広告挿入アーキテクチャを理解する](ssai-cdn-architecture-overview.md) - 広告挿入 CDN アーキテクチャを理解する

CDN 設定  
[CDN 統合をセットアップする](cdn-configuration.md) - 一般的な CDN 設定ガイダンス  
[CloudFront 統合](cloudfront-specific-recommendations.md) - CloudFront 固有の設定

# CDN と MediaTailor の統合のパフォーマンスを最適化する
<a name="ssai-cdn-performance"></a>

コンテンツ配信ネットワーク (CDN) 設定を最適化することで、 AWS Elemental MediaTailor 広告挿入実装のパフォーマンスを最大化します。これらの設定により、効率的なコンテンツ配信と最適な視聴体験が保証されます。

SSAI 実装に固有のキャッシュとルーティング最適化の詳細なガイダンスについては、「」を参照してください[CDN パフォーマンスの最適化](cdn-optimization.md)。統合最適化ガイドには、すべての MediaTailor CDN 統合に適用される包括的なキャッシュ設定、リクエストルーティング設定、パフォーマンスベンチマークが記載されています。

## 一般的なパフォーマンスの課題
<a name="ssai-cdn-performance-challenges"></a>

CDNs を使用した SSAI 実装は、いくつかのパフォーマンスの課題に直面する可能性があります。

マニフェスト操作のオーバーヘッド  
MediaTailor はリアルタイムのマニフェスト操作を実行するため、適切に最適化しないとレイテンシーが発生する可能性があります。以下ではレイテンシーが発生する可能性があります。  
+ 広告決定サーバー (ADS) リクエストの処理時間
+ 広告セグメント参照を使用してマニフェストを変更するのに必要な時間
+ パーソナライゼーションの追加処理

キャッシュ効率の問題  
パーソナライズされたマニフェストは、次の理由で CDN キャッシュ効率を低下させる可能性があります。  
+ 各ビューワーは一意のマニフェストを受け取る場合があります
+ セッションパラメータはキャッシュをフラグメント化できます
+ 動的コンテンツには慎重なキャッシュ設定が必要です

オリジン負荷スパイク  
キャッシュが正しくないと、次の場合にオリジン負荷が急増する可能性があります。  
+ トラフィックの多いイベント
+ キャッシュの更新
+ CDN 設定の変更

広告関連の再生の問題  
広告挿入は、次のような再生中断を引き起こす可能性があります。  
+ 広告遷移中のバッファリング
+ コンテンツと広告の品質の違い
+ 広告を取得できない場合の再生失敗

キャッシュ戦略、リクエストルーティング、パフォーマンスベンチマーク、高度な最適化手法を含む包括的なパフォーマンス最適化ガイダンスについては、「」を参照してください[CDN パフォーマンスの最適化](cdn-optimization.md)。統合最適化ガイドには、SSAI 実装を含むすべての MediaTailor CDN 統合に適用される詳細な設定とベンチマークが記載されています。

## ベストプラクティスの概要
<a name="ssai-cdn-performance-best-practices"></a>

CDNs で最適な SSAI パフォーマンスを確保するには、次のベストプラクティスに従います。

アーキテクチャのベストプラクティス  
+ スケールと要件に適したアーキテクチャパターンを選択する
+ レイテンシーを最小限に抑えるために、サービスを近接してデプロイする
+ 重要なコンポーネントの冗長性を実装する

キャッシュのベストプラクティス  
+ コンテンツタイプごとに異なるキャッシュ戦略を使用する
+ キャッシュキーを最適化してパーソナライゼーションと効率のバランスを取る
+ コンテンツタイプと更新頻度に基づいて適切な TTLsを設定します。TTL の詳細な推奨事項については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

広告配信のベストプラクティス  
+ タイムアウトとフォールバックによる ADS インタラクションの最適化
+ コンテンツ仕様に合わせて広告を準備する
+ 効率的な広告セグメント配信を実装する

モニタリングのベストプラクティス  
+ SSAI 実装のすべてのコンポーネントをモニタリングする
+ パフォーマンス低下のアラートを設定する
+ 設定を定期的に確認して最適化する

## 最適化ガイダンスを完了する
<a name="ssai-optimization-reference"></a>

詳細なキャッシュ戦略、リクエストルーティング設定、パフォーマンスベンチマーク、高度な最適化手法を含む包括的な CDN 最適化ガイダンスについては、「」を参照してください[CDN パフォーマンスの最適化](cdn-optimization.md)。統合最適化ガイドには、SSAI 実装を含むすべての MediaTailor CDN 統合に適用される完全な設定とベンチマークが記載されています。

# CDN と MediaTailor の統合のオペレーションをモニタリングする
<a name="ssai-cdn-monitor"></a>

AWS Elemental MediaTailor は、コンテンツ配信ネットワーク (CDN) メトリクスと組み合わせることで、SSAI 実装に関する包括的なインサイトを提供する堅牢な分析機能を提供します。このトピックでは、次の内容について説明します。

必須メトリクス、モニタリングツールのセットアップ、アラート設定、すべての MediaTailor 実装に適用されるトラブルシューティング戦略を含む包括的な CDN モニタリングガイダンスについては、「」を参照してください[CDN モニタリング](cdn-monitoring.md)。このトピックでは、SSAI 固有のモニタリング要件と広告挿入分析に焦点を当てます。
+ SSAI と CDN 統合のモニタリング戦略
+ 分析ツールとデータ収集方法
+ データ駆動型の最適化手法

## CDNs を使用した SSAI の主要なメトリクス
<a name="ssai-cdn-monitor-metrics"></a>

CDNs を使用して SSAI 実装を効果的にモニタリングするには、以下の重要なメトリクスを追跡します。

広告挿入メトリクス  
**広告フィルレート**: 広告で正常に埋められた広告機会の割合。  
**広告エラー率**: エラーが発生した広告リクエストの割合。  
**広告応答時間**: 広告決定サーバーが広告リクエストに応答するまでにかかる時間。  
**広告期間の精度**: 挿入された広告の実際の期間が、予想される期間とどの程度一致しているか。

ビューワーエクスペリエンスメトリクス  
**再バッファリング率**: バッファリングに費やされた表示時間の割合。  
**起動時間**: 動画再生の開始にかかる時間。  
**広告遷移の滑らかさ**: プレイヤーがコンテンツと広告の間でどの程度シームレスに遷移するか。  
**セッション期間**: ストリームを中止する前に視聴する時間。

## 分析ツールと統合
<a name="ssai-cdn-monitor-tools"></a>

これらのツールを組み合わせて、SSAI 実装用の包括的な分析ソリューションを作成します。

AWS Elemental MediaTailor サーバー側のメトリクス  
MediaTailor は、広告リクエスト、レスポンス、エラーを追跡する Amazon CloudWatch を通じて組み込みメトリクスを提供します。これらのメトリクスは、CloudWatch コンソールで表示することも、カスタムダッシュボードに統合することもできます。  
MediaTailor の主要なメトリクスは次のとおりです。  
+ `AdDecisionServer.Ads`: 広告決定サーバーによって返された広告の数。
+ `AdDecisionServer.Duration`: 広告決定サーバーによって返される広告の合計期間。
+ `AdDecisionServer.Errors`: 広告決定サーバーによって返されたエラーの数。
+ `AdDecisionServer.Latency`: 広告決定サーバーの応答時間。
MediaTailor メトリクスの完全なリストについては、[Amazon CloudWatch による MediaTailor のモニタリング](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch.html)」を参照してください。

CDN 分析  
CDN プロバイダーは、コンテンツ配信パフォーマンスの詳細な分析を提供します。Amazon CloudFront の場合、CloudWatch メトリクスと Amazon CloudFront アクセスログを使用して配信パターンを分析します。  
モニタリングすべき重要な CDN メトリクス:  
+ コンテンツタイプ別のリクエスト数 (マニフェストとセグメント)
+ さまざまなコンテンツタイプのキャッシュヒット率
+ ビューワーの地理的分布
+ エラーコード別のエラー率

クライアント側の追跡  
クライアント側の追跡を実装して、サーバー側で利用できないビューワーエクスペリエンスメトリクスを収集します。  
+ プレイヤーイベント (再生、一時停止、シーク、バッファ)
+ 広告ビューの完了率
+ サービス品質メトリクス (解決の変更、ビットレート)
+ 視聴者のエンゲージメントパターン
MediaTailor クライアント側の追跡を使用して、これらのメトリクスを収集および報告することを検討してください。

統合されたダッシュボード  
複数のソースからのメトリクスを組み合わせた包括的なダッシュボードを作成します。  
+ CloudWatch ダッシュボードを使用して MediaTailor メトリクスと CloudFront メトリクスを組み合わせる
+ より高度な視覚化のためにサードパーティーの分析プラットフォームを検討する
+ クロスサービス相関を設定してメトリクス間の関係を特定する

## モニタリング戦略の実装
<a name="ssai-cdn-monitor-implementation"></a>

CDN 実装で SSAI の包括的なモニタリング戦略を実装するには、次の手順に従います。

1. **基本モニタリングを設定する**
   + MediaTailor の CloudWatch メトリクスを有効にする
   + CDN ログ記録とメトリクス収集を設定する
   + ビデオプレーヤーにクライアント側の追跡を実装する

1. **カスタムダッシュボードを作成する**
   + 主要なメトリクスを組み合わせた CloudWatch ダッシュボードを構築する
   + 広告フィルレート、CDN パフォーマンス、ビューワーエクスペリエンスの視覚化を含める
   + 重要なイベント (設定変更、メジャーブロードキャスト) の注釈を追加する

1. **アラートを設定する**
   + 重要なメトリクスの CloudWatch アラームを設定する
   + 複数の関連条件でトリガーする複合アラームを作成する
   + 通知チャネル (E メール、SMS、Amazon SNS) を設定する

1. **自動レスポンスを実装する**
   + CloudWatch Events を使用して一般的な問題への自動応答をトリガーする
   + 必要に応じて手動介入用のランブックを作成する
   + さまざまなアラートシナリオのトラブルシューティング手順を文書化する

**Example 包括的な SSAI モニタリングダッシュボードの作成**  
この例では、MediaTailor メトリクスと CloudFront メトリクスを組み合わせた CloudWatch ダッシュボードを作成する方法を示します。 CloudFront   

```
{
  "widgets": [
    {
      "type": "metric",
      "properties": {
        "metrics": [
          [ "AWS/MediaTailor", "AdDecisionServer.Ads", "Configuration", "your-config-name" ],
          [ ".", "AdDecisionServer.Errors", ".", "." ]
        ],
        "period": 300,
        "stat": "Sum",
        "region": "us-west-2",
        "title": "Ad Decision Server Performance"
      }
    },
    {
      "type": "metric",
      "properties": {
        "metrics": [
          [ "AWS/CloudFront", "Requests", "DistributionId", "your-distribution-id" ],
          [ ".", "4xxErrorRate", ".", "." ],
          [ ".", "5xxErrorRate", ".", "." ]
        ],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "CDN Performance"
      }
    }
  ]
}
```

## データ駆動型の最適化
<a name="ssai-cdn-monitor-optimization"></a>

収集した分析データを使用して SSAI 実装を最適化します。

CDN キャッシュの最適化  
キャッシュヒット率を分析して改善の機会を特定します。  
+ コンテンツタイプと更新頻度に基づいて TTL 設定を調整します。TTL の詳細な推奨事項については、「」を参照してください[ステップ 1: 最適な広告配信のために CDN キャッシュを設定する](configuring-ssai-cdn.md#configure-cdn-caching)。
+ キャッシュキー設定を最適化してキャッシュ効率を向上させる
+ 多層キャッシュにオリジンシールドを実装することを検討する

広告配信の最適化  
広告パフォーマンスメトリクスを使用して広告配信を改善します。  
+ 一般的な広告挿入エラーを特定して対処する
+ 広告決定サーバーの応答時間を最適化する
+ フィルレート分析に基づいて広告ターゲティングパラメータを調整する

ビューワーエクスペリエンスの最適化  
クライアント側のメトリクスに基づいてビューワーエクスペリエンスを向上させます。  
+ 広告時間枠中のドロップオフパターンを分析する
+ 広告遷移ポイントを最適化して再生をスムーズにする
+ 視聴者のエンゲージメントデータに基づいて広告の頻度と期間を調整する

コスト最適化  
パフォーマンスとコストの考慮事項のバランスを取ります。  
+ 帯域幅の使用状況パターンを分析して CDN コストを最適化する
+ CloudFront ディストリビューションの料金クラス調整を検討する
+ さまざまなキャッシュ戦略のコストメリットを評価する

## ベストプラクティス
<a name="ssai-cdn-monitor-best-practices"></a>

効果的な SSAI のモニタリングと分析を行うには、次のベストプラクティスに従ってください。
+ **ベースラインを確立する: **通常のオペレーション中にメトリクスを収集し、トラブルシューティング中の比較に使用できるパフォーマンスベースラインを確立します。
+ **マルチレベルモニタリングを実装**する: アーキテクチャのさまざまなレベル (オリジン、CDN、プレイヤー) でモニタリングし、パフォーマンスの全体像を把握します。
+ **サービス間でメトリクスを関連付ける**: さまざまなサービスのメトリクス間の関係を探して、問題の根本原因を特定します。
+ **異常検出を使用する**: CloudWatch 異常検出を実装して、メトリクスの異常なパターンを自動的に識別します。
+ **定期的なレビューと改善**: モニタリング戦略の定期的なレビューをスケジュールし、要件の変化と新しいインサイトに基づいて調整します。
+ **結果とアクションを文書化する**: 最適化の取り組みとその結果の記録を維持し、組織の知識を構築します。

## 関連情報
<a name="ssai-cdn-monitor-related"></a>

CDNs、以下を参照してください。
+ [CDN と MediaTailor の統合のパフォーマンスを最適化する](ssai-cdn-performance.md) パフォーマンス最適化手法
+ [中断のない広告配信のための CDNs を使用した MediaTailor SSAI のトラブルシューティング](troubleshooting-ssai-cdn.md) 一般的な問題のトラブルシューティング
+ [MediaTailor メトリクスの詳細については、Amazon CloudWatch で MediaTailor をモニタリング](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch.html)する MediaTailor 
+ [CloudFront メトリクスに関する情報の CloudFront およびエッジ関数メトリクスの表示](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) CloudFront 

# 中断のない広告配信のための CDNs を使用した MediaTailor SSAI のトラブルシューティング
<a name="troubleshooting-ssai-cdn"></a>

このセクションでは、コンテンツ配信ネットワーク (CDN) で AWS Elemental MediaTailor 動的広告挿入を使用する場合の一般的な問題の解決策を示します。これらのソリューションは、パーソナライズされた広告を通じて動画収益化に関する問題のトラブルシューティングに役立ちます。

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

CDN と SSAI の設定で問題が発生した場合は、次の一般的な問題を確認してください。

パーソナライズされた広告がストリームに表示されない  
ADS が正しく応答し、ADS と AWS Elemental MediaTailor 通信することを確認します。以下の潜在的な問題を確認してください。  
+ CDN 経由で正しく転送されないクエリパラメータをターゲットとする広告
+ コンテンツで誤って定義された広告ブレークポイント
+ ADS 接続またはレスポンスの問題

広告ブレークポイントでの再生エラー  
広告セグメントがコンテンツのビットレートと解像度に合わせて適切にトランスコードされていることを確認します。以下の一般的な問題を確認してください。  
+ CDN が広告セグメントのリクエストを誤ってルーティングする
+ 移行ポイントでのマニフェスト操作エラー
+ コンテンツと広告間のエンコーディングプロファイルの不一致

古いマニフェスト  
ライブコンテンツの場合は、CDN キャッシュ TTL 設定が適切であることを確認します。パーソナライズされたマニフェストの場合、TTL は 0 秒を使用します。急速に変化するマニフェストに対してキャッシュ無効化を実装することを検討してください。包括的な TTL ガイダンスについては、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

高レイテンシー  
CDN 設定で最適なルーティングを確認します。最高のパフォーマンスを得るには、CDN にビューワーの近くにエッジロケーションがあることを確認します。

## 高度なトラブルシューティング
<a name="advanced-troubleshooting"></a>

より複雑な問題については、次の高度なトラブルシューティング手法を試してください。

一貫性のない広告ターゲティング動作  
プレイヤーリクエストと ADS リクエスト間のクエリパラメータの不整合を確認します。必要なすべてのターゲティングパラメータが CDN に適切に渡されていることを確認します。

CDN キャッシュの不整合  
キャッシュキー設定を検証して、コンテンツの適切な区別を確認します。重要なマニフェスト更新にキャッシュパージを実装することを検討してください。

広告追跡の失敗  
ビーコン URLs が正しく転送され、CDN によってブロックされていないことを確認します。クライアントプレーヤーが追跡エンドポイントに到達できることを確認します。

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

動的広告挿入と動画収益化ワークフローのパフォーマンスを最適化するには:
+ コンテンツタイプとビューワーパターンに基づいて TTL 設定を微調整します。TTL の詳細な推奨事項については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。
+ 地理的ルーティングを実装して、世界中の視聴者のレイテンシーを最小限に抑える
+ 冗長性と最適なパフォーマンスのために複数の CDNsを使用することを検討する
+ キャッシュヒット率をモニタリングし、それに応じて設定を調整する
+ マニフェスト操作プロセスを最適化して、広告ブレークポイントの処理時間を短縮する
+ 一般的なコンテンツプロファイルに合わせて広告をトランスコードし、シームレスにパーソナライズされた広告挿入を可能にする

### パフォーマンスベンチマーク
<a name="performance-benchmarks"></a>

 AWS Elemental MediaTailor 広告挿入 CDN 統合を最適化するときは、次のパフォーマンスベンチマークを目指します。

キャッシュヒット率のターゲット  
コンテンツセグメント: 95% を超えるキャッシュヒット率  
広告セグメント: 90% を超えるキャッシュヒット率  
マニフェスト: 該当なし (パーソナライズされた広告挿入用にキャッシュしないでください)

レイテンシーベンチマーク  
マニフェストリクエストのレイテンシー: 100 ミリ秒未満 (P95)  
コンテンツセグメント配信: 50 ミリ秒未満 (P95)  
広告セグメント配信: 75 ミリ秒未満 (P95)  
End-to-endの起動時間: 2 秒未満

オリジンロードメトリクス  
ビューワーあたりのオリジンリクエスト: ビューワーあたり 1 分あたり 0.1 リクエスト未満  
ビューワーあたりのオリジン帯域幅: ビューワー帯域幅全体の 5% 未満

エラーレートのターゲット  
マニフェストエラー: 0.1% 未満  
セグメントエラー: 0.01% 未満  
プレイヤーが報告したリバッファリング: 1% 未満

スケーラビリティベンチマーク  
ピークイベント中にパフォーマンスを低下させることなく通常のトラフィックの 10 倍をサポート  
チャネルあたり 1 秒あたり 1000 件を超えるリクエストを処理する機能

Amazon CloudWatch メトリクスを使用して、これらのパフォーマンス指標を追跡します。詳細なモニタリング手順については、「」を参照してください[Amazon CloudWatch メトリクス AWS Elemental MediaTailor によるモニタリング](monitoring-cloudwatch-metrics.md)。

## 関連情報
<a name="ssai-cdn-related"></a>

CDNs、以下を参照してください。

広告挿入ドキュメント  
[MediaTailor 広告挿入の使用開始](getting-started-ad-insertion.md) - 広告挿入の概念について説明します。  
[設定](setting-up.md) - 広告挿入の使用を開始する

CDN 統合  
[CDN 統合をセットアップする](cdn-configuration.md) - 一般的な CDN 設定ガイダンス  
[CloudFront 統合](cloudfront-specific-recommendations.md) - CloudFront 固有の設定

チャネルアセンブリの統合  
[CDN を使用したチャネルアセンブリ](ca-cdn-wflw.md) - CDNs  
[広告挿入の実装](ca-cdn-setup-advanced.md) - チャネルアセンブリを使用して広告挿入を実装する

モニタリングと最適化  
[CDN と MediaTailor の統合のオペレーションをモニタリングする](ssai-cdn-monitor.md) - 包括的なモニタリングと分析  
[CDN と MediaTailor の統合のパフォーマンスを最適化する](ssai-cdn-performance.md) - パフォーマンス最適化ガイド  
[Amazon CloudWatch メトリクス AWS Elemental MediaTailor によるモニタリング](monitoring-cloudwatch-metrics.md) - MediaTailor の CloudWatch メトリクス

# チャネルアセンブリと CDN を使用して MediaTailor リニアチャネルを構築する
<a name="ca-cdn-wflw"></a>

このセクションでは、 AWS Elemental MediaTailor チャネルアセンブリをコンテンツ配信ネットワーク (CDN) と統合するための包括的なガイダンスを提供します。チャネルアセンブリ CDN 統合をセットアップ、設定、最適化するには、次の手順に従います。

また、チャネルアセンブリとサーバー側の広告挿入 (SSAI) を組み合わせて、パーソナライズされた広告で収益化されたリニアチャネルを作成することもできます。この強力な統合により、同じチャネルコンテンツを見ているさまざまな視聴者にターゲットを絞った広告を配信できるため、ブロードキャスト品質の視聴エクスペリエンスを維持しながら収益機会を増やすことができます。CDNs「」を参照してください[CDN を使用した広告挿入](ssai-cdn-workflow.md)。

このトピックでは、*マニフェスト*という用語を使用して、マルチバリアントプレイリスト、メディアプレイリスト、MPDs。

MediaTailor チャネルアセンブリの詳細については、「」を参照してください[AWS Elemental MediaTailor を使用して線形アセンブルストリームを作成する](channel-assembly.md)。

## 必要なもの
<a name="ca-cdn-what-you-need"></a>

CDN で MediaTailor チャネルアセンブリを設定する前に、以下の必要なリソースを収集します。

**AWS アカウントとアクセス許可**  
MediaTailor リソースを作成および管理するための適切なアクセス許可を持つ AWS アカウント  
MediaTailor、CloudFront (使用している場合）、および関連サービスの IAM アクセス許可  
アクセス許可の要件の詳細については、「」を参照してください[のセキュリティ AWS Elemental MediaTailor](security.md)。

**必要なサービス**  
実行中の MediaTailor チャネルアセンブリチャネル (SSAI 設定だけでなく)  
コンテンツ配信ネットワーク (CDN) アカウント (Amazon CloudFront またはサードパーティー CDN)  
VOD コンテンツのオリジンストレージ (Amazon S3、MediaPackage、またはその他のオリジンサーバー)

**コンテンツ要件**  
VOD ソースは適切にエンコードされ、HLS または DASH 形式でパッケージ化されます。ソースの場所と VOD ソースの操作については、「」を参照してください[ソースロケーションの使用](channel-assembly-source-locations.md)。  
一貫したセグメント期間を持つコンテンツ (推奨最小: 1 秒)  
広告時間枠の広告スレートコンテンツ (広告挿入を実装する場合）。スレートの設定については、「」を参照してください[MediaTailor スレート広告挿入](slate-management.md)。

## [開始する前に]
<a name="ca-cdn-before-you-begin"></a>

**重要**  
このワークフローには、実行中の MediaTailor チャネルアセンブリチャネルが必要です。MediaTailor SSAI 設定のみを持つだけでは、この統合には不十分です。CDN 統合に進む前に、アクティブなチャネルアセンブリチャネルが設定され、動作している必要があります。

CDN で MediaTailor チャネルアセンブリを実装する前に、以下のセットアップタスクを完了します。

1. CDN、MediaTailor、オリジンサーバー間のネットワーク接続を設定する

1. 安全なコンテンツ配信のために HTTPS を設定する

1. CDN ドメインの DNS 設定を構成する

### ナレッジの前提条件
<a name="ca-cdn-knowledge-prerequisites"></a>

このソリューションを正常に実装するには、以下が必要です。
+ ストリーミングプロトコル (HLS/DASH) の理解
+ CDN 設定原則の基本知識
+ MediaTailor チャネルアセンブリの概念に精通していること

MediaTailor の基本的なセットアップについては、[設定](setting-up.md)「」および「」を参照してください[MediaTailor チャネルアセンブリの使用開始](channel-assembly-getting-started.md)。ソースの場所と VOD ソースの操作については、「」を参照してください[ソースロケーションの使用](channel-assembly-source-locations.md)。スレートの設定については、「」を参照してください[MediaTailor スレート広告挿入](slate-management.md)。

## CDN 統合の利点
<a name="ca-cdn-benefits"></a>

チャネルアセンブリを CDN と統合すると、これらの主な利点が得られます。

**ビューワーエクスペリエンスの向上**  
CDNs を適切に設定することで、リニアチャネルのバッファリング、起動時間、再生エラーを削減できます。これにより、視聴者のエンゲージメントと満足度が向上します。

**コスト削減**  
効率的なキャッシュ戦略は、オリジンリクエストを最小限に抑えます。これにより、データ転送コストとオリジンサーバーの負荷が軽減され、特に大量のリニアチャネルにとって重要です。

**スケーラビリティ**  
最適化された CDN 設定は、パフォーマンスを低下させることなく、一般的なイベント中のトラフィックの急増を処理し、ピーク視聴時間でもリニアチャネルを利用できるようにします。

**グローバルリーチ**  
適切に設定された CDNs、場所に関係なく、世界中の視聴者に低レイテンシーでコンテンツを配信し、潜在的な視聴者を拡大します。

**シームレスなプログラム移行**  
最適化された CDN 設定により、リニアチャネル内のプログラム間のスムーズな移行が可能になり、ブロードキャスト品質の視聴体験が得られます。

**Topics**
+ [必要なもの](#ca-cdn-what-you-need)
+ [[開始する前に]](#ca-cdn-before-you-begin)
+ [CDN 統合の利点](#ca-cdn-benefits)
+ [CDN アーキテクチャを理解する](channel-assembly-cdn-architecture.md)
+ [基本セットアップ](ca-cdn-setup-basic.md)
+ [ベース URLsを設定する](channel-assembly-cdn-baseurl.md)
+ [広告挿入の実装](ca-cdn-setup-advanced.md)
+ [タイムシフト表示を設定する](channel-assembly-cdn-timeshift.md)
+ [CDN オペレーションのモニタリング](ca-cdn-monitor.md)
+ [完全な最適化ガイド](ca-cdn-optimize-reference.md)

# MediaTailor チャネルアセンブリ CDN アーキテクチャを理解する
<a name="channel-assembly-cdn-architecture"></a>

AWS Elemental MediaTailor チャネルアセンブリは、コンテンツ配信ネットワーク (CDNsと統合され、パフォーマンスとグローバルリーチが向上したリニアストリーミングチャネルを提供します。推奨されるアーキテクチャでは、ビューワーとチャネルアセンブリの間に CDN を配置し、チャネルアセンブリはオリジンから直接コンテンツにアクセスします。このトピックでは、コアアーキテクチャコンポーネントと、それらが連携してコンテンツを配信する方法について説明します。

1. CDN からのビューワーリクエストマニフェスト

1. CDN がチャネルアセンブリにリクエストを転送する

1. チャネルアセンブリは VOD ソースからマニフェストをアセンブルします

1. チャネルアセンブリはマニフェストを CDN に返し、CDN はマニフェストをビューワーに転送します。

1. ビューワーが CDN を介してセグメントをリクエストする

1. CDN はセグメントリクエストを適切なオリジンにルーティングします

このアーキテクチャは、CDN を使用するセキュリティと柔軟性の利点を維持しながら、最適なパフォーマンスを保証します。

![\[クライアントプレイヤーと MediaTailor Channel Assembly の間に CDN を配置した図\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ca-cdn.png)


## チャネルアセンブリの CDN 用語
<a name="cdn-terminology"></a>

これらの重要な用語を理解することは、チャネルアセンブリ CDN 統合の実装とトラブルシューティングに役立ちます。

オリジン CDN とエッジ CDN  
**オリジン CDN**: MediaTailor とコンテンツオリジンの間に配置される CDN。コンテンツセグメントをキャッシュして、オリジンサーバーの負荷を軽減します。マルチ CDN アーキテクチャでは、これはオリジンと直接インターフェイスする最初の CDN レイヤーです。  
**Edge CDN**: ビューワーと MediaTailor の間に配置される CDN。パーソナライズされたマニフェストとコンテンツをビューワーに配信します。マルチ CDN アーキテクチャでは、これはビューワーと直接インターフェイスする最も外側の CDN レイヤーです。

CDN 設定条件  
**キャッシュ動作**: CDN がキャッシュ期間やオリジンルーティングなど、さまざまなタイプのリクエストを処理する方法を決定するルール。  
**TTL (有効期限)**: オリジンから更新する必要があるコンテンツが CDN キャッシュで有効である期間。TTL の詳細な推奨事項については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。  
**キャッシュキー**: CDN がキャッシュされたコンテンツを保存および取得するために使用する一意の識別子。多くの場合、URL パス、クエリパラメータ、ヘッダーが含まれます。  
**オリジンシールド**: CDN エッジロケーションとオリジンサーバー間の中間キャッシュレイヤーで、オリジンへのリクエストの数を減らします。  
**リクエストの折りたたみ**: 同じコンテンツに対する複数の同時リクエストを 1 つのオリジンリクエストに結合する CDN 機能。

MediaTailor 固有の CDN 用語  
**CDN コンテンツセグメントプレフィックス**: MediaTailor がマニフェストでコンテンツセグメントURLs を生成するときに使用する CDN ドメイン名。  
**CDN 広告セグメントプレフィックス**: MediaTailor がマニフェストで広告セグメントURLs を生成するときに使用する CDN ドメイン名。

MediaTailor での CDN 設定の詳細については、「」を参照してください[CDN 統合をセットアップする](cdn-configuration.md)。

# CDN を使用して基本的な MediaTailor チャネルアセンブリを設定する
<a name="ca-cdn-setup-basic"></a>

AWS Elemental MediaTailor チャネルアセンブリを使用すると、コンテンツ配信ネットワーク (CDN) との基本的な統合を設定して、ビューワーにリニアストリーミングチャネルを効率的に配信できます。チャネルアセンブリと CDN の統合を設定するには、次の手順に従います。

1. ビューワーからのマニフェストを受け入れて MediaTailor チャンネルアセンブリに転送するように CDN を設定します。

1. MediaTailor チャネルアセンブリを設定してチャネルスケジュールにアクセスし、現在のプログラミングを決定します。

1. スケジュールに基づいてオリジンサーバーからコンテンツセグメントをリクエストするように MediaTailor チャネルアセンブリを設定します。

1. コンテンツオリジンがリクエストされたセグメントを MediaTailor チャネルアセンブリに配信できることを確認します。

1. MediaTailor チャネルアセンブリを設定して、現在のスケジュールに基づいて動的マニフェストを生成します。

1. アセンブルされた多変量プレイリスト、メディアプレイリスト、MPDs をビューワーに配信するように CDN を設定します。

1. 適切なキャッシュ設定を使用して、ビューワーからのセグメントリクエストを処理するように CDN を設定します。

1. キャッシュミスを MediaTailor チャネルアセンブリに転送するように CDN を設定します。

1. MediaTailor チャネルアセンブリを設定して、コンテンツオリジンからリクエストされたセグメントを取得します。

1. 再生のためにコンテンツセグメントをビューワーに配信するように CDN を設定します。

# MediaTailor チャネルアセンブリ CDN の基本 URLs を設定する
<a name="channel-assembly-cdn-baseurl"></a>

AWS Elemental MediaTailor チャネルアセンブリでは、コンテンツ配信ネットワーク (CDN) を介したコンテンツルーティングが正しく機能するように、適切なベース URL 設定が必要です。ビューワーへのコンテンツ配信を成功させるために、チャネルアセンブリの基本 URL 設定を構成します。

## コンテンツセグメント URL 設定
<a name="channel-assembly-cdn-content-segment"></a>

チャネルアセンブリチャネル設定で、**ベース URL** を CDN ドメインに設定します。これにより、アセンブルされたマニフェスト内のすべてのセグメント URLs が、オリジンサーバーに直接ではなく CDN を指すようになります。

たとえば、オリジンコンテンツが `http://origin.example.com/content/`にあり、CDN ドメインが である場合`https://cdn.example.com/`、基本 URL を に設定します`https://cdn.example.com/content/`。

## アクセス制限の設定
<a name="channel-assembly-cdn-access-restriction"></a>

セキュリティを強化するには、オリジンサーバーへの直接アクセスを制限するように CDN を設定します。

1. CDN でオリジンアクセスコントロールを設定します。

1. CDN からのリクエストのみを受け入れるようにオリジンサーバーを設定します。

1. 必要に応じて、ビューワー認証用の署名URLs または Cookie を使用します。

Amazon CloudFront では、オリジンアクセスコントロール (OAC) を使用してオリジンへのアクセスを保護できます。CloudFront 統合の保護の詳細については、「」を参照してください[CloudFront 統合](cloudfront-specific-recommendations.md)。

# チャネルアセンブリを使用して MediaTailor 広告挿入を実装する
<a name="ca-cdn-setup-advanced"></a>

のチャネルアセンブリは、サーバー側の広告挿入 (SSAI) やコンテンツ配信ネットワーク (CDNs) とシームレスに AWS Elemental MediaTailor 統合され、パーソナライズされた広告で収益化されたリニアチャネルを作成します。

チャネルアセンブリを SSAI と組み合わせると、ブロードキャスト品質のエクスペリエンスを維持しながら、パーソナライズされた広告を視聴者に配信するリニアチャネルを構築できます。このインテグレーションでは、以下の操作を行うことができます。
+ コンテンツの収益化 - リニアチャネルでのターゲットを絞った広告による収益の生成
+ エクスペリエンスをパーソナライズする - プロファイルに基づいて同じチャネルを見ている視聴者にさまざまな広告を配信する
+ 品質を維持する - ブロードキャスト品質の視聴のためにコンテンツと広告をシームレスに移行する
+ 効率的なスケーリング - CDN 配信を通じて数百万の同時視聴者をサポート

CDNs「」を参照してください[CDN を使用した広告挿入](ssai-cdn-workflow.md)。

1. ビューワーからのマニフェストリクエストを受け入れ、MediaTailor 広告挿入に転送するようにエッジ CDN を設定します。

1. MediaTailor 広告挿入を設定して、リクエストをオリジン CDN に転送します。

1. MediaTailor チャネルアセンブリにリクエストを転送するようにオリジン CDN を設定します。

1. MediaTailor チャネルアセンブリを設定して、現在のスケジュールに基づいて動的マニフェストを生成します。

1. アセンブルされたマニフェストを MediaTailor 広告挿入に転送するようにオリジン CDN を設定します。

1. MediaTailor 広告挿入を設定して、広告ブレークポイントで広告決定サーバーに広告決定をリクエストします。

1. MediaTailor 広告挿入を設定して、マニフェストを広告マーカーでパーソナライズします。

1. パーソナライズされたマニフェストをビューワーに配信するようにエッジ CDN を設定します。

1. コンテンツと広告セグメントの両方のリクエストを効率的に処理するように CDN アーキテクチャを設定します。

次の図は、この組み合わせワークフローを示しています。

![\[チャネルアセンブリと広告挿入の両方との CDN 統合を示す図\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/ca-ssai-comb-cdn.png)


チャネルアセンブリと SSAI を組み合わせるときに最適なパフォーマンスを得るには:
+ チャネルアセンブリと SSAI リクエストを区別するキャッシュ動作を設定する
+ で推奨されているマニフェストとセグメントに適切な TTL 値を設定する [CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)
+ チャネルアセンブリ、広告挿入、CDN オリジン間の適切なルーティングを確保する
+ チャネルアセンブリと広告挿入コンポーネントの両方のパフォーマンスメトリクスをモニタリングする

CDNs、以下を参照してください。
+ [CDN と MediaTailor の統合のための広告挿入アーキテクチャを理解する](ssai-cdn-architecture-overview.md) - SSAI アーキテクチャと概念について説明します。
+ [最適な広告配信のために CDN を使用して基本的な MediaTailor SSAI を設定する](configuring-ssai-cdn.md) - SSAI Step-by-step 設定手順
+ [中断のない広告配信のための CDNs を使用した MediaTailor SSAI のトラブルシューティング](troubleshooting-ssai-cdn.md) - SSAI 統合に関する一般的な問題のトラブルシューティング

# MediaTailor チャネルアセンブリのタイムシフト表示を設定する
<a name="channel-assembly-cdn-timeshift"></a>

AWS Elemental MediaTailor チャネルアセンブリは、リニアチャネルの一時停止、巻き戻し、スタートオーバーなどの DVR のような機能を有効にするタイムシフト表示機能をサポートしています。タイムシフト表示をサポートするようにコンテンツ配信ネットワーク (CDN) を設定することで、これらの機能を有効にします。これにより、ビューワーは表示エクスペリエンスを制御できます。

## タイムシフト表示について
<a name="channel-assembly-cdn-timeshift-overview"></a>

タイムシフト表示は、次のようなリニアチャネルの DVR のような機能を有効にします。
+ **スタートオーバー**: ビューワーは、プログラムの開始後に参加した場合でも、最初からプログラムの視聴を開始できます。
+ **一時停止と再開**: 視聴者はコンテンツを一時停止し、後で視聴を再開できます
+ **巻き戻しと早送り**: 閲覧者は利用可能なコンテンツを前後に移動できます
+ **表示の遅延**: 視聴者は、チャンネルのスケジュールの前半で放送されたコンテンツを視聴できます。

タイムシフト表示は、チャネルの再生 URL に`start`パラメータを追加することで機能します。パラメータは、現在の時刻を基準にしたオフセットを秒単位で指定します。
+ 負の値は過去の時間を示します (「1 時間前から開始`start=-3600`」など)
+ 正の値は、将来の時間を示します (「1 時間から開始する`start=3600`」など）。

time-shift パラメータを含む URL の例:

```
https://example-cdn.com/out/v1/channel-name/index.m3u8?start=-3600
```

## 時間遅延の解決
<a name="channel-assembly-cdn-timeshift-delay"></a>

CDN によるタイムシフト表示をサポートするには:

1. `start` クエリパラメータをチャネルアセンブリに転送するように CDN を設定します。

1. キャッシュキーに `start`パラメータを含むキャッシュ動作を設定します。

1. タイムシフトパラメータを持つマニフェストの場合は、短い TTL を使用するか、キャッシュしません。

これにより、各ビューワーは要求された時間位置に対して正しいマニフェストを受信できます。

## タイムシフトの CDN 要件
<a name="channel-assembly-cdn-timeshift-requirements"></a>

チャネルアセンブリによるタイムシフト表示をサポートするには、CDN が以下の要件を満たしている必要があります。
+ すべてのクエリパラメータをチャネルアセンブリに転送します。
+ キャッシュキーに `start`パラメータを含めます。
+ タイムシフトされたマニフェストの適切なキャッシュ無効化をサポートします。
+ クエリパラメータに基づいてさまざまなマニフェストレスポンスを処理します。

# MediaTailor チャネルアセンブリ CDN オペレーションのモニタリング
<a name="ca-cdn-monitor"></a>

AWS Elemental MediaTailor チャネルアセンブリでは、信頼性の高いコンテンツ配信を確保するために、コンテンツ配信ネットワーク (CDN) と統合するときに効果的なモニタリングが必要です。チャネルアセンブリと CDN 統合のモニタリング戦略を実装して、信頼性の高いコンテンツ配信と迅速な問題解決を実現します。

必須メトリクス、モニタリングツールのセットアップ、アラート設定、すべての MediaTailor 実装に適用されるトラブルシューティング戦略を含む包括的な CDN モニタリングガイダンスについては、「」を参照してください[CDN モニタリング](cdn-monitoring.md)。このセクションでは、チャネルアセンブリ固有のモニタリング要件に焦点を当てます。

チャネルアセンブリと CDN 統合に特定のモニタリングを実装します。
+ チャネルアセンブリでマニフェスト生成メトリクスを追跡します。
+ タイムシフトされた表示リクエストとその CDN キャッシュヒット率への影響をモニタリングします。
+ マニフェストリクエストの異常なパターンのアラートを設定します。
+ コンテンツソース全体でセグメントの可用性の追跡を実装します。

Amazon CloudFront では、CDN メトリクスを MediaTailor メトリクスと統合して、[CloudWatch ダッシュボードを使用して配信パイプライン全体を視覚化するダッシュボード](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)を作成します。

チャネルアセンブリで SSAI も使用している場合は、広告挿入に固有の追加のモニタリング推奨事項[CDN オペレーションのモニタリング](ssai-cdn-monitor.md)については、「」を参照してください。

# 完全なチャネルアセンブリ CDN 最適化
<a name="ca-cdn-optimize-reference"></a>

キャッシュ戦略、リクエストルーティング設定、パフォーマンスベンチマーク、高度な最適化手法など、チャネルアセンブリの実装に固有の詳細な CDN 最適化ガイダンスについては、「」を参照してください[CDN パフォーマンスの最適化](cdn-optimization.md)。

統合最適化ガイドには、以下が用意されています。
+ 推奨 TTL 値を使用したチャネルアセンブリ固有のキャッシュ設定
+ マニフェストおよびセグメント配信のリクエストルーティングの最適化
+ すべての MediaTailor 実装のパフォーマンスベンチマークとターゲット
+ Origin Shield や圧縮などの高度な最適化手法
+ SSAI を使用したチャネルアセンブリのワークフローガイダンスの組み合わせ

# 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 フィルタリング機能の完全なガイド

# Amazon CloudFront AWS Elemental MediaTailor との統合
<a name="cloudfront-specific-recommendations"></a>

AWS Elemental MediaTailor は Amazon CloudFront と統合して、コンテンツ配信のパフォーマンスと信頼性を向上させます。CloudFront は、エッジロケーションと呼ばれるデータセンターの世界的ネットワークを通じてコンテンツを配信するコンテンツ配信ネットワーク (CDN) です。ビューワーが MediaTailor にコンテンツをリクエストすると、CloudFront はリクエストを最も近いエッジロケーションにルーティングします。このアプローチにより、レイテンシーが短縮され、ビューワーのパフォーマンスが向上します。

MediaTailor と CloudFront の統合には、いくつかの主な利点があります。
+ パーソナライズされたコンテンツにアクセスするビューワーのレイテンシーの短縮
+ 大規模なオーディエンスサイズを処理するためのスケーラビリティの向上
+ 冗長な配信パスによる信頼性の向上
+ 効率的なキャッシュ戦略によるコスト最適化
+ Media Quality-Aware Resiliency (MQAR) によるマルチリージョンフェイルオーバーなどの高度な機能

CloudFront の機能に関する包括的な情報については、[CloudFront デベロッパーガイド](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)」を参照してください。CloudFront の料金については、[CloudFront の料金](https://aws.amazon.com/cloudfront/pricing/)」を参照してください。

簡潔にするために、「マニフェスト」を使用して、マルチバリアントプレイリスト、メディアプレイリスト、MPDs。

**Topics**
+ [CloudFront の基本的なセットアップ](cloudfront-basic-setup.md)
+ [パフォーマンスの最適化](cloudfront-performance-optimization.md)
+ [マルチリージョンのレジリエンス](media-quality-resiliency.md)
+ [モニタリングとトラブルシューティング](monitoring-and-troubleshooting.md)

# MediaTailor との基本的な CloudFront 統合を設定する
<a name="cloudfront-basic-setup"></a>

AWS Elemental MediaTailor Amazon CloudFront との統合により、ビューワーのコンテンツ配信パフォーマンスが向上します。このトピックでは、MediaTailor の基本的な CloudFront ディストリビューションを設定する方法について説明します。この統合により、ビューワーは CloudFront ネットワークを介してパーソナライズされたコンテンツにアクセスできます。また、さまざまなコンテンツタイプに適切なキャッシュを設定する方法についても説明します。

認可とルーティングのために CloudFront を介してクエリパラメータを渡す方法については、「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。動的変数を使用した高度なルーティングについては、「」を参照してください[複数のコンテンツソースの MediaTailor ドメイン変数](variables-domains.md)。

## 前提条件
<a name="cf-basic-prerequisites"></a>

MediaTailor で CloudFront を設定する前に、以下があることを確認してください。
+ CloudFront ディストリビューションを作成および管理するためのアクセス許可を持つアクティブな AWS アカウント
+ 設定された MediaTailor 再生設定 (「」を参照[AWS Elemental MediaTailor を使用して広告を挿入する](configurations.md))
+ コンテンツオリジンサーバーが適切にセットアップされ、アクセス可能である
+ ビデオストリーミングの概念に関する基本的な理解 (HLS/DASH)

## CloudFront ディストリビューションの設定
<a name="cf-basic-configuration"></a>

MediaTailor の CloudFront ディストリビューションを作成および設定するには、次の手順に従います。

**MediaTailor の CloudFront ディストリビューションを作成するには**

1.  AWS マネジメントコンソールにサインインし、[https://console.aws.amazon.com/cloudfront/v3/home](https://console.aws.amazon.com/cloudfront/v3/home) で CloudFront コンソールを開きます。

1. **[ディストリビューションを作成]** を選択します。

1. **オリジンドメイン**には、MediaTailor エンドポイント URL (例: ) を入力します`a1b2c3d4.mediatailor.us-west-2.amazonaws.com`。

1. Protocol では****、**HTTPS のみ**を選択します。

1. Name には****、このオリジンを識別するのに役立つ名前を入力します (例: `mediatailor-origin`)。

1. デフォルトのキャッシュ動作設定を構成します。

   1. **パスパターン**には、デフォルト値 () を使用します`*`。

   1. **オブジェクトを自動的に圧縮**するには、**「はい**」を選択します。

   1. **ビューワープロトコルポリシー**で、**HTTP を HTTPS にリダイレクトを選択します**。

   1. **許可された HTTP メソッド**では、**GET、HEAD **を選択します。

   1. **キャッシュポリシー**で、**CachingDisabled** を選択します。

   1. **オリジンリクエストポリシー**で、**AllViewer** を選択して、デフォルトの動作のすべてのヘッダーを転送します。
**注記**  
デフォルトの動作では、AllViewer を使用して、特定のパスパターンに一致しないコンテンツを安全に処理します。マニフェストとセグメントの特定のキャッシュ動作は、適切なポリシーで個別に設定されます。

1. ディストリビューション設定を構成します。

   1. **Price クラス**で、対象者のロケーションに最も適したオプションを選択します。

   1. **AWS WAF ウェブ ACL** の場合は、既存のウェブ ACL を選択するか、**セキュリティ保護を有効にしないのままにします**。

   1. **デフォルトルートオブジェクト**の場合は、空のままにします。

   1. **標準ログ記録**では、**オン**を選択してログ記録を有効にします。

1. **[ディストリビューションを作成]** を選択します。

## キャッシュ動作の設定
<a name="cf-cache-behaviors"></a>

ディストリビューションを作成したら、さまざまなタイプのコンテンツを適切に処理するように追加のキャッシュ動作を設定する必要があります。このセクションでは、CloudFront の基本的なキャッシュ動作の設定について説明します。

高度な TTL 設定、キャッシュキー設定、パフォーマンスチューニングなどの包括的なキャッシュ最適化については、CDN 最適化ガイド[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)の「」を参照してください。

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

マニフェストにはパーソナライズされたコンテンツが含まれているため、キャッシュしないでください。キャッシュ動作を設定するには、次の手順に従います。

**マニフェストキャッシュの動作を設定するには**

1. CloudFront コンソールで、ディストリビューションを選択します。

1. [**Behaviors**] タブを選択します。

1. **[Create behavior]** (動作の作成) を選択します。

1. **パスパターン**には、HLS マルチバリアントとメディアプレイリスト`*.m3u8`と一致するように と入力します。

1. **オリジン**で、MediaTailor オリジンを選択します。

1. **キャッシュポリシー**で、**CachingDisabled** を選択します。

1. **オリジンリクエストポリシー**で、**AllViewer** を選択して、動的コンテンツに必要なすべてのヘッダーを転送します。

1. **[作成]** を選択します。

1. MPDs に一致するパスパターンを使用して`*.mpd`、DASH マニフェストに対してこれらのステップを繰り返します。

この設定により、各ビューワーは特定の広告コンテンツを含むパーソナライズされたマニフェストを受信できます。CDN はこれらのマニフェストをキャッシュしないため、各リクエストは MediaTailor に直接送信されます。

### セグメントキャッシュ動作の設定
<a name="cf-segment-behavior"></a>

広告セグメントとコンテンツセグメントに個別のキャッシュ動作を設定して、パフォーマンスを最適化し、CORS の適切な処理を確保します。

#### 広告セグメントのキャッシュ動作の設定
<a name="cf-ad-segment-behavior"></a>

`/tm/*` パスパターンを通じて提供される広告セグメントには、CORS を適切に処理するための特定の設定が必要です。以下の手順に従ってください。

**広告セグメントのキャッシュ動作を設定するには**

1. CloudFront コンソールで、ディストリビューションを選択します。

1. [**Behaviors**] タブを選択します。

1. **[Create behavior]** (動作の作成) を選択します。

1. **パスパターン**には、MediaTailor が提供する広告セグメントと一致する`/tm/*`ように と入力します。

1. **オリジン**で、MediaTailor セグメントのオリジン (`segments.mediatailor.region.amazonaws.com`ホスト名を使用) を選択します。

1. **キャッシュポリシー**で、**CachingOptimized** を選択します。

1. **オリジンリクエストポリシー**で、**なし**を選択します。

1. **レスポンスヘッダーポリシー**で、**CORS-with-preflight-and-SecurityHeadersPolicy** を選択して、適切な CORS ヘッダーがレスポンスに含まれていることを確認します。

1. **[作成]** を選択します。

#### コンテンツセグメントのキャッシュ動作の設定
<a name="cf-content-segment-behavior"></a>

コンテンツセグメントは、パフォーマンスを最適化するために標準のキャッシュポリシーを使用できます。セグメント形式ごとに個別の動作を設定します。

**コンテンツセグメントのキャッシュ動作を設定するには**

1. CloudFront コンソールで、ディストリビューションを選択します。

1. [**Behaviors**] タブを選択します。

1. **[Create behavior]** (動作の作成) を選択します。

1. **パスパターン**には、HLS コンテンツセグメント`*.ts`と一致するように と入力します。

1. **オリジン** で、コンテンツオリジンを選択します。

1. **キャッシュポリシー**で、**CachingOptimized** を選択します。

1. **オリジンリクエストポリシー**で、**なし**を選択します。

1. **レスポンスヘッダーポリシーで**、**CORS-with-preflight-and-SecurityHeadersPolicy** を選択して、すべてのコンテンツタイプで一貫した CORS 処理を確保します。

1. **[作成]** を選択します。

1. 適切なパスパターンを使用して、他のコンテンツセグメント形式に対してこれらのステップを繰り返します。
   + `*.mp4` MP4 セグメントの
   + `*.m4s` DASH セグメントの
   + `*.cmfv` CMAF セグメント`*.cmfa`の および

この設定により、広告セグメントとコンテンツセグメントが適切な CORS 処理で適切にキャッシュされます。広告セグメントは CORS 保護で MediaTailor セグメントオリジンを使用し、コンテンツセグメントは最適化されたキャッシュポリシーでコンテンツオリジンを使用します。

## MediaTailor 設定の更新
<a name="cf-mediatailor-config"></a>

CloudFront ディストリビューションを設定したら、CloudFront ドメインを使用するように MediaTailor 設定を更新します。

**MediaTailor 設定を更新するには**

1. [MediaTailor コンソール](https://console.aws.amazon.com/mediatailor/home)を開きます。

1. 更新する設定を選択します。

1. **CDN 設定**セクションで、**CDN コンテンツセグメントプレフィックス**フィールドに CloudFront ディストリビューションドメイン名 ( など`d1234abcdef.cloudfront.net`) を入力します。

1. 変更内容を保存します。

この設定では、MediaTailor はオリジンに直接ではなく CloudFront ディストリビューションを指す URLs を持つマニフェストを生成します。

## 統合のテスト
<a name="cf-basic-testing"></a>

CloudFront ディストリビューションを設定し、MediaTailor 設定を更新したら、統合をテストします。

**CloudFront と MediaTailor の統合をテストするには**

1. CloudFront ディストリビューション ( など`https://d1234abcdef.cloudfront.net/v1/master/12345/my-config/index.m3u8`) を使用してマニフェストをリクエストします。

1. マニフェストに CloudFront ドメインを指すセグメント URLsが含まれていることを確認します。

1. 動画プレーヤーを介してコンテンツを再生し、コンテンツと広告の両方が正しく再生されていることを確認します。

1. CloudFront ログをチェックして、リクエストが正しくルーティングされていることを確認します。

## 設定例
<a name="cf-basic-example"></a>

以下は、適切なキャッシュ動作を持つ MediaTailor の CloudFront ディストリビューション設定の例です。

**Example CloudFront ディストリビューション設定の例**  

```
{
  "DefaultCacheBehavior": {
    "TargetOriginId": "mediatailor-origin",
    "ViewerProtocolPolicy": "redirect-to-https",
    "AllowedMethods": {
      "Quantity": 2,
      "Items": ["GET", "HEAD"]
    },
    "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
    "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1",
    "Comment": "Default behavior with CachingDisabled and AllViewer"
  },
  "CacheBehaviors": [
    {
      "PathPattern": "*.m3u8",
      "TargetOriginId": "mediatailor-origin",
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
      "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1",
      "Comment": "Manifest behavior with CachingDisabled and AllViewer"
    },
    {
      "PathPattern": "*.ts",
      "TargetOriginId": "mediatailor-origin", 
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
      "OriginRequestPolicyId": "88a5eaf4-2fd4-4709-b370-b4c650ea3fcf",
      "Comment": "Segment behavior with CachingOptimized and HostHeaderOnly"
    }
  ]
}
```

この例は、以下を示しています。
+ **デフォルトの動作**: `CachingDisabled`と `AllViewer`を使用して、特定のパスパターンに一致しないコンテンツを安全に処理します。
+ **マニフェスト動作 (\$1.m3u8)**: 動的コンテンツ`AllViewer`に `CachingDisabled`と を使用します
+ **セグメント動作 (\$1.ts)**: `CachingOptimized`と を使用します `CORS-with-preflight-and-SecurityHeadersPolicy`

## 次の手順
<a name="cf-basic-next-steps"></a>

MediaTailor との基本的な CloudFront 統合を設定したら、次のステップを検討してください。
+ 追加の CloudFront 機能でパフォーマンスを最適化する (「」を参照[CloudFront 機能を使用した MediaTailor のパフォーマンスの最適化](cloudfront-performance-optimization.md))
+ MQAR を使用してマルチリージョンレジリエンスを実装する (「」を参照[MQAR を使用して MediaTailor のマルチリージョンレジリエンスを実装する](media-quality-resiliency.md))
+ モニタリングとトラブルシューティングを設定する (「」を参照[CloudFront と MediaTailor の統合のモニタリングとトラブルシューティング](monitoring-and-troubleshooting.md))

# CloudFront 機能を使用した MediaTailor のパフォーマンスの最適化
<a name="cloudfront-performance-optimization"></a>

AWS Elemental MediaTailor Amazon CloudFront のパフォーマンスは、基本設定以外の追加機能によって強化できます。MediaTailor で基本的な CloudFront 設定をセットアップしたら、パフォーマンス、信頼性、カスタマイズオプションを強化するための追加機能を実装できます。これらの最適化により、表示エクスペリエンスが向上します。また、コストとオリジン負荷も削減されます。

動的ルーティングとパラメータ処理を使用したパフォーマンスの最適化については、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。クエリパラメータの最適化戦略については、「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

## Origin Shield によるオリジン負荷の低減
<a name="origin-shield-integration"></a>

Origin Shield は、CloudFront エッジロケーションとオリジンサーバーの間にキャッシュレイヤーを追加します。この機能は、ライブストリーミングや一般的な VOD コンテンツに役立ちます。これは、多くの視聴者が同時に同じコンテンツをリクエストする場合に役立ちます。

複数のエッジロケーションからのリクエストを統合することで、Origin Shield は MediaTailor とコンテンツオリジンの負荷を軽減します。

**MediaTailor オリジンの Origin Shield を有効にするには**

1. CloudFront コンソールを開き、ディストリビューションに移動します。

1. MediaTailor 再生設定を指すオリジンを選択します。

1. **Origin Shield **で、**はい**を選択します。

1. ドロップダウンメニューから、MediaTailor エンドポイントに最も近い AWS リージョンを選択します。

1. 変更内容を保存します。

トラフィックの多いイベントの場合、Origin Shield はオリジンへのリクエスト負荷を大幅に削減し、信頼性を向上させます。詳細な手順については、CloudFront デベロッパーガイドの[「Origin Shield の有効化](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#enable-origin-shield)」を参照してください。

## CloudFront Functions を使用したコンテンツ配信のカスタマイズ
<a name="cloudfront-functions-integration"></a>

CloudFront Functions を使用すると、エッジで軽量の JavaScript コードを実行して、ビューワーのリクエストとレスポンスを変更できます。これらの関数は、URL の変更、ヘッダー操作、基本認証などの簡単なカスタマイズに使用できます。MediaTailor ワークフローの場合、関数は複雑な処理を必要としないタスクに役立ちます。

CloudFront Functions は、エッジでのコンテンツ配信を軽量にカスタマイズする方法を提供します。MediaTailor 統合用にこれらを実装する方法は次のとおりです。

**MediaTailor の CloudFront Functions を実装するには**

1. CloudFront コンソールで、**関数**に移動します。

1. 新しい関数を作成し、適切な目的を選択します。
   + **URL 操作** - MediaTailor に到達する前に、多変量プレイリスト、メディアプレイリスト、MPD リクエスト URLs を変更するには
   + **ヘッダー操作** - リクエストヘッダーを追加または変更するには
   + **簡易認証** - トークンまたはクエリパラメータを検証するには

1. JavaScript 関数コードを記述します。

1. サンプル MediaTailor リクエストで関数をテストします。

1. 関数を発行し、ディストリビューションのキャッシュ動作に関連付けます。

**Example URL 正規化のサンプル CloudFront 関数**  

```
function handler(event) {
    var request = event.request;
    var uri = request.uri;
    
    // Normalize URLs to lowercase to improve cache hit ratio
    if (uri.includes('.m3u8') || uri.includes('.mpd')) {
        request.uri = uri.toLowerCase();
    }
    
    return request;
}
```

詳細とコード例については、[CloudFront デベロッパーガイドの「CloudFront Functions を使用してエッジでカスタマイズ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html)する」を参照してください。 CloudFront 

## Lambda@Edge を使用した高度なカスタマイズの実装
<a name="lambda-edge-integration"></a>

CloudFront Functions が提供するよりも複雑な処理機能が必要な場合は、Lambda@Edge を使用します。このサービスでは、CloudFront エッジロケーションで Node.js または Python 関数を実行できます。

Lambda@Edge 関数は、複雑な認証、大規模なレスポンス変更、サードパーティー API 統合などの高度なオペレーションを実行できます。

より複雑なカスタマイズを行うには、MediaTailor と CloudFront の統合で Lambda@Edge 関数を使用します。

**MediaTailor で Lambda@Edge を実装するには**

1. 米国東部 (バージニア北部) リージョンで Lambda 関数を作成します。

1. 次のいずれかのユースケースの関数コードを記述します。
   + **URL 操作** - MediaTailor に到達する前に、多変量プレイリスト、メディアプレイリスト、MPD リクエスト URLs を変更するには
   + **A/B テスト** - ユーザーを異なる広告決定サーバーにルーティングするには
   + **認証のリクエスト** - 認証ヘッダーを追加するには
   + **レスポンスヘッダーの変更** - CORS ヘッダーを追加するには

1. 関数のバージョンを発行し、関数エイリアスを作成します。

1. 関数を適切なトリガーポイント (ビューワーリクエストまたはビューワーレスポンス) で CloudFront ディストリビューションに関連付けます。

**注記**  
MediaTailor で Lambda@Edge を使用する場合は、Media Quality-Aware Resiliency (MQAR) 機能を使用する予定がある場合は、オリジン向けトリガー (オリジンリクエストとオリジンレスポンス) を使用しないでください。これらは現在互換性がないためです。

詳細とコード例については、CloudFront デベロッパーガイドの[「Lambda@Edge を使用してエッジでカスタマイズ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html)する」を参照してください。

## パフォーマンス最適化に関するその他のヒント
<a name="performance-optimization-tips"></a>

パフォーマンスをさらに向上させるには、以下の追加の最適化を検討してください。

キャッシュヒット率の最適化  
CloudFront メトリクスでキャッシュヒット率をモニタリングし、改善の機会を探します。  
+ URL パターンを標準化してキャッシュキーの一貫性を向上させる
+ クエリ文字列のホワイトリストを使用して、キャッシュキーに必要なパラメータのみを含める
+ CloudFront Functions を使用した URL 正規化の実装を検討する

レイテンシーの短縮  
レイテンシーを最小限に抑えるには、次の手法を実装します。  
+ テキストベースのレスポンスの Brotli 圧縮を有効にする
+ HTTP/2 または HTTP/3 を使用して接続効率を向上させる
+ 最新のネットワークで IPv6 サポートを有効にすることを検討してください

コスト最適化  
パフォーマンスとコスト効率のバランスを取ります。  
+ Origin Shield を使用して冗長なオリジンリクエストを減らす
+ 対象者の地域に基づいて価格クラスの選択を検討する
+ セグメントに積極的なキャッシュを実装してオリジントラフィックを削減する

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

CloudFront 機能でパフォーマンスを最適化したら、次のステップを検討してください。
+ MQAR を使用してマルチリージョンレジリエンスを実装する (「」を参照[MQAR を使用して MediaTailor のマルチリージョンレジリエンスを実装する](media-quality-resiliency.md))
+ モニタリングとトラブルシューティングを設定する (「」を参照[CloudFront と MediaTailor の統合のモニタリングとトラブルシューティング](monitoring-and-troubleshooting.md))

# MQAR を使用して MediaTailor のマルチリージョンレジリエンスを実装する
<a name="media-quality-resiliency"></a>

AWS Elemental MediaTailor マルチリージョンレジリエンスは、MediaTailor が可能な限り最高のストリーミングエクスペリエンスを提供するのに役立つ高度な Amazon CloudFront 機能である Media Quality-Aware Resiliency (MQAR) によって強化されています。 MediaTailor 異なる AWS リージョンに複数のオリジンがある場合、最高品質のスコアを持つオリジンが自動的に選択されます。この機能は、中断のないサービスが必要なライブストリーミングに特に役立ちます。

## MQAR の仕組み
<a name="mqar-overview"></a>

MQAR を使用すると、CloudFront は最高品質のスコアを持つオリジンを自動的に選択できます。これにより、ビューワーは可能な限り最高のストリーミングエクスペリエンスを得ることができます。適切に設定すると、MQAR には次のような利点があります。
+ 最高品質のオリジンの自動選択
+ 停止中の AWS リージョン間のシームレスなフェイルオーバー
+ 中断を最小限に抑えてビューワーエクスペリエンスを改善
+ リアルタイムの品質モニタリングと適応

## ステップ 1: MQAR 要件を検証する
<a name="mqar-requirements"></a>

MQAR を実装する前に、インフラストラクチャがこれらの要件を満たしていることを確認します。MQAR は複数のオリジンの品質スコアを比較することで機能するため、複数の AWS リージョンで利用可能な同一のコンテンツが必要です。
+ エポックロックされた CMAF 取り込みストリームセットを使用して、調整された取り込みストリームをすべての MediaPackage チャネルに送信するエンコーダー
+ 異なる AWS リージョンの 2 つの同一の MediaPackage チャネルと同一のオリジンエンドポイント
+ MediaPackage チャネルの CMAF 取り込み (デフォルトで有効)
+ MQAR をサポートするように設定された CloudFront ディストリビューション
+ 各 MediaPackage エンドポイントの MediaTailor 設定 MediaPackage 

## ステップ 2: MQAR のエンコーダーを設定する
<a name="mqar-encoder-config"></a>

MQAR を効果的に機能させるには、エンコーダーがすべてのリージョンで一貫した同期された出力を生成する必要があります。この一貫性により、CloudFront はオリジン間で正確な品質比較を行うことができます。

以下の設定で MediaLive 出力を設定します。
+ CMAF 出力グループ内のすべてのビデオフレームレートが一貫していることを確認します (すべての小数フレームレートまたはすべての整数フレームレート）。
+ エンコーディングセッション間での小数フレームレートと整数フレームレート間の遷移を回避します。
+ エンコードセッション間で後退しないように、出力セグメントのシーケンス番号を設定します。
+ すべてのリージョンで同一のエンコーダー出力名を使用します。

MediaLive for MQAR の設定の詳細については、MediaLive ユーザーガイドの[「MQCS の使用](https://docs.aws.amazon.com//medialive/latest/ug/mqcs.html)」を参照してください。

## ステップ 3: MQAR の MediaPackage を設定する
<a name="mqar-mediapackage-config"></a>

以下の設定で MediaPackage チャネルとエンドポイントを設定します。

**MQAR の MediaPackage を設定するには**

1. 各 AWS リージョンに同一のチャネルとエンドポイントの設定を作成します。

1. CMAF をチャネル入力タイプとして使用します。

1. プライマリ MediaPackage オリジンで、次の設定で **Force エンドポイントエラー**設定を有効にします。
   + 古い多変量プレイリスト、メディアプレイリスト、または MPDs
   + 不完全な多変量プレイリスト、メディアプレイリスト、または MPD
   + スレート入力

1. バックアップ MediaPackage オリジンの場合、フェイルオーバーが成功する可能性を最大化するために、これらのエラー設定を有効にしないでください。

MediaPackage for MQAR の設定の詳細については、MediaPackage ユーザーガイドの[「 を使用したメディア品質スコアの活用 AWS Elemental MediaPackage](https://docs.aws.amazon.com//mediapackage/latest/userguide/mqcs.html)」を参照してください。 MediaPackage 

## ステップ 4: MQAR 用に CloudFront を設定する
<a name="mqar-cloudfront-config"></a>

CloudFront 設定では、MQAR を有効にし、オリジン間での選択方法を定義します。メディア品質スコアオプションを有効にしてオリジングループを作成します。

**MQAR 用に CloudFront を設定するには**

1. MediaTailor エンドポイントを指すオリジンを使用して CloudFront ディストリビューションを作成します。

1. これらのオリジンを含むオリジングループを作成します。

1. オリジングループ設定で、**メディア品質スコア**オプションを有効にします。

1. 404 Not Found レスポンスコードを含めるようにフェイルオーバー条件を設定します。オプションで、他の 4xx/5xx コードを含めることができます。

1. チャネルのパスパターンごとに個別のキャッシュ動作を作成します。これにより、同じオリジングループが複数のチャネルを処理するときにスコアが混在するのを防ぐことができます。

**注記**  
MQAR は、ディストリビューションのキャッシュ動作に関連付けられたオリジン向けトリガー (オリジンリクエストとオリジンレスポンス) で Lambda@Edge 関数を使用する場合は使用できません。

MQAR 用に CloudFront を設定する方法の詳細については、CloudFront デベロッパーガイドの[「メディア品質対応の耐障害性](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/media-quality-score.html)」を参照してください。

## ステップ 5: MQAR の MediaTailor を設定する
<a name="mqar-mediatailor-config"></a>

MQAR のセットアップを完了するには、マルチリージョンアーキテクチャで動作するように各リージョンで MediaTailor を設定します。これにより、CloudFront が選択するオリジンに関係なく、一貫した広告挿入が保証されます。

**MediaTailor for MQAR を設定するには**

1. 対応する MediaPackage エンドポイントを参照しながら、各リージョンに同一の MediaTailor 設定を作成します。 MediaPackage 

1. CloudFront ディストリビューションドメインを使用するように CDN コンテンツセグメントプレフィックスを設定します。

1. 広告決定サーバーの設定がリージョン間で同一であることを確認します。

この設定により、CloudFront が品質スコアに基づいて選択するオリジンに関係なく、MediaTailor は広告を一貫してパーソナライズし続けることができます。

## ステップ 6: MQAR 設定をテストする
<a name="mqar-testing"></a>

MQAR を設定したら、設定をテストして期待どおりに動作することを確認します。

**MQAR 設定をテストするには**

1. CloudFront ディストリビューションを通じてコンテンツをリクエストします。

1. リアルタイムログをモニタリングして、CloudFront が品質スコアに基づいてオリジンを選択していることを確認します。

1. プライマリ AWS リージョンの障害をシミュレートしてフェイルオーバー動作をテストします。

1. フェイルオーバー中に広告挿入が正しく動作し続けます。

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

MQAR を実装したら、次のステップを検討してください。
+ MQAR 設定のモニタリングとトラブルシューティングを設定する (「」を参照[CloudFront と MediaTailor の統合のモニタリングとトラブルシューティング](monitoring-and-troubleshooting.md))
+ を使用した自動デプロイの実装 AWS CloudFormation (「」を参照[で MediaTailor と CDN を自動化する CloudFormation](automating-cdn-integration.md))

# CloudFront と MediaTailor の統合のモニタリングとトラブルシューティング
<a name="monitoring-and-troubleshooting"></a>

AWS Elemental MediaTailor Amazon CloudFront との統合には、最適なパフォーマンスを維持するために継続的なモニタリングとトラブルシューティングが必要です。CloudFront と MediaTailor の統合を実装したら、パフォーマンスをモニタリングし、問題のトラブルシューティングに備えます。コンテンツ配信ネットワーク (CDN) には、ディストリビューションのパフォーマンスを理解し、潜在的な問題を特定するのに役立つツールが用意されています。

## 統合のモニタリングの設定
<a name="cf-monitoring-setup"></a>

CloudFront と MediaTailor の統合のパフォーマンスを追跡するには、以下のモニタリング戦略を実装します。

**CloudFront と MediaTailor の統合のモニタリングを設定するには**

1. CloudFront 標準ログ記録を有効にします。

   1. CloudFront コンソールで、ディストリビューションを選択します。

   1. [**ログ**] タブを選択します。

   1. **標準ログ**で、**編集** を選択します。

   1. **On **を選択し、ログストレージ用に Amazon S3 バケットを設定します。

   1. **[Save changes]** (変更の保存) をクリックします。

1. CloudFront リアルタイムログを設定します。

   1. CloudFront コンソールで、ディストリビューションを選択します。

   1. [**ログ**] タブを選択します。

   1. **リアルタイムログ**で、**編集** を選択します。

   1. **On **を選択し、Amazon Kinesis Data Streams または Amazon Data Firehose 配信ストリームを設定します。

   1. ログ設定に以下のフィールドを含めます。
      + `time-to-first-byte` - 応答時間
      + `sc-status` - HTTP ステータスコード
      + `c-ip` - ビューワー IP アドレス
      + `cs-uri-stem` - リクエスト URI パス
      + `cs-user-agent` - ユーザーエージェント
      + `x-edge-result-type` - 結果タイプ (ヒット、ミス、エラー)

   1. **[Save changes]** (変更の保存) をクリックします。

1. CloudWatch ダッシュボードを作成する:

   1. CloudWatch コンソールで、**ダッシュボード**を選択します。

   1. **[ダッシュボードを作成]** を選択します。

   1. これらの CloudFront メトリクスのウィジェットを追加します。
      + リクエスト
      + BytesDownloaded
      + 4xxErrorRate
      + 5xxErrorRate
      + TotalErrorRate
      + CacheHitRate

1. CloudWatch アラームを設定します。

   1. CloudWatch コンソールで、**アラーム**を選択します。

   1. [**アラームの作成**] を選択します。

   1. これらの条件のアラームを作成します。
      + 5xxErrorRate > 1% を 5 分間
      + 4xxErrorRate が 5% を 5 分間超える
      + CacheHitRate が 30 分間 80% 未満

## MQAR パフォーマンスのモニタリング
<a name="mqar-monitoring"></a>

MQAR を使用する場合、モニタリングは CloudFront がオリジンを選択する方法と、品質スコアが期待を満たしているかどうかを理解するのに役立ちます。リアルタイムログは、これらの決定を発生時に表示します。

**MQAR のパフォーマンスをモニタリングするには**

1. CloudFront ディストリビューションのリアルタイムログを有効にします。

1. ログ設定に以下のフィールドを含めます。
   + `r-host` - 選択したオリジンのホスト名
   + `sr-reason` - オリジン選択の理由
   + `x-edge-mqcs` - メディア品質信頼スコア

1. Amazon Kinesis Data Streams または Amazon Data Firehose でログ送信先を設定します。

1. これらのメトリクスに基づいてダッシュボードまたはアラートを作成し、品質スコアとオリジン選択の決定をモニタリングします。

**Example MQAR モニタリング用の CloudWatch ダッシュボードのサンプル**  
次のメトリクスを使用して CloudWatch ダッシュボードを作成します。  
+ リージョン別のオリジン選択数
+ 経時的な平均品質スコア
+ フェイルオーバーイベント
+ オリジン別の 4xx および 5xx エラー率

リアルタイムログの設定の詳細については、CloudFront デベロッパーガイドの[「リアルタイムログ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html)」を参照してください。

## 一般的な問題のトラブルシューティング
<a name="troubleshooting-common-issues"></a>

CloudFront と MediaTailor の統合では、慎重な計画を立てていても問題が発生する可能性があります。一般的な問題と解決策を理解することで、問題をすばやく解決し、視聴者への影響を最小限に抑えることができます。

CloudFront と MediaTailor の統合で問題が発生した場合は、以下の一般的な問題と解決策を確認してください。

マニフェストキャッシュの問題  
**症状:** 古いマニフェストまたは広告が更新されない  
**解決策:** マルチバリアントプレイリスト、メディアプレイリスト、MPD パスに`CachingDisabled`キャッシュポリシーを使用していることを確認します。設定でクエリパラメータが正しく転送されていることを確認します。

CORS エラー  
**症状:** コンテンツにアクセスするときにブラウザコンソールに CORS エラーが表示される  
**解決策:** レスポンスヘッダーポリシーを適切な CORS ヘッダーで設定し、キャッシュ動作に関連付けます。

MQAR が機能しない  
**症状:** オリジン選択が品質スコアを無視する  
**解決策:** オリジングループ設定でメディア品質スコアオプションが有効になっていることを確認します。Lambda@Edge オリジン向けトリガーを使用していないことを確認します。

広告挿入の失敗  
**症状:** 広告が正しく挿入されない  
**解決策:** MediaTailor 設定がコンテンツセグメントプレフィックスの CloudFront ディストリビューションを指していることを確認します。設定で必要なすべてのヘッダーが転送されていることを確認します。

より複雑な問題には、次のトラブルシューティングアプローチを使用できます。

1. CloudFront ディストリビューションログでエラーパターンを確認する

1. ブラウザ開発者ツールを使用してネットワークリクエストを検査する

1. MediaTailor のマニフェストコンテンツと CloudFront 経由で配信されるコンテンツを直接比較する

1. 詳細なログ記録をサポートするシンプルなプレイヤーでテストする

トラブルシューティングの詳細については、MediaTailor ユーザーガイドの[「トラブルシューティング](https://docs.aws.amazon.com//mediatailor/latest/ug/troubleshooting.html)」セクションを参照してください。

## ワークフローのトラブルシューティング
<a name="troubleshooting-workflow"></a>

CloudFront と MediaTailor の統合に関する問題のトラブルシューティングを行うには、次の体系的なアプローチに従います。

**CloudFront と MediaTailor の統合の問題をトラブルシューティングするには**

1. 特定の問題を特定します。

   1. 問題がすべてのビューワーに影響するか、一部のみに影響するかを判断する

   1. 影響を受けるコンテンツタイプ (マニフェスト、セグメント、またはその両方) を特定する

   1. エラーメッセージや症状を書き留める

1. CloudFront ログを確認します。

   1. エラーステータスコードを探す (4xx または 5xx)

   1. キャッシュヒット/ミスパターンを確認する

   1. リクエストが正しいオリジンにルーティングされていることを確認します。

1. 設定を確認します。

   1. キャッシュ動作で正しいパスパターンを確認する

   1. キャッシュポリシーが正しく適用されていることを確認する

   1. オリジンリクエストポリシーが必要なヘッダーを転送していることを確認します。

1. 直接アクセスをテストする:

   1. MediaTailor から直接コンテンツにアクセスしてみてください (CloudFront をバイパス)

   1. 直接アクセスと CloudFront アクセスのレスポンスを比較する

1. ソリューションを実装します。

   1. 検出結果に基づいて適切な修正を適用する

   1. テストして問題が解決されたことを確認する

   1. 今後の参照用に問題とソリューションを文書化する

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

CloudFront と MediaTailor の統合のモニタリングとトラブルシューティングを設定したら、次のステップを検討してください。
+ を使用した自動デプロイの実装 AWS CloudFormation (「」を参照[で MediaTailor と CDN を自動化する CloudFormation](automating-cdn-integration.md))
+ 一般的な運用シナリオとトラブルシューティング手順のランブックを作成する
+ 一般的な問題の自動修復を設定する

# MediaTailor 広告配信用のサードパーティー CDNs を設定する
<a name="cdn-provider-specific"></a>

Akamai や" などのサードパーティー CDNs は、帯域幅コストを削減しながら、 AWS Elemental MediaTailor 広告配信のパフォーマンスとスケーラビリティを大幅に向上させることができます。ただし、パーソナライズされた広告の CDN 設定には、標準のビデオ配信とは異なる特定の設定が必要です。

サードパーティーの CDNs「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。動的変数を使用した高度なルーティング設定については、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。

このガイドでは、MediaTailor と最適に連携するようにサードパーティー CDN を設定する完全なプロセスについて説明します。2 つの重要な動作を設定する方法について説明します。
+ **マニフェストバイパス:** マニフェストキャッシュを防止することで、各ビューワーがパーソナライズされた広告挿入を受信できるようにします
+ **セグメントキャッシュ:** ビデオコンテンツを効率的にキャッシュすることで、パフォーマンスを最大化し、コストを削減

設定プロセスには通常 30～60 分かかり、プロバイダーの選択、セットアップ、検証、最適化が含まれます。完了すると、最適な視聴エクスペリエンスを維持しながら、パーソナライズされた広告を効率的に配信する CDN 設定が完成します。

**注記**  
このガイドでは、Akamai と" の設定に焦点を当てています。CloudFront のセットアップ手順については、「」を参照してください[CloudFront 統合](cloudfront-specific-recommendations.md)。

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

MediaTailor でサードパーティー CDN を設定する前に、以下があることを確認してください。
+ コンテンツオリジンと広告決定サーバーを含むアクティブな MediaTailor 設定
+ CDN の設定インターフェイスへのアクセス
+ コンテンツで使用されるファイル拡張子のリスト (.m3u8、.mpd、.ts など)
+ リファレンス用の CDN プロバイダーのドキュメント

サードパーティー CDN ではなく CloudFront のセットアップ手順については、「」を参照してください[CloudFront 統合](cloudfront-specific-recommendations.md)。 CDNs

**用語**  
CDN 設定要件を理解するには、次のマニフェストタイプを知っておく必要があります。
+ **HLS マニフェスト**:
  + *多変量プレイリスト*: メディアプレイリストへのリンクを含む最上位マニフェスト
  + *メディアプレイリスト*: コンテンツセグメントへのリンクを含む第 2 レベルのマニフェスト
+ **DASH マニフェスト**:
  + *MPD (メディアプレゼンテーションの説明)*: DASH マニフェストの標準用語

このガイドでは、一般的な設定要件について説明するときに、すべてのマニフェストファイル (多変量プレイリスト、メディアプレイリスト、MPDs) をマ*ニフェスト*としてまとめて参照します。

すべてのプロバイダーに適用される一般的な CDN 設定原則については、「」を参照してください[MediaTailor との CDN 統合を設定する](cdn-configuration.md)。

CDN 最適化ガイダンスについては、「」を参照してください[CDN と MediaTailor の統合のパフォーマンス最適化ガイド](cdn-optimization.md)。

## CDN キャッシュルールを設定する
<a name="3p-cdn-config"></a>

MediaTailor 広告配信では、コンテンツがビューワーに到達する方法を決定するため、CDN キャッシュ設定が重要です。適切な設定により、セグメントを効率的にキャッシュしながら、各ビューワーのマニフェストをパーソナライズしたままにして、オリジンの負荷を軽減し、パフォーマンスを向上させます。

この設定は通常、CDN プロバイダーごとに 15～30 分かかり、2 つの異なる動作が必要です。
+ **マニフェスト処理:** キャッシュを防止して、各ビューワーがパーソナライズされた広告挿入を受信できるようにします
+ **セグメントキャッシュ:** ビデオコンテンツのキャッシュ効率を最大化して配信パフォーマンスを向上させます

最適な広告配信のために CDN のキャッシュルールを設定するには、次の手順に従います。

特定の手順については、以下のタブから CDN プロバイダーを選択してください。

------
#### [ Akamai ]

Akamai プロパティで次の 2 つの動作を設定します。
+ キャッシュを防ぐためのマニフェスト処理
+ 最適なパフォーマンスを実現するセグメントキャッシュ

**マニフェスト配信を設定する**  
各ビューワーがパーソナライズされた広告を受信できるように、マニフェストがキャッシュされないように Akamai CDN を設定します。

マニフェストファイルには、MediaTailor がビューワーごとに生成するパーソナライズされた広告挿入ポイントが含まれています。これらのファイルをキャッシュすると、すべての視聴者に同一の広告が表示され、パーソナライズされた広告の目的が損なわれます。

マニフェストリクエスト (.m3u8、.mpd、または .smil で終わるファイル) については、次の手順に従います。

1. マニフェストファイル拡張子 (.m3u8、.mpd、.smil) に一致する動作を作成する

1. **キャッシュオプション**を**ストアなし**に設定する

1. すべてのクエリパラメータを含めるようにキャッシュキーを設定する

1. 適切なオリジンルーティングのために**転送ホストヘッダー**を有効にする

1. すべてのヘッダーのヘッダー転送を設定します。最小要件については、「」を参照してください[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers)。

**セグメント配信を設定する**  
動画セグメントをキャッシュするように Akamai CDN を設定して、CDN 効率を最大化し、オリジンの負荷を軽減します。

動画セグメントは、パーソナライズされた情報が含まれていないため、安全にキャッシュできる実際のコンテンツファイルです。適切なセグメントキャッシュにより、帯域幅のコストが削減され、視聴者の再生パフォーマンスが向上します。

セグメントリクエスト (.ts、.mp4、.m4s などで終わるファイル) については、次の手順に従います。

1. セグメントファイル拡張子 (.ts、.mp4、.m4s) に一致する動作を作成する

1. **Honor オリジンキャッシュコントロール**を **Yes** に設定する

1. オリジンヘッダーがない場合のtime-to-live (TTL) 設定を構成します。
   + デフォルト TTL: 86400 秒 (24 時間)
   + 最大 TTL: 604800 秒 (7 日間)

**注記**  
これらの動作を設定したら、Akamai Control Center でプロパティの変更を有効にします。  
変更はアクティベーション後に有効になります。

------
#### [ Fastly ]

次の 2 つの設定を、" サービスで作成します。
+ キャッシュを防ぐためのマニフェスト処理
+ 最適なパフォーマンスを実現するセグメントキャッシュ

**マニフェスト配信を設定する**  
各ビューワーがパーソナライズされた広告コンテンツを受信できるように、マニフェストファイルのキャッシュをバイパスするように、" CDN を設定します。

マニフェストファイルは、適切な広告パーソナライゼーションを確保するために、リクエストごとに MediaTailor に到達する必要があります。これらのファイルのキャッシュをバイパスすると、各ビューワーの一意のターゲットパラメータが正しく処理されます。

マニフェストリクエストの場合は、次の手順に従います。

1. マニフェストパスを識別するリクエスト条件を作成する

1. キャッシュ条件を **に設定する これらのリクエストに対してキャッシュしない** 

1. すべてのクエリパラメータを含めるように**転送**設定を構成する

1. ヘッダー転送設定`User-Agent`に を追加する

**セグメント配信を設定する**  
配信パフォーマンスを向上させ、オリジントラフィックを減らすために、動画セグメントをキャッシュするように、" CDN を設定します。

セグメントキャッシュは、コスト効率の高い配信と最適なビューワーエクスペリエンスに不可欠です。これらのファイルはすべてのビューワーで同じであり、CDN キャッシュの大きな利点があります。

セグメントリクエストの場合は、次の手順に従います。

1. セグメントパスを識別するリクエスト条件を作成する

1. オリジンキャッシュヘッダーを優先するようにキャッシュ**設定**を設定する ****

1. オリジンヘッダーがない場合のデフォルトのtime-to-live (TTL) を 86400 秒 (24 時間) に設定する

**注記**  
これらの変更を行った後、新しいバージョンの「" サービス」をアクティブ化します。  
設定はアクティベーション後に有効になります。

------

## CDN 設定を確認する
<a name="cdn-3p-verify"></a>

検証により、本番トラフィックを経由する前に CDN 設定が正しく動作することを確認します。これらのテストでは、広告パーソナライゼーションが適切に機能し、キャッシュによって期待されるパフォーマンス上の利点が得られることを確認します。

完全な検証には通常 10～15 分かかり、可能であれば複数の地理的場所から実行する必要があります。

CDN をセットアップしたら、次のチェックを実行して正しく動作していることを確認します。

1. マニフェストのパーソナライゼーションをテストする:

   1. 異なる広告パラメータを使用して同じコンテンツ URL をリクエストする

   1. 各リクエストが異なる広告挿入を返すことを確認する

1. テストセグメントキャッシュ:

   1. セグメントキャッシュヒット率の CDN メトリクスを確認する (90% 以上である必要があります)

   1. オリジントラフィックをモニタリングして、直接配信よりも低いことを確認する

1. 再生パフォーマンスをテストします。

   1. さまざまな場所から CDN 経由でコンテンツを再生する

   1. バッファリングの問題なしでスムーズな再生を検証する

包括的なテスト方法と高度な検証手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。

## CDN パフォーマンスの最適化
<a name="cdn-3p-optimize"></a>

基本設定を確認したら、これらの最適化を実装してパフォーマンスを最大化し、コストを最小限に抑えます。

### 主要なパフォーマンスメトリクスのモニタリング
<a name="cdn-3p-optimize-monitoring"></a>

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

キャッシュヒット率  
**ターゲット:** 動画セグメントで 90% を超える  
**影響:** 比率が高いほどオリジンの負荷が軽減され、ビューワーエクスペリエンスが向上します  
**モニタリング:** CDN プロバイダーの分析ダッシュボードを毎日確認する

オリジン応答時間  
**ターゲット:** マニフェストリクエストの場合は 200 ミリ秒未満  
**影響:** マニフェスト配信の高速化により、視聴者の起動時間を短縮  
**モニタリング:** 500 ミリ秒を超える応答時間のアラートを設定する

エラー率  
**ターゲット:** すべてのリクエストで 0.1% 未満  
**影響:** エラー率が高い場合は、設定の問題またはオリジンの問題を示します。  
**モニタリング:** 1% を超えるエラー率のアラートを設定する

### キャッシュ動作を微調整する
<a name="cdn-3p-optimize-tuning"></a>

コンテンツ特性とビューワーパターンに基づいて、これらの設定を調整します。

セグメント TTL 最適化  
**ライブコンテンツ:** 短い TTL (1～4 時間) を使用してタイムリーな更新を確保する  
**VOD コンテンツ:** キャッシュ効率を最大化するために長い TTL (24～48 時間) を使用する  
**広告セグメント:** 頻繁に更新される広告コンテンツでは、TTL を短くすること (30 分から 2 時間) を検討してください。  
すべての MediaTailor ワークフローにわたる包括的な TTL レコメンデーションとキャッシュ戦略については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

地理的最適化  
**マルチリージョンオリジン:** ビューワーの場所に基づいてオリジンの選択を設定する  
**エッジロケーション:** ビューワーの集中度が高いリージョンで追加のエッジロケーションを有効にする  
**フェイルオーバー:** 高可用性のためにバックアップオリジンを設定する

### コストの最適化
<a name="cdn-3p-optimize-cost"></a>

パフォーマンスを維持しながら CDN コストを削減するには、以下の戦略を実装します。
+ **圧縮:** マニフェストファイルの gzip 圧縮を有効にして帯域幅の使用量を減らす
+ **パージ戦略:** フルキャッシュクリアの代わりに選択的キャッシュパージを実装する
+ **トラフィック分析:** トラフィックパターンを毎月確認し、最適化の機会を特定する
+ **階層の選択:** パフォーマンス要件に基づいて適切な CDN サービス階層を使用する

## サードパーティーの CDN 問題のトラブルシューティング
<a name="cdn-3p-troubleshooting"></a>

CDN 設定の問題は、通常、広告パーソナライゼーションの問題またはパフォーマンスの低下として現れます。この体系的なアプローチを使用して、MediaTailor 広告配信に影響する最も一般的な問題を特定して解決します。

ほとんどのトラブルシューティングは、特定の症状を確認し、対応する解決策を適用することで、15～30 分以内に完了できます。

視聴者が広告配信または再生品質に問題がある場合は、このガイドを使用して一般的な CDN 設定の問題を特定して解決します。

Akamai: キャッシュされたマニフェスト  
**症状:** 異なるターゲティングパラメータを設定しても、ビューワーには同じ広告が表示されます。  
**解決策:** マニフェストパスに**ストアなし**キャッシュオプションを適用したことを確認します。  
また、キャッシュキーにクエリパラメータが含まれていることも確認します。

「": 不正なキャッシュキー」  
**症状:** 視聴者の広告パーソナライゼーションに一貫性がない。  
ビューワーには、他のビューワー向けの広告が表示される場合もあります。  
**解決策:** キャッシュキーにすべてのクエリパラメータを含めるように**転送**設定を設定したことを確認します。

一般: 高オリジントラフィック  
**症状:** オリジンサーバーのトラフィックが予期せず多い  
**解決策:** セグメントキャッシュ設定とtime-to-live (TTL) 値を確認します。  
CDN メトリクスのキャッシュヒット率を確認します。

全般: 再生エラー  
**症状:** ビューワーにバッファリングまたは再生の失敗が発生する  
**解決策:** CDN ルーティングルールとオリジンの状態を確認します。  
必要なヘッダーがすべて正しく転送されていることを確認します。

**注記**  
これらのソリューションで問題が解決しない場合は、CDN プロバイダーのドキュメントを確認してください。サポートチームに連絡して、追加のトラブルシューティング手順を依頼することもできます。

CDN の一般的なトラブルシューティングガイダンスについては、「」を参照してください[MediaTailor と CDN の統合に関する問題のトラブルシューティング](cdn-troubleshooting.md)。

# CDN と MediaTailor の統合のパフォーマンス最適化ガイド
<a name="cdn-optimization"></a>

AWS Elemental MediaTailor パフォーマンスは、体系的なコンテンツ配信ネットワーク (CDN) 最適化によって最大化できます。サーバー側の広告挿入 (SSAI)、チャネルアセンブリ、または複合ワークフローを実装する場合でも、最適化の原則とパフォーマンスターゲットは一貫しています。このガイドでは、すべての MediaTailor 実装に適用される包括的な最適化手法とベンチマークについて説明します。

動的変数と設定エイリアスを使用した高度なルーティング最適化については、「」を参照してください[ADS リクエストの MediaTailor 動的広告変数](variables.md)。クエリパラメータの最適化戦略については、「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

**最適化ワークフローの概要:**

1. **キャッシュの設定** - 適切な TTL 値とキャッシュ動作を設定します。

1. **ルーティングの最適化** - リクエストルーティングとオリジンポリシーを設定する

1. **パフォーマンスの測定** - 確立されたベンチマークに照らして追跡する

1. **高度な手法を適用する** - 追加の最適化機能を実装する

**Topics**
+ [キャッシュの最適化](cdn-optimize-caching.md)
+ [リクエストルーティングの最適化](cdn-optimize-routing.md)
+ [パフォーマンスベンチマーク](cdn-performance-benchmarks.md)
+ [高度な最適化](cdn-advanced-optimization.md)

# CDN と MediaTailor の統合のキャッシュ最適化
<a name="cdn-optimize-caching"></a>

AWS Elemental MediaTailor キャッシュ要件は、ワークフロータイプとコンテンツ形式によって異なります。最適なパフォーマンス、コスト効率、視聴者エクスペリエンスを得るには、適切なキャッシュ設定が不可欠です。以下のセクションでは、さまざまな MediaTailor 実装の詳細なキャッシュガイダンスを提供します。

## サーバー側の広告挿入 (SSAI) キャッシュ
<a name="ssai-caching-optimization"></a>

サーバー側の広告挿入ワークフローでは、パーソナライズされたマニフェストをキャッシュすることはできませんが、コンテンツと広告セグメントは積極的にキャッシュする必要があります。


**SSAI CDN キャッシュ設定**  

| コンテンツタイプ | TTL | パスパターン | キャッシュキー要素 | 
| --- | --- | --- | --- | 
| 多変量プレイリスト | 0 秒 | /v1/master/\$1 | URL パス \$1 すべてのクエリパラメータ | 
| メディアプレイリスト | 0 秒 | /v1/マニフェスト/\$1 | URL パス \$1 すべてのクエリパラメータ | 
| DASH MPDs | 0 秒 | /v1/dash/\$1 | URL パス \$1 すべてのクエリパラメータ | 
| コンテンツセグメント | 24 時間以上 | コンテンツ固有のパス | URL パスのみ | 
| 広告セグメント | 24 時間以上 | /v1/segment/\$1 | URL パスのみ | 
+ パーソナライズされたマニフェストの TTL を 0 秒に設定して、視聴者がup-to-date広告コンテンツを受信できるようにします。
+ キャッシュ効率を最大化するために、コンテンツセグメントと広告セグメントの長い TTL 値を設定する
+ ターゲット広告をサポートしている場合、キャッシュキーにパーソナライゼーションパラメータを含むキャッシュ動作を設定する
+ CDN レベルでリクエストの折りたたみを実装して、同時リクエストを効率的に処理する

### 推奨される TTL 設定
<a name="ssai-ttl-configuration"></a>

SSAI のパフォーマンスを最適化するには、次の特定の TTL 設定で CDN キャッシュポリシーを設定します。


**SSAI TTL 設定**  

| コンテンツタイプ | TTL 設定 | 推奨値 | 
| --- | --- | --- | 
| 広告セグメント | 最小 TTL | 1 秒 | 
| 広告セグメント | 最大 TTL | 86400 秒 (24 時間) | 
| 広告セグメント | デフォルト TTL | 86400 秒 (24 時間) | 
| コンテンツセグメント | 最小 TTL | 1 秒 | 
| コンテンツセグメント | 最大 TTL | 86400 秒 (24 時間) | 
| コンテンツセグメント | デフォルト TTL | 86400 秒 (24 時間) | 

これらの設定により、以下が保証されます。
+ **最小 TTL 1 秒**: 過剰なオリジンリクエストを防止しながら、必要に応じてキャッシュを迅速に無効化できます
+ **最大 TTL 24 時間**: キャッシュ効率とコンテンツの鮮度要件のバランスを取ります
+ **デフォルトの TTL は 24 時間**: 明示的なキャッシュ制御ヘッダーを持たないセグメントに最適なキャッシュを提供します

## サーバーガイド広告挿入 (SGAI) キャッシュ
<a name="sgai-caching-optimization"></a>

サーバーガイド広告挿入 (SGAI) は、予測可能な URL パターンを使用するキャッシュ可能なメディアマニフェストを通じて効率的な CDN キャッシュを可能にします。このセクションでは、最適な SGAI パフォーマンスのための CDN 固有の設定要件に焦点を当てます。

### SGAI の CDN キャッシュ設定
<a name="sgai-caching-configuration"></a>

SGAI 固有のキャッシュ動作を使用して CDN を設定します。


**SGAI CDN キャッシュ設定**  

| コンテンツタイプ | TTL | パスパターン | キャッシュキー要素 | 
| --- | --- | --- | --- | 
| SGAI マルチバリアントプレイリスト (キャッシュしない) | 0 秒 (キャッシュしない) | /v1/master/\$1 | URL パス \$1 選択したクエリパラメータ | 
| SGAI メディアプレイリスト | 1～4 秒 (セグメントの半分の長さ) | /v1/i-media/\$1 | URL パス \$1 選択したクエリパラメータ | 
| アセットリストレスポンス (キャッシュしない) | 0 秒 (キャッシュしない) | /v1/interstitials/\$1 | URL パス \$1 すべてのクエリパラメータ | 
| 広告セグメント | 24 時間以上 | 広告固有のパス | URL パスのみ | 

### キャッシュ動作設定
<a name="sgai-cache-behavior-setup"></a>

SGAI コンテンツの専用キャッシュ動作を設定します。
+ **SGAI マニフェストの動作** - 1～4 秒の TTL を持つ`/v1/i-media/*`パスのキャッシュ動作を作成する
+ **アセットリストの動作** - 0 秒の TTL を持つ`/v1/interstitials/*`パスのキャッシュ動作を作成します。
+ **クエリパラメータ処理** - キャッシュ効率を最大化するために、キャッシュキーに必須のターゲットパラメータのみを含めます
+ **オリジンリクエストヘッダー** - キャッシュ性を維持しながら、広告ターゲティングに必要なヘッダーを転送する

## チャネルアセンブリキャッシュ
<a name="channel-assembly-caching-optimization"></a>

チャネルアセンブリワークフローでは、マニフェストを短期間キャッシュできますが、セグメントは積極的にキャッシュする必要があります。


**チャネルアセンブリ CDN キャッシュ設定**  

| コンテンツタイプ | VOD TTL | ライブ TTL | パスパターン | キャッシュキー要素 | 
| --- | --- | --- | --- | --- | 
| 多変量プレイリスト | 5～30 分 | 5～10 秒 | チャネル固有のパス | URL パス \$1 すべてのクエリパラメータ | 
| メディアプレイリスト | 5～30 分 | 2～5 秒 | チャネル固有のパス | URL パス \$1 すべてのクエリパラメータ | 
| DASH MPDs | 5～30 分 | 5～10 秒 | チャネル固有のパス | URL パス \$1 すべてのクエリパラメータ | 
| コンテンツセグメント | 24 時間以上 | 5～15 分 | コンテンツ固有のパス | URL パスのみ | 
| 広告セグメント | 24 時間以上 | 24 時間以上 | 広告固有のパス | URL パスのみ | 
+ マニフェストの短い TTL 値を設定して、ビューワーがup-to-dateプログラミングを受け取れるようにします。
+ キャッシュ効率を最大化するために、コンテンツセグメントの長い TTL 値を設定する
+ タイムシフト表示をサポートしている場合、キャッシュキーにタイムシフトパラメータを含むキャッシュ動作を設定する
+ キャッシュキーにクエリパラメータを含めて、タイムシフトされた表示リクエストを適切に処理する

詳細な TTL 設定とベストプラクティスについては、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](#cdn-optimize-caching)。

## SSAI とチャネルアセンブリのキャッシュの組み合わせ
<a name="combined-workflow-caching"></a>

チャネルアセンブリと SSAI の両方を実装する場合は、競合を回避し、パフォーマンスを最適化するために、両方のサービスでキャッシュ戦略が一貫していることを確認してください。


**ワークフローキャッシュ設定の組み合わせの比較**  

| コンテンツタイプ | チャネルアセンブリ | SSAI | 複合レコメンデーション | 
| --- | --- | --- | --- | 
| VOD マニフェスト | 5～30 分 | 0 秒 | (別の設定を使用) | 
| ライブマニフェスト | 2～10 秒 | 0 秒 | (別の設定を使用) | 
| SGAI VOD マニフェスト | 5～30 分 | 5～30 分 | 5～30 分 (キャッシュ可能なマニフェスト) | 
| SGAI Live マニフェスト | 2～4 秒 | 2～4 秒 | 2～4 秒 (キャッシュ可能なマニフェスト) | 
| コンテンツセグメント | 24 時間以上 | 24 時間以上 | 24 時間以上 (一定) | 
| 広告セグメント | 24 時間以上 | 24 時間以上 | 24 時間以上 (一定) | 

この設定により、パーソナライズされた広告挿入のためにビューワーがup-to-dateマニフェストを受信できるようにしながら、キャッシュ効率を最大化できます。

# CDN と MediaTailor の統合のルーティング最適化をリクエストする
<a name="cdn-optimize-routing"></a>

すべての AWS Elemental MediaTailor CDN 統合に次のルーティング最適化を実装します。
+ マニフェストリクエストとセグメントリクエストに個別のキャッシュ動作を作成する
+ ヘッダー転送を制御するようにオリジンリクエストポリシーを設定する
+ 適切なエラー処理とフェイルオーバーメカニズムを設定する
+ CDN で使用可能な場合はオリジンシールドを実装して、オリジンの負荷を軽減します。
+ CDN レベルでリクエストの折りたたみを実装して、同時リクエストを効率的に処理する

# CDN と MediaTailor の統合のパフォーマンスベンチマーク
<a name="cdn-performance-benchmarks"></a>

 AWS Elemental MediaTailor CDN 統合を最適化するときは、これらのパフォーマンスベンチマークを目指します。これらのターゲットは、SSAI、チャネルアセンブリ、複合ワークフローを含むすべての MediaTailor 実装に適用されます。

キャッシュヒット率のターゲット  
コンテンツセグメント: 95% を超えるキャッシュヒット率  
広告セグメント: 90% を超えるキャッシュヒット率  
マニフェスト: SSAI には適用されません (パーソナライズされた広告挿入用にキャッシュしないでください）。チャネルアセンブリの場合は 85% 以上

レイテンシーベンチマーク  
マニフェストリクエストのレイテンシー: 100 ミリ秒未満 (P95)  
コンテンツセグメント配信: 50 ミリ秒未満 (P95)  
広告セグメント配信: 75 ミリ秒未満 (P95)  
End-to-endの起動時間: 2 秒未満

オリジンロードメトリクス  
ビューワーあたりのオリジンリクエスト: ビューワーあたり 1 分あたり 0.1 リクエスト未満  
ビューワーあたりのオリジン帯域幅: ビューワー帯域幅全体の 5% 未満

エラーレートのターゲット  
マニフェストエラー: 0.1% 未満  
セグメントエラー: 0.01% 未満  
プレイヤーが報告したリバッファリング: 1% 未満

スケーラビリティベンチマーク  
ピークイベント中にパフォーマンスを低下させることなく通常のトラフィックの 10 倍をサポート  
チャネルあたり 1 秒あたり 1000 件を超えるリクエストを処理する機能

Amazon CloudWatch メトリクスを使用して、これらのパフォーマンス指標を追跡します。詳細なモニタリング手順については、「」を参照してください[モニタリングツールのセットアップ](cdn-monitoring.md#cdn-monitor-tools-setup)。

# CDN と MediaTailor の統合のための高度な最適化手法
<a name="cdn-advanced-optimization"></a>

基本的なキャッシュとルーティングの最適化を実装したら、パフォーマンスをさらに強化するために、以下の高度な手法を検討してください。

## Origin Shield の実装
<a name="origin-shield-optimization"></a>

Origin Shield は、CDN エッジロケーションとオリジンサーバーの間にキャッシュレイヤーを追加し、オリジンの負荷を軽減してパフォーマンスを向上させます。
+ トラフィックの多いコンテンツとライブストリーミングで Origin Shield を有効にする
+ MediaTailor リージョンに近い Origin Shield の場所を選択する
+ Origin Shield キャッシュヒット率をモニタリングし、必要に応じて調整する
+ グローバルデプロイで複数の Origin Shield の場所を検討する

## コンテンツ圧縮の最適化
<a name="compression-optimization"></a>

コンテンツ圧縮を最適化して帯域幅を減らし、配信速度を向上させます。
+ マニフェストファイルの gzip 圧縮を有効にする
+ MediaTailor マニフェスト圧縮の Accept-Encoding ヘッダー転送を設定する
+ サポートされる Brotli 圧縮を使用して帯域幅をさらに節約する
+ 既に圧縮されたビデオセグメントを圧縮しない

## リージョン最適化戦略
<a name="regional-optimization"></a>

リージョン戦略を通じて、グローバルオーディエンスのパフォーマンスを最適化します。
+ グローバルオーディエンス向けに複数のリージョンに MediaTailor 設定をデプロイする
+ ジオルーティングを使用して、最も近い MediaTailor リージョンにビューワーを誘導する
+ 高可用性のためにリージョンフェイルオーバーを設定する
+ リージョン別パフォーマンスメトリクスを個別にモニタリングする

# CDN と MediaTailor の統合に関するアーキテクチャ上の考慮事項
<a name="cdn-architecture-considerations"></a>

最適なパフォーマンスと信頼性を確保するために、コンテンツ配信ネットワーク (CDN) をアーキテクチャに正しく配置します AWS Elemental MediaTailor。推奨されるアーキテクチャでは、CDN は MediaTailor とオリジンではなく、ビューワーと MediaTailor の間に配置されます。

詳細なアーキテクチャ図とワークフローの説明については、以下のトピックを参照してください。
+ [CDN を使用した広告挿入](ssai-cdn-workflow.md) 広告挿入アーキテクチャ図と詳細なワークフロー用
+ [CDN アーキテクチャを理解する](channel-assembly-cdn-architecture.md) チャネルアセンブリのアーキテクチャ図とワークフロー

CDN をアーキテクチャに正しく配置します。

1. プレイヤーと MediaTailor の間に CDN を配置します (MediaTailor とオリジンの間ではありません）。

   このアーキテクチャにより、CDN は広告セグメントとコンテンツセグメントをキャッシュできます。同時に、MediaTailor はビューワーごとにパーソナライズされたマニフェストを生成できます。

1. リクエストタイプごとに個別のキャッシュ動作を作成します。
   + マニフェストリクエスト (キャッシュなし)
   + コンテンツセグメント (長い TTL)
   + 広告セグメント (長い TTL)

1. 適切なエラー処理を設定します。
   + サービス中断中のリクエストの繰り返しでオリジンに負担をかけないように、ネガティブキャッシュ (エラーレスポンスを一時的に保存) を設定します。キャッシュが負の場合、CDN はエラーレスポンス (404 や 500 エラーなど) を一時的に保存し、存在しないコンテンツや一時的に使用できないコンテンツのリクエストが繰り返されるのを防ぎます。
   + 適切なエラーレスポンスコードと再試行動作を設定する

1. 中間キャッシュを実装する (オリジンシールド):

   オリジンシールドは、CDN エッジロケーションとオリジンサーバーの間に追加のキャッシュレイヤーを作成する機能です。これにより、オリジンサーバーに到達する冗長リクエストの数が減少します。
   + エッジロケーションとオリジンの間に中間キャッシュレイヤーを設定する
   + キャッシュミス時のオリジンへの冗長リクエストの数を減らす
   + CDN インフラストラクチャ全体でキャッシュヒット率を向上させる

# MediaTailor の高度な CDN 機能
<a name="advanced-cdn-features"></a>

基本的なコンテンツ配信ネットワーク (CDN) 設定を実装したら、これらの高度な機能を調べて、 AWS Elemental MediaTailor ストリーミングプラットフォームのパフォーマンスと信頼性をさらに強化します。

メディア品質対応ルーティング (MQAR)  
MQAR は、リアルタイムのネットワークパフォーマンスメトリクスに基づいて最高品質のコンテンツソースを自動的に選択する Amazon CloudFront 機能です。固定オリジンサーバーを使用する代わりに、MQAR はレイテンシーやスループットなどの要因に基づいて、最もパフォーマンスの高いオリジンにリクエストを動的にルーティングします。これにより、ネットワークの変動中でも、ビューワーは可能な限り最高の品質のストリームを受信できます。  
Amazon CloudFront を使用する場合は、MQAR を実装して、リアルタイムメトリクスに基づいて最高品質のコンテンツソースを自動的に選択します。詳細については、CloudFront 統合セクション[CloudFront 統合](cloudfront-specific-recommendations.md)の「」を参照してください。

マニフェストでのフィルタリング  
マニフェストフィルタリングを使用すると、MediaTailor がビューワーに配信するマニフェストに含まれるレンディション (同じコンテンツのさまざまな品質バージョン) をカスタマイズできます。フィルタリングは、特定のデバイスやネットワーク条件に適さないレンディションを削除することで、帯域幅の使用を最適化するのに役立ちます。たとえば、モバイルデバイスや低帯域幅接続の 4K レンディションを削除できます。  
を使用したマニフェストフィルタリングの実装の詳細については AWS Elemental MediaPackage、「」を参照してください[MediaPackage CDN 統合](mediapackage-integration.md)。

マルチ CDN 戦略  
マルチ CDN 戦略では、複数の CDN プロバイダーを同時に使用して信頼性とパフォーマンスを向上させます。1 つの CDN で問題が発生した場合、トラフィックは自動的に別のプロバイダーに移行できます。このアプローチは、信頼性が重要な注目度の高いライブイベントに特に役立ちます。  
MediaTailor を使用したマルチ CDN 戦略の実装については、「」を参照してください[CDN 統合を計画する](planning-cdn-integration.md)。

# MediaTailor CDN オペレーションとパフォーマンスのモニタリング
<a name="cdn-monitoring"></a>

 AWS Elemental MediaTailor とコンテンツ配信ネットワーク (CDN) の統合を効果的にモニタリングすることで、信頼性の高いコンテンツ配信、最適なパフォーマンス、迅速な問題検出が可能になります。このモニタリングアプローチは、サーバー側の広告挿入 (SSAI)、チャネルアセンブリ、ワークフローの組み合わせなど、すべての MediaTailor 実装に適用されます。

CDN 統合をモニタリングすると、次のことが可能になります。
+ ビューワーに影響を与える前に問題を検出して解決する
+ 主要なパフォーマンス指標を追跡し、サービス品質を維持する
+ 最適なキャッシュパフォーマンスを維持し、オリジンの負荷を軽減する
+ 広告挿入の成功率がビジネス要件を満たしていることを確認する

モニタリングデータに表示される可能性のあるパラメータ関連の問題のトラブルシューティングについては、「」を参照してください[MediaTailor パラメータのトラブルシューティングガイド](parameter-troubleshooting.md)。クエリパラメータの使用状況をモニタリングする方法については、「」を参照してください[MediaTailor マニフェストクエリパラメータ](manifest-query-parameters.md)。

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

MediaTailor 実装で CDN の有効性を評価するには、これらのコアメトリクスを追跡します。

キャッシュヒット率  
**測定対象**: CDN キャッシュから提供されたリクエストとオリジンから提供されたリクエストの割合。  
**ターゲット値**:  
+ コンテンツセグメント: 95% 以上のキャッシュヒット率
+ 広告セグメント: 90% 以上のキャッシュヒット率
+ マニフェスト: 実装によって異なります (パーソナライズされたマニフェストはキャッシュしないでください)
**重要な理由**: キャッシュヒット率が高いほど、オリジンの負荷が軽減され、応答時間が短縮され、帯域幅コストが削減されます。

オリジンリクエストボリューム  
**測定対象**: MediaTailor オリジンサーバーに到達するリクエストの数。  
**ターゲットパターン**: キャッシュミスや新しいコンテンツが急増することがあるため、低く安定している必要があります。  
**重要な理由**: オリジンリクエスト量が多いとキャッシュの非効率性が示され、MediaTailor のパフォーマンスに影響する可能性があります。

レスポンスレイテンシー  
**測定対象**: CDN がビューワーリクエストに応答する速度。  
**ターゲット値**:  
+ キャッシュされたコンテンツ: 100 ミリ秒未満 (P95)
+ オリジンリクエスト: 500 ミリ秒未満 (P95)
+ マニフェストリクエスト: 100 ミリ秒未満 (P95)
+ セグメントリクエスト: 50 ミリ秒未満 (P95)
**重要な理由**: 低レイテンシーにより、スムーズな再生と良好な視聴体験が保証されます。

エラー率  
**測定対象**: HTTP エラーが発生するリクエストの割合。  
**ターゲット値**:  
+ 4xx エラー: 合計リクエストの 0.1% 未満
+ 5xx エラー: 合計リクエストの 0.01% 未満
+ オリジンエラー: オリジンリクエストの 0.05% 未満
**重要な理由**: エラー率が高い場合は、ビューワーエクスペリエンスに影響する設定の問題またはサービスの問題を示します。

### MediaTailor 固有のメトリクス
<a name="emt-specific-metrics"></a>

これらの MediaTailor メトリクスを CDN メトリクスとともにモニタリングして、完全な可視性を実現します。

広告フィルレート  
**主要なメトリクス**: `Avail.FillRate`および `AdDecisionServer.FillRate`  
**ターゲット値**: 両方のメトリクスで 90% を超える  
**重要な理由**: 広告収益と視聴者のエクスペリエンスに直接影響する

マニフェスト生成パフォーマンス  
**主要なメトリクス**: `GetManifest.Latency`および `GetManifest.Errors`  
**ターゲット値**: レイテンシーが 200 ミリ秒未満、エラー率が 1% 未満  
**重要な理由**: 再生の起動時間と信頼性に影響します

広告決定サーバーのヘルス  
**主要なメトリクス**: `AdDecisionServer.Latency`、`AdDecisionServer.Errors`、および `AdDecisionServer.Timeouts`  
**ターゲット値**: レイテンシーが 1000 ミリ秒未満、エラー率が 5% 未満、最小タイムアウト  
**重要な理由**: ADS のパフォーマンスが広告挿入の成功に直接影響する

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

MediaTailor と CDN の統合を効果的にモニタリングするように、これらのツールを設定します。

### Amazon CloudWatch との統合
<a name="cloudwatch-integration"></a>

Amazon CloudWatch は、MediaTailor と CDN の統合をモニタリングするための基盤を提供します。

MediaTailor メトリクス  
MediaTailor は、リクエスト、レスポンス、エラーを追跡するメトリクスを CloudWatch に自動的に発行します。主なメトリクスには次のものがあります。  
+ `RequestCount`: MediaTailor へのリクエストの合計数
+ `ResponseTime`: MediaTailor レスポンスレイテンシー
+ `4xxErrorCount` および `5xxErrorCount`: エラー追跡
MediaTailor メトリクスの完全なリストについては、「」を参照してください[Amazon CloudWatch メトリクス AWS Elemental MediaTailor によるモニタリング](monitoring-cloudwatch-metrics.md)。

CDN メトリクス  
CloudWatch で以下を含む CDN メトリクス収集を有効にします。  
+ さまざまなコンテンツタイプのキャッシュヒット率
+ オリジンリクエスト数と応答時間
+ ステータスコード別のエラー率
CloudFront 固有のメトリクスについては、ディストリビューション設定で詳細モニタリングを有効にします。

### ダッシュボード設定
<a name="dashboard-configuration"></a>

MediaTailor と CDN のパフォーマンスを可視化するダッシュボードを作成します。

1. **統一されたダッシュボードを作成する**: MediaTailor と CDN メトリクスを単一の CloudWatch ダッシュボードに結合して、完全な可視性を実現します。

1. **ワークフロー別に整理**: 実装タイプ (SSAI、チャネルアセンブリ、または結合ワークフロー) 別にメトリクスをグループ化します。

1. **主要なパフォーマンス指標を含め**ます。
   + キャッシュヒット率の経時的な傾向
   + レスポンスレイテンシーのパーセンタイル (P50、P95, P99)
   + エラー率の傾向とスパイク

ダッシュボード作成の詳細なガイダンスについては、[CloudWatch ダッシュボード](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

### アラート設定
<a name="alert-configuration"></a>

ビューワーに影響を与える前に問題を検出するようにアラートを設定します。

重要なアラート  
重大な問題に対する即時アラートを設定します。  
+ **高エラー率**: 5xx エラーが 5 分間にリクエストの 0.1% を超えた場合に警告
+ **オリジンサーバーの問題**: オリジン応答時間が 2 秒を超えるとアラート
+ **キャッシュヒット率の低下**: キャッシュヒット率がマニフェストの場合は 70%、セグメントの場合は 85% を下回ると警告

警告アラート  
パフォーマンスの低下に関する早期警告アラートを設定します。  
+ **レイテンシーの増加**: P95 応答時間が 200 ミリ秒を超えるとアラート
+ **キャッシュ効率の低下**: セグメントのキャッシュヒット率が 90% を下回った場合のアラート

## 実装チェックリスト
<a name="cdn-monitor-implementation-checklist"></a>

このチェックリストを使用して、包括的なモニタリングカバレッジを確保します。

1. **メトリクスコレクション**:
   + ✓ CloudWatch で有効になっている MediaTailor メトリクス
   + ✓ CDN 詳細モニタリングが有効

1. **ダッシュボードの設定**:
   + ✓ Unified CloudWatch ダッシュボードが作成されました
   + ✓ 適切な時間範囲で視覚化された主要なメトリクス
   + ✓ 関連するチームと共有するダッシュボード

1. **アラート設定**:
   + ✓ 即時通知で設定された重要なアラート
   + ✓ 早期検出用に設定された警告アラート
   + ✓ アラートエスカレーション手順の文書化

1. **運用手順**:
   + ✓ インシデント対応手順の文書化
   + ✓ 定期的なレビュースケジュールの確立
   + ✓ チームトレーニング完了

## 関連トピック
<a name="cdn-monitor-related-topics"></a>

特定のモニタリングシナリオに関する追加のガイダンスについては、以下を参照してください。
+ **パフォーマンスの最適化**: モニタリングデータに基づく詳細な最適化手法については、「」を参照してください[CDN パフォーマンスの最適化](cdn-optimization.md)。
+ **トラブルシューティング**: モニタリングデータを使用した詳細なトラブルシューティング手順については、ワークフロー固有のトラブルシューティングドキュメントを参照してください。
+ **ログ分析**: 包括的なログ分析とモニタリングについては、「」を参照してください[MediaTailor の CDN 統合ログ分析とエラーコードリファレンス](cdn-log-error-reference.md)。

# CDN と MediaTailor の統合のテストと検証
<a name="cdn-integration-testing"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) の統合には、信頼性の高い広告配信と最適なパフォーマンスを保証するための徹底的なテストが必要です。体系的なテストは、統合の問題がビューワーに影響を与える前に特定するのに役立ちます。この包括的なアプローチを使用して、さまざまなシナリオ、設定、ロード条件にわたってコンテンツ配信ネットワークと MediaTailor の統合を検証します。

**関連するトピック:**
+ モニタリングやログ記録などの運用設定については、「」を参照してください。 [CDN モニタリング](cdn-monitoring.md)
+ 問題が発生した場合のトラブルシューティングについては、「」を参照してください。 [CDN 統合のトラブルシューティング](cdn-troubleshooting.md)
+ パフォーマンス最適化のガイダンスについては、「」を参照してください。 [CDN と MediaTailor の統合のパフォーマンス最適化ガイド](cdn-optimization.md)

**Topics**
+ [テストの前提条件](testing-prerequisites.md)
+ [体系的なテスト方法](systematic-testing-approach.md)
+ [デプロイ前チェックリスト](testing-checklist.md)
+ [テストツールのリファレンス](testing-tools-reference.md)

# CDN と MediaTailor の統合の前提条件とセットアップのテスト
<a name="testing-prerequisites"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合テストには、適切な準備とリソース割り当てが必要です。体系的なテストを開始する前に、必要なリソースとツールが整っていることを確認してください。

**必要なリソース:**
+ 本番稼働設定をミラーリングするように設定された CDN ディストリビューションをテストする
+ 既知のコンテンツと広告ソースを使用して MediaTailor 設定をテストする
+ 予測可能な特性 (期間、形式、広告時間枠マーカー) でコンテンツをテストする
+ 広告決定サーバーまたはモック ADS レスポンスをテストする
+ 複数のテストデバイスとプレイヤータイプ

**テストツール:**
+ `curl` HTTP リクエストテスト用
+ `ffprobe` HLS マニフェスト検証用
+ `mp4box` DASH マニフェスト検証用
+ ネットワーク分析用のブラウザ開発者ツール
+ end-to-endのテスト用のビデオプレーヤー

# CDN と MediaTailor の統合の体系的なテスト方法
<a name="systematic-testing-approach"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合テストは、包括的なカバレッジを確保するために、体系的で段階的なアプローチに従う必要があります。この構造化されたアプローチに従って、コンテンツ配信ネットワークと MediaTailor 統合を包括的にテストします。各フェーズは、潜在的な問題を分離するために、前のフェーズに基づいて構築されます。

体系的なテストアプローチに関する追加のガイダンスについては、 AWS 「 Well-Architected フレームワーク」の[「信頼性のテスト](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html)」を参照してください。

## フェーズ 1: MediaTailor の直接接続をテストする
<a name="phase1-direct-emt-testing"></a>

まず、CDN が関与しずに MediaTailor 機能をテストし、ベースラインを確立します。

1. MediaTailor エンドポイントに直接マニフェストリクエストをテストします。
   + HLS マルチバリアントプレイリストリクエストをテストします。 `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"`
   + DASH MPD リクエストをテストします。 `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/dash/config-name/manifest.mpd"`
   + マニフェストレスポンスに予想される広告時間枠マーカーが含まれていることを確認する
   + セグメント URLsオリジンを指していることを確認する

1. 広告挿入が正しく機能することを確認します。
   + さまざまな広告ターゲティングパラメータでテストする
   + 広告セグメントが適切にトランスコードされ、使用可能であることを確認する
   + 広告時間枠のタイミングと期間を確認する
   + 広告が利用できない場合のフォールバック動作のテスト

1. ベースラインパフォーマンスを測定します。
   + マニフェストリクエストの応答時間を記録する
   + 広告決定サーバーの応答時間を測定する
   + セッションの作成と管理をテストする

**成功基準:** すべての直接 MediaTailor リクエストは、予想される広告コンテンツを含むマニフェストが適切にフォーマットされた HTTP 200 レスポンスを返します。

## フェーズ 2: 基本的な CDN 統合をテストする
<a name="phase2-basic-cdn-integration"></a>

CDN をリクエストパスに追加し、基本的な機能をテストします。

1. CDN を使用してマニフェストリクエストをテストします。
   + シンプルなルーティングルールで CDN を設定する
   + CDN エンドポイントを介したマニフェストリクエストのテスト
   + CDN が MediaTailor にリクエストを正しく転送することを確認する
   + マニフェストレスポンスがキャッシュされていないことを確認する (TTL = 0)

1. テストセグメントのルーティング:
   + コンテンツセグメントがオリジンサーバーにルーティングされていることを確認する
   + 広告セグメントが MediaTailor 広告ストレージにルーティングされていることを確認する
   + セグメントキャッシュ動作をテストする

1. CDN と直接パフォーマンスを比較します。
   + 応答時間の差を測定する
   + レスポンスの内容の違いを確認する
   + エラー処理が正しく機能することを確認する

**成功基準:** CDN は、パフォーマンスへの影響を最小限に抑えながらMediaTailor およびオリジンサーバーへのリクエストを正常にプロキシする必要があります。

## フェーズ 3: クエリパラメータの転送をテストする
<a name="phase3-parameter-forwarding"></a>

クエリパラメータ転送を追加し、広告パーソナライゼーションをテストします。

1. CDN でクエリパラメータ転送を設定します。
   + MediaTailor へのすべてのクエリパラメータの転送を有効にする
   + セッションの初期化をテストする (セッション ID は最初のリクエスト時に MediaTailor によって自動的に生成されます)
   + カスタムターゲティングパラメータを使用してテストする

1. 広告のパーソナライゼーションをテストする:
   + 異なるパラメータが異なる広告レスポンスを生成することを確認する
   + テストパラメータのエンコーディングと特殊文字
   + パラメータが ADS に正しく渡されていることを確認します。

1. セッション管理を検証する:
   + セッションの作成と永続性をテストする
   + リクエスト間でセッション ID の整合性を検証する
   + テストセッションの有効期限処理

**成功基準:** 広告コンテンツはクエリパラメータによって異なり、セッションは正しく管理されます。

## フェーズ 4: ヘッダー転送をテストする
<a name="phase4-header-forwarding"></a>

CDN にヘッダー転送を追加し、デバイス固有のターゲットをテストします。

1. すべてのヘッダーのヘッダー転送を設定します。最小要件については、「」を参照してください[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers)。

1. テストデバイスターゲット:
   + さまざまな User-Agent 文字列 (モバイル、デスクトップ、テレビ) でテストする
   + デバイス固有の広告レスポンスを検証する
   + 異なる IP アドレスで地理的ターゲットをテストする

1. CORS 処理を検証する:
   + ウェブプレイヤーの互換性について CORS ヘッダーをテストする
   + プリフライト OPTIONS リクエストが正しく機能することを確認する
   + 異なるドメインからテストする

**成功基準:** デバイスと地理的ターゲティングが正しく動作し、ウェブプレイヤーが CORS エラーに遭遇しないようにする必要があります。

## フェーズ 5: 包括的なシナリオテスト
<a name="phase5-comprehensive-testing"></a>

複数のシナリオでテストして、堅牢なオペレーションを確保します。

1. さまざまなプレイヤータイプでテストします。
   + ウェブブラウザの HLS.js プレイヤー
   + HLS と DASH をサポートする Video.js プレイヤー
   + モバイルデバイスのネイティブプレイヤー
   + スマートテレビとセットトップボックスプレイヤー

1. さまざまなデバイスやプラットフォームでテストします。
   + モバイルデバイス (iOS、Android)
   + デスクトップブラウザ (Chrome、Firefox、Safari、Edge)
   + スマートTVsとストリーミングデバイス
   + 異なるオペレーティングシステムのバージョン

1. さまざまなコンテンツタイプをテストします。
   + ライブストリーミングコンテンツ
   + ビデオオンデマンド (VOD) コンテンツ
   + さまざまな動画形式とビットレート
   + 広告時間枠パターンが異なるコンテンツ

1. 広告ターゲティングシナリオをテストします。
   + さまざまな属性ターゲティングパラメータ
   + 異なるリージョンにわたる地理的ターゲティング
   + 時間ベースのターゲティング (異なる時刻)
   + カスタムビジネスロジックパラメータ

**成功基準:** プレイヤーとデバイスの組み合わせはすべて、適切な広告ターゲティングで正しく機能する必要があります。

## フェーズ 6: 負荷とパフォーマンスのテスト
<a name="phase6-load-performance-testing"></a>

現実的な負荷条件下でパフォーマンスを検証します。

**重要**  
**負荷テストの前に、[AWS サポート](https://aws.amazon.com/premiumsupport/)にお問い合わせください。**負荷テストとパフォーマンステストを実行する前に、 AWS サポートチケットを作成して、計画されたテストを MediaTailor サービスチームに通知します。これにより、以下が保証されます。  
サービスは予想される負荷レベルに対して準備されています
テストウィンドウ中に適切な容量が利用可能である
テストが本番稼働用インシデントと間違われない
テストのベストプラクティスと制限に関するガイダンスを受け取る
サポートチケットに、予想される同時ユーザー、テスト期間、地理的リージョン、テストする予定の特定のシナリオを含めます。

1. 同時ユーザーシナリオをテストします。
   + 複数の同時ビューワーをシミュレートする
   + CDN スケーリングとキャッシュのパフォーマンスをテストする
   + ロード中のオリジンサーバーのパフォーマンスをモニタリングする
   + MediaTailor が同時セッションを処理できることを確認する

1. パフォーマンスメトリクスを測定します。
   + ロード中の応答時間をモニタリングする
   + キャッシュヒット率が期待を満たしていることを確認する (一般的なコンテンツでは>80%)
   + さまざまなシナリオで最初のフレームまでの時間を測定する
   + ピークロード中のエラー率を追跡する

1. フェイルオーバーシナリオをテストします。
   + ADS が使用できない場合の動作をテストする
   + オリジンサーバーのフェイルオーバーをテストする
   + エラー処理と復旧を検証する
   + CDN エッジロケーションフェイルオーバーをテストする

**成功基準:** システムは、予想される負荷下で許容可能なパフォーマンスを維持し、障害発生時に適切に低下させる必要があります。AWS [サポート](https://aws.amazon.com/premiumsupport/)に連絡し、実行前にロードテストプランを承認してください。

# CDN と MediaTailor の統合に関するデプロイ前テストチェックリスト
<a name="testing-checklist"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合は、本番デプロイ前に包括的なテストに合格する必要があります。設定変更を本番環境にデプロイする前に、このチェックリストを使用してください。

**基本的な機能:**
+ ☐ マニフェストリクエストが HTTP 200 レスポンスを返す
+ ☐ コンテンツセグメントが正しくロードされる
+ ☐ 広告セグメントが正しくロードされる
+ ☐ 広告時間枠が予想される時間に表示される
+ ☐ 再生はコンテンツと広告の間でスムーズに移行します

**設定の検証:**
+ ☐ クエリパラメータが正しく転送される
+ ☐ 必要なヘッダーが正しく転送されている
+ ☐ マニフェストキャッシュが無効になっている (TTL = 0)
+ ☐ セグメントキャッシュが適切に設定されている
+ ☐ CORS ヘッダーはウェブプレイヤー用に設定されています

**クロスプラットフォームテスト:**
+ ☐ モバイルデバイスでテスト済み
+ ☐ デスクトップブラウザでテスト済み
+ ☐ さまざまなプレイヤータイプでテスト済み
+ ☐ HLS 形式と DASH 形式の両方をテスト済み

**パフォーマンス検証:**
+ ☐ロードテストの承認用に作成された AWS サポートチケット
+ ☐ 応答時間がパフォーマンス目標を達成する
+ ☐ キャッシュヒット率は許容されます
+ ☐ エラー率が許容範囲内
+ ☐ モニタリングとアラートが設定されている

# CDN および MediaTailor 統合のテストツールとユーティリティのリファレンス
<a name="testing-tools-reference"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合テストには、包括的な検証とデバッグのためのさまざまなツールが必要です。コンテンツ配信ネットワークおよび MediaTailor 統合テストで一般的に使用されるツールのリファレンスガイド。

`curl` - HTTP リクエストテスト  
テストマニフェストリクエスト: `curl -v "https://your-cdn-domain.com/v1/master/hls/config/master.m3u8"`  
ヘッダーを使用してテストします。 `curl -H "User-Agent: TestAgent/1.0" "https://your-cdn-domain.com/..."`  
パラメータを使用してテストします。 `curl "https://your-cdn-domain.com/...?aws.sessionId=test123"`

`ffprobe` - HLS マニフェストの検証  
HLS 構文を検証します。 `ffprobe -v quiet -print_format json -show_format "https://your-cdn-domain.com/master.m3u8"`  
セグメント情報を確認します。 `ffprobe -v quiet -show_entries packet=pts_time "segment.ts"`

`mp4box` - DASH マニフェストの検証  
DASH MPD を検証する: `mp4box -info "https://your-cdn-domain.com/manifest.mpd"`  
セグメントのタイミングを確認します。 `mp4box -info segment.m4s`

ブラウザ開発者ツール  
ネットワークタブでネットワークリクエストをモニタリングする  
コンソールタブで CORS エラーを確認する  
リクエスト/レスポンスヘッダーの検査  
タイミングとパフォーマンスのメトリクスを分析する

**その他のリソース:**
+ [CloudFront のトラブルシューティング](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Troubleshooting.html) - 包括的な CDN トラブルシューティングガイド
+ [CloudFront キャッシュヒット率の向上](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) - パフォーマンス最適化ガイダンス
+ [AWS リソースのモニタリング](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/monitor-aws-resources.html) - パフォーマンスモニタリングのベストプラクティス

# MediaTailor と CDN の統合に関する問題のトラブルシューティング
<a name="cdn-troubleshooting"></a>

この包括的なトラブルシューティングガイドでは、サーバー側の広告挿入 (SSAI)、チャネルアセンブリ、統合など、すべての AWS Elemental MediaTailor 実装における一般的なコンテンツ配信ネットワーク (CDN) AWS Elemental MediaPackage 統合の問題について説明します。CDN と MediaTailor の統合で問題が発生した場合は、この体系的な診断アプローチを使用して根本原因をすばやく特定し、検証済みのソリューションを実装します。

このガイドは、特定のワークフローに関係なく、すべての MediaTailor CDN 統合に適用されます。特定のサービスまたはワークフローに固有の問題については、このガイドの最後にある関連するトラブルシューティングセクションを参照してください。

**開始する前に、**以下の項目を効率的なトラブルシューティングに備えてください。
+ 問題を示すサンプル再生 URLs 
+ 問題が発生した期間の CDN アクセスログ
+ MediaTailor 設定名と AWS リージョン
+ プレイヤーのタイプとバージョン (HLS.js 1.4.0、Video.js 8.0 など)
+ 問題が発生するデバイスとブラウザの情報

**関連するトピック:**
+ 運用セットアップとトラブルシューティングの準備については、「」を参照してください。 [CDN 統合のトラブルシューティング](#cdn-troubleshooting)
+ ログ分析とエラーコードリファレンスについては、「」を参照してください。 [CDN 統合ログ分析リファレンス](cdn-log-error-reference.md)
+ エスカレーションと追加のヘルプについては、「」を参照してください。 [CDN 統合のサポートを受ける](cdn-get-help.md)

# MediaTailor と CDN 統合の診断チェックリスト
<a name="quick-diagnostic-checklist"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合の問題は、さまざまな方法で現れる可能性があります。このチェックリストを使用して、発生している問題のタイプをすばやく特定します。

1. **問題はすべてのビューワーまたは特定のビューワーに影響を与えていますか?**
   + すべてのビューワー → CDN または MediaTailor の設定に関する問題の可能性
   + 特定の視聴者 → パーソナライゼーションまたはターゲティングの問題の可能性

1. **マニフェストが正しくロードされていますか?**
   + いいえ → CDN ルーティングまたは MediaTailor 接続の問題
   + はい、ただし間違ったコンテンツ → キャッシュまたはパーソナライゼーションの問題

1. **セグメントは正しくロードされていますか?**
   + コンテンツセグメントが失敗 → オリジン接続の問題
   + 広告セグメントが失敗 → 広告配信またはトランスコードの問題

1. **広告が正しく挿入されていますか?**
   + 広告が表示されない → ADS の接続と設定を確認する
   + 間違った広告が表示される → 広告ターゲティングパラメータとパーソナライゼーションを確認する
   + 広告の再生に失敗 → 広告トランスコーディングとセグメントの可用性を確認する

1. **再生はスムーズで中断されませんか?**
   + バッファリングの問題 → CDN キャッシュのパフォーマンスとオリジン応答時間を確認する
   + 再生エラー → マニフェスト構文とセグメントの可用性を確認する
   + 広告移行の問題 → 広告時間枠のタイミングとセグメントの調整を確認する

1. **特定のエラーコードやメッセージはありますか?**
   + HTTP 4xx エラー → CDN のルーティングと設定を確認する
   + HTTP 5xx エラー → オリジンサーバーと MediaTailor サービスの状態を確認する
   + プレイヤー固有のエラー → マニフェスト形式とプレイヤーの互換性を確認する

**診断に基づく次のステップ:**

CDN 設定の問題  
CDN ルーティングとキャッシュのトラブルシューティングの詳細については、「」を参照してください[MediaTailor と CDN の統合に関する問題のトラブルシューティング](cdn-troubleshooting.md)。

マニフェストと再生の問題  
マニフェストの検証と再生のトラブルシューティングについては、「」を参照してください[CDN 統合テスト手順](cdn-testing-procedures.md)。

広告挿入とターゲティングの問題  
ADS 接続や広告配信などの広告固有のトラブルシューティングについては、ワークフロー固有のトラブルシューティングドキュメントを参照してください。

パフォーマンスとモニタリングの問題  
パフォーマンス分析とモニタリングの設定については、「」を参照してください[MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)。

ログ分析とエラーコード  
詳細なログ分析とエラーコードリファレンスについては、「」を参照してください[MediaTailor の CDN 統合ログ分析とエラーコードリファレンス](cdn-log-error-reference.md)。

テストと検証  
包括的なテスト手順については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。

すぐにサポートが必要な場合、またはリンクされたリソースを使用して問題を解決できない場合は、エスカレーション手順[CDN と MediaTailor の統合のサポートとトラブルシューティングのヘルプを取得する](cdn-get-help.md)について「」を参照してください。

# CDN 統合テスト手順
<a name="cdn-testing-procedures"></a>

MediaTailor CDN 統合を本番環境にデプロイする前に、適切なテストが不可欠です。これらのテスト手順は、さまざまなデバイスやプラットフォームの設定の問題、パフォーマンスの問題、互換性の問題を特定するのに役立ちます。

## 基本的な統合検証
<a name="basic-integration-testing"></a>

CDN 統合が正しく機能していることを確認するには、以下の基本的なテストを実行します。

1. **テストマニフェスト配信**:
   + CDN を介してマニフェストをリクエストし、有効なレスポンスが返されることを確認する
   + マニフェストに予想されるコンテンツと広告挿入ポイントが含まれていることを確認する
   + マニフェスト URLsオリジンではなく CDN ドメインを使用していることを確認する
   + HLS または DASH 検証ツールを使用してマニフェスト構文を検証する

1. **URL の書き換えを確認します**。
   + マニフェスト内のコンテンツセグメント URLs が CDN ドメインを指していることを確認する
   + 広告セグメント URLs CDN ドメインを指していることを確認する
   + すべての相対 URLsが適切に解決されていることを確認します。

1. **コンテンツの再生をテスト**する:
   + ビデオプレイヤーを介してコンテンツを再生し、スムーズ再生を検証する
   + コンテンツと広告の両方が中断なく再生されることを確認する
   + コンテンツと広告の適切な遷移を確認する
   + 検索機能とスクラブ機能をテストする

1. **CDN ルーティングを検証**します。
   + CDN アクセスログをモニタリングして、リクエストが正しくルーティングされていることを確認します。
   + キャッシュヒット/ミスパターンが想定どおりであることを確認する
   + オリジンリクエストがキャッシュミスに対してのみ発生することを確認する

## 高度なテスト手順
<a name="advanced-integration-testing"></a>

包括的な検証のために、以下の追加テストを実行します。

1. **クロスプラットフォーム互換性テスト**:
   + 複数のデバイス (デスクトップ、モバイル、タブレット、スマートテレビ) でテストする
   + さまざまなブラウザ間の互換性を検証する
   + さまざまなビデオプレイヤー (HLS.js、Video.js、ネイティブプレイヤー) でテストする
   + さまざまなオペレーティングシステムで検証する

1. **パフォーマンステスト**:
   + マニフェストリクエストの応答時間を測定する (ターゲット: キャッシュの場合は <100ms)
   + さまざまなビットレートでセグメントのロードパフォーマンスをテストする
   + 起動時間がパフォーマンス目標を満たしていることを確認する
   + さまざまなネットワーク条件でテストする

1. **広告追跡の検証**:
   + 広告追跡ビーコンが正しく起動することを確認する
   + 広告分析データの精度を確認する
   + テストインプレッションと完了の追跡
   + クリックスルー機能を検証する

1. **エラー条件テスト**:
   + オリジンが一時的に使用できない場合のテスト動作
   + 不正な形式のリクエストの正常な処理を検証する
   + CDN フェイルオーバーシナリオをテストする
   + エラーメッセージの明確性と有用性を検証する

## テスト環境を作成する
<a name="test-environment-setup"></a>

包括的な検証のために、本番稼働用設定をミラーリングするテスト環境を設定します。

1. テスト用に個別の CDN ディストリビューションを設定します。
   + 本番環境と同じキャッシュ動作でテスト CDN ディストリビューションを作成する
   + 本番稼働用セットアップを反映するテストオリジンを設定する
   + 個別のドメイン名を使用して、本番トラフィックとの競合を回避する

1. テスト MediaTailor 設定を作成します。
   + 本番環境と同じ設定でテスト再生設定をセットアップする
   + テスト広告決定サーバーエンドポイントを設定する
   + 本番広告形式に一致するテスト広告コンテンツを使用する

1. 体系的なテストプロセスを実装します。
   + 設定変更のテストチェックリストを作成する
   + チームのテスト手順を文書化する
   + 可能な場合は自動テストを設定する

## 複数のシナリオでテストする
<a name="multi-scenario-testing"></a>

さまざまなシナリオや条件にわたって統合を検証し、包括的なカバレッジを確保します。

1. 複数のプレイヤータイプとデバイスでテストします。
   + さまざまなビデオプレイヤー (ウェブ、モバイル、コネクテッド TV) でテストする
   + さまざまなオペレーティングシステムとブラウザで検証する
   + さまざまなネットワーク条件と接続速度でテストする

1. 自動テストスクリプトを作成します。
   + マニフェストリクエストの検証を自動化する
   + 広告挿入シナリオをテストするスクリプトを作成する
   + トラフィックの多いシナリオのパフォーマンステストを実装する

1. 広告ターゲティングとパーソナライゼーションを検証する:
   + さまざまなユーザープロファイルとターゲティングパラメータを使用してテストする
   + 広告決定サーバー統合を検証する
   + 広告が利用できない場合のフォールバックシナリオのテスト

## ツールと手法のテスト
<a name="testing-tools-techniques"></a>

効果的なテストには、以下のツールと手法を使用します。

ブラウザ開発者ツール  
ネットワークタブを使用して HTTP リクエストとレスポンスを検査する  
コンソールで JavaScript エラーと警告をモニタリングする  
レスポンスヘッダーとキャッシュ動作を検証する  
パフォーマンス分析のタイミング情報を確認する

コマンドラインテスト  
curl を使用して特定の URLsテストし、ヘッダーを検査します。  

```
curl -I "https://your-cdn-domain.com/path/to/manifest.m3u8"
```
ダウンロードテストとタイミング分析に wget を使用する  
より読みやすい HTTP テストのために httpie などのツールを採用する

ビデオプレイヤーのテスト  
複数のプレイヤー実装でテストする  
プレイヤーデバッグモードを使用して内部動作を検査する  
プレイヤーイベントとエラーコールバックをモニタリングする  
適応ビットレートの切り替え動作を検証する

CDN の分析とモニタリング  
テスト中にリアルタイムの CDN メトリクスをモニタリングする  
リクエストパターンのアクセスログを確認する  
利用可能な場合は CDN 固有のテストツールを使用する  
テスト検証用の一時的なアラートを設定する

その他の包括的なテスト方法と体系的な検証アプローチについては、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。

# MediaTailor の CDN マニフェスト 404 エラーのトラブルシューティング
<a name="common-integration-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) マニフェスト 404 エラーは、再生の開始を妨げる一般的な統合の問題です。このセクションでは、マニフェスト配信の失敗をstep-by-stepトラブルシューティングします。

多変量プレイリスト、メディアプレイリスト、または MPD リクエストが 404 エラーを返す  
**クイック修正 (最初に試す):**  

1. URL の MediaTailor 設定名が完全に一致することを確認します (大文字と小文字が区別されます)

1. CDN なしで MediaTailor に対してマニフェスト URL を直接テストします。 `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"`

1. 直接テストが機能する場合は、CDN ルーティングルールでマニフェストリクエストを確認します。
**クイック修正が機能しない場合:**  
**症状:** プレイヤーは再生の開始に失敗し、マニフェストリクエストは CDN ログに HTTP 404 エラーを返します。  
**エラーメッセージの例:**  
+ ブラウザコンソール: `"Failed to load resource: the server responded with a status of 404 (Not Found)"`
+ プレイヤーエラー: `"MANIFEST_LOAD_ERROR"`または `"NETWORK_ERROR"`
+ CDN ログ: `GET /v1/master/hls/example-config/master.m3u8 404`
**解決策:**  
マルチバリアントプレイリスト、メディアプレイリスト、MPD リクエストを MediaTailor に転送するように CDN ルーティングルールが正しく設定されていることを確認します。  
MediaTailor 設定が存在し、正しく設定されていることを確認します。  
CDN 動作パターンが予想されるマニフェストリクエストパス (、 など`*.mpd`) `*.m3u8`と一致することを確認します。

# MediaTailor の CDN マニフェスト配信の問題とエラーを診断する
<a name="diagnose-manifest-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) マニフェスト配信の問題により、広告の適切な挿入と再生が妨げられる可能性があります。視聴者が多変量プレイリスト、メディアプレイリスト、または MPDs で不正確または一貫性のない広告を受け取った場合:

1. キャッシュされたマニフェストを確認します。
   + すべてのマルチバリアントプレイリスト、メディアプレイリスト、MPD パスの TTL 設定が 0 に設定されていることを確認します。
   + TTL 設定にもかかわらず、CDN が多変量プレイリスト、メディアプレイリスト、または MPDsキャッシュしていないことを確認します。
   + CDN ログのキャッシュステータスを確認する - マニフェストリクエストには、 ではなく `RefreshHit``Miss`または が表示されます `Hit`

1. CDN ルーティング設定を確認します。
   + マニフェストリクエストが、オリジンからキャッシュまたは配信されるのではなく、MediaTailor エンドポイントにルーティングされていることを確認します。
   + CDN 動作パターンがマニフェストパス (\$1.m3u8、\$1.mpd) と正しく一致することを確認します。
   + クエリパラメータがパーソナライズのために MediaTailor に転送されていることを確認する
   + MediaTailor に対してマニフェスト URLsを直接テストして CDN とサービスの問題を切り分ける

1. ヘッダー転送設定を確認します。
   + 必要なヘッダーが転送されていることを確認する (「」を参照[MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers))
   + User-Agent ヘッダーがデバイス固有の広告ターゲティングに転送されることを確認する
   + X-Forwarded-For ヘッダーがジオターゲティングに転送されていることを確認します
   + Accept-Encoding ヘッダーが圧縮サポートのために転送されていることを確認する

1. マニフェストの内容と構造を検証します。
   + マニフェストに予想される広告挿入マーカーが含まれていることを確認する (HLS の場合は EXT-X-CUE-OUT/IN)
   + マニフェストのセグメント URLsオリジンドメインではなく CDN ドメインを使用していることを確認する
   + 広告セグメントが正しく挿入され、アクセス可能であることを確認する
   + 検証ツールを使用してマニフェスト構文をテストする (HLS の場合は ffprobe、DASH の場合は mp4box)

1. さまざまなシナリオをテストします。
   + さまざまなセッション IDsでテストして、パーソナライゼーションが機能していることを検証する
   + さまざまな地理的場所からテストしてジオターゲティングを検証する
   + さまざまな User-Agent 文字列を使用してテストし、デバイスのターゲット設定を検証する
   + CDN の有無にかかわらずマニフェストレスポンスを比較して違いを特定する

**その他のトラブルシューティングリソース:**
+ CDN キャッシュ設定の詳細については、「」を参照してください。 [CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)
+ 包括的な CDN ルーティング設定については、「」を参照してください。 [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)
+ ヘッダー転送の要件については、「」を参照してください。 [MediaTailor CDN 統合に必要なヘッダー](cdn-configuration.md#cdn-required-headers)
+ ログ分析とエラーコードについては、「」を参照してください。 [MediaTailor の CDN 統合ログ分析とエラーコードリファレンス](cdn-log-error-reference.md)
+ テスト手順と検証については、「」を参照してください。 [CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)

**成功基準:** 解決すると、プレイヤーは正常に再生を開始し、広告が期待どおりに表示されるはずです。マニフェストリクエストは CDN ログで HTTP 200 ステータスコードを返し、マニフェストには適切にパーソナライズされた広告コンテンツを含める必要があります。

# MediaTailor の CDN セグメントの配信とロードに関する問題のトラブルシューティング
<a name="diagnose-segment-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) セグメント配信の問題により、バッファリングと再生が中断される可能性があります。プレイヤーがセグメントをロードできない場合、またはバッファリングを経験できない場合:

1. CDN ルーティングルールを確認します。
   + コンテンツセグメントが正しいオリジンにルーティングされていることを確認する
   + 広告セグメントが正しい MediaTailor 広告ストレージロケーションにルーティングされていることを確認します。
   + セグメントファイルの拡張子が CDN 動作パターンと一致することを確認する
   + マニフェストURLs が正しい CDN ドメインを使用していることを確認する
   + ルーティングと動作のパスパターンを設定する詳細な手順については、「」を参照してください。 [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)

1. CORS 設定を確認します。
   + ウェブプレイヤーの場合は、CDN が CORS ヘッダーを通過しているか、適切に設定されていることを確認します。
   + ブラウザ開発者ツールを使用してテストし、CORS 関連のエラーを特定する
   + プリフライト OPTIONS リクエストが正しく処理されていることを確認する

1. セグメントのアクセシビリティとパフォーマンスをテストします。
   + 個々のセグメント URLs を直接テストしてアクセス可能であることを確認する
   + セグメントの応答時間を確認し、パフォーマンスのボトルネックを特定する
   + セグメントファイルのサイズが帯域幅ターゲットに適していることを確認する
   + さまざまな地理的場所からのセグメントロードをテストする

1. セグメントの CDN キャッシュ動作を検証します。
   + コンテンツセグメントに適切な TTL 設定がある (通常はマニフェストより長い) ことを確認する
   + 広告セグメントがパーソナライゼーション要件に基づいて適切にキャッシュされていることを確認する
   + コンテンツセグメントと広告セグメントの両方のキャッシュヒット率をモニタリングする
   + キャッシュキーにキャッシュ効率を低下させる不要なパラメータが含まれていないことを確認する

1. オリジンサーバーの接続性と状態を確認します。
   + オリジンサーバーがセグメントリクエストに正しく応答していることを確認する
   + ロード中のオリジンサーバーの容量と応答時間を確認する
   + オリジンサーバーに期待されるセグメントファイルが使用可能であることを確認する
   + 複数のオリジンが設定されている場合のオリジンフェイルオーバーシナリオのテスト

1. 広告セグメント固有の問題をトラブルシューティングします。
   + 広告セグメントが適切にトランスコードされ、MediaTailor で使用できることを確認する
   + マニフェストで広告セグメント URLsが正しく生成されていることを確認します。
   + さまざまな広告ターゲティングパラメータを使用して広告セグメントのロードをテストする
   + セグメントが利用できなくなる可能性のある広告トランスコーディングの遅延をモニタリングする

1. プレイヤーの互換性と動作を検証します。
   + さまざまなプレイヤータイプとバージョンでセグメントのロードをテストする
   + プレイヤーバッファ設定とセグメントリクエストパターンを確認する
   + 失敗したセグメントリクエストのプレイヤーエラー処理を検証する
   + 適応ビットレート切り替えとセグメント選択ロジックをテストする

**その他のトラブルシューティングリソース:**
+ CDN のルーティングと動作の設定については、「」を参照してください。 [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)
+ CDN キャッシュの最適化については、「」を参照してください。 [CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)
+ CORS 設定ガイダンスについては、「」を参照してください。 [MediaTailor の CDN 統合セキュリティのベストプラクティス](cdn-security-best-practices.md)
+ パフォーマンスのモニタリングと分析については、「」を参照してください。 [MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)
+ 包括的なテスト手順については、「」を参照してください。 [CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)
+ ログ分析とエラー診断については、「」を参照してください。 [MediaTailor の CDN 統合ログ分析とエラーコードリファレンス](cdn-log-error-reference.md)

**成功基準:** 解決されると、プレイヤーは中断をバッファリングせずにセグメントをスムーズにロードする必要があります。セグメントリクエストは、適切な応答時間で HTTP 200 ステータスコードを返し、コンテンツセグメントと広告セグメントの両方にアクセスして適切にキャッシュする必要があります。

# MediaTailor の CDN セッション管理と追跡の問題を修正
<a name="diagnose-session-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) セッション管理は、広告のパーソナライゼーションと追跡を適切に行うために不可欠です。セッション関連のエラーが発生したり、リクエスト間で動作に一貫性がない場合:

1. セッション ID の整合性を確認します。
   + プレイヤーが 1 回の再生セッションのすべてのリクエストで同じセッション ID を維持していることを検証する
   + CDN ログをチェックして、セッション IDsが正しく転送されていることを確認します。
   + セッション IDsクエリパラメータで適切に URL エンコードされていることを確認します。
   + CloudWatch Logs を使用して、リクエスト間でセッション ID の整合性を検証する (以下の検証ステップを参照)

1. セッションの初期化を検証する:
   + 最初のマニフェストリクエストが正常にセッションを作成することを確認する
   + セッションパラメータの適切な転送を確認する (例: `aws.sessionId`)
   + デバッグログを使用してセッションの初期化を検証する (以下のデバッグログの設定を参照)

1. 詳細なセッショントラブルシューティングのためにデバッグログ記録を有効にします。
   + **サーバー側のレポートの場合: **再生リクエスト`?aws.logMode=DEBUG`に を追加します。

     ```
     GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG
     ```
   + **クライアント側のレポートの場合: **セッション初期化リクエスト本文`"logMode": "DEBUG"`に を含める
   + **重要:** `DEBUG`値は大文字と小文字が区別されます
   + 最大 10 のアクティブなデバッグセッションを同時に許可

1. CloudWatch Logs クエリを使用してセッション動作を検証します。
   + **デバッグセッションがアクティブであることを確認します。**

     ```
     fields @timestamp, @message
     | filter sessionId = "your-session-id-here"
     | filter eventType = "SESSION_INITIALIZED" # client-side reporting
     or mediaTailorPath like "/v1/master" # server-side reporting HLS
     or mediaTailorPath like "/v1/dash" # server-side reporting DASH
     ```
   + **セッションのすべてのイベントを表示します。**

     ```
     fields @timestamp, @message, eventType, mediaTailorPath
     | filter sessionId = "your-session-id-here"
     | sort @timestamp asc
     ```
   + **セッションのマニフェスト生成を確認します。**

     ```
     fields @timestamp, responseBody, @message
     | filter mediaTailorPath like "/v1/master/" and eventType = "GENERATED_MANIFEST" and sessionId = "your-session-id-here"
     ```

1. CDN を介したセッションパラメータ転送をテストします。
   + MediaTailor に対してセッションパラメータを使用してマニフェストリクエストを直接テストする (CDN をバイパス)
   + CDN の有無にかかわらずセッション動作を比較して転送の問題を特定する
   + CDN クエリパラメータ転送設定にセッション関連のパラメータが含まれていることを確認する
   + CDN がセッション固有のレスポンスをキャッシュしないことを確認する

**一般的なセッションエラーメッセージ:**
+ `ConflictException` (HTTP 409) - 同じセッションに対する複数の同時プレイリストリクエスト。**解決策:** HLS 仕様に従ってプレイヤーがプレイリストを一度に 1 つずつリクエストすることを確認する
+ `NotFoundException` (HTTP 404) - セッションが使用できないか、設定が存在しません。**解決策:** 設定の有効性を確認し、セッションを再初期化する
+ `BadRequestException` (HTTP 400) - 無効なセッション ID または不適切な形式のリクエスト。**解決策:** リクエストのフォーマットとセッション ID の有効性を検証する

**その他のトラブルシューティングリソース:**
+ デバッグログの設定とフィールドリファレンスの詳細については、「」を参照してください。 [AWS Elemental MediaTailor デバッグログの生成](debug-log-mode.md)
+ CloudWatch Logs クエリの例とログ分析については、「」を参照してください。 [Amazon CloudWatch Logs に直接 AWS Elemental MediaTailor ログを書き込む](monitoring-cw-logs.md)
+ CDN クエリパラメータ転送設定については、「」を参照してください。 [MediaTailor の CDN ルーティング動作を設定する](cdn-routing-behaviors.md)
+ 包括的なエラーコードリファレンスについては、「」を参照してください。 [MediaTailor からの再生のトラブルシューティング](playback-errors.md)

**成功基準:** 解決されると、セッションは正しく初期化され、リクエスト間で一貫したセッション IDsが維持され、デバッグログにはエラーなしで適切な`SESSION_INITIALIZED`イベントとマニフェスト生成が表示されます。

# MediaTailor の CDN 広告時間枠のタイミングと同期の問題を解決する
<a name="diagnose-timing-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 広告時間枠のタイミングは、コンテンツマーカーと正確に同期する必要があります。広告が間違ったタイミングで表示される場合、または広告時間枠のタイミングに一貫性がない場合:

1. コンテンツ内の広告ブレークマーカーを確認します。
   + SCTE-35 マーカーがオリジンコンテンツに正しく配置されていることを確認します。
   + 広告時間枠の期間が実際の広告コンテンツの長さと一致することを確認する
   + 広告時間枠のタイミングがコンテンツ境界と一致していることを確認する
   + オリジンマニフェストで SCTE-35 マーカーの形式とタイミングの精度を検証する
   + さまざまなコンテンツタイプ (ライブと VOD) で広告ブレークマーカーをテストする

1. CDN キャッシュがタイミングに与える影響を確認します。
   + タイミングドリフトを防ぐために、マニフェスト TTL が 0 に設定されていることを確認します。
   + 時間的制約のあるパラメータがキャッシュされていないことを確認する
   + コンテンツソース、MediaTailor、CDN 間のクロック同期の問題を確認する
   + 長時間実行されるライブストリームのタイミングドリフトをモニタリングする
   + CDN エッジサーバーと NTP の時刻同期を検証する

1. SCTE-35 マーカーの実装を検証します。
   + EXT-X-DATERANGE タグに適切な SCTE35-OUT および DURATION 仕様が含まれていることを確認する
   + 明示的なキューインタイミングを使用する場合は、SCTE35-OUT マーカーと SCTE35-IN マーカーのペアを確認します。
   + START-DATE タイムスタンプが実際のコンテンツのタイミングと一致することを確認する
   + さまざまな SCTE-35 マーカー形式 (期間ベースマーカーとペアマーカー) をテストする

1. さまざまなシナリオで広告時間枠のタイミングをテストします。
   + 広告時間枠のタイミングと直接 MediaTailor リクエストと CDN リクエストを比較する
   + さまざまな CDN エッジロケーション間でタイミングの一貫性をテストする
   + さまざまなプレイヤータイプとバッファ動作で広告時間枠のタイミングを検証する
   + ピークトラフィック期間中のタイミング精度をモニタリングする

1. ログとモニタリングを使用してタイミングの問題をデバッグします。
   + デバッグログを有効にして広告時間枠処理のタイミングを追跡する
   + 広告挿入タイミングパターンの CloudWatch メトリクスをモニタリングする
   + CDN ログでタイミング関連のリクエストパターンを確認する
   + プレイヤーデバッグツールを使用して、クライアントの観点から広告時間枠のタイミングを検証する

**予想されるタイミング許容値:**
+ 広告時間枠のタイミングは、コンテンツ内の SCTE-35 マーカーと一致する必要があります
+ 広告期間は、広告決定サーバーのレスポンスで指定された期間と一致する必要があります
+ コンテンツソース、MediaTailor、CDN 間のクロック同期は 1 秒以内である必要があります
+ SCTE-35 マーカーのタイミングは、実際のコンテンツタイミングから 100 ミリ秒以内の精度である必要があります

**その他のトラブルシューティングリソース:**
+ SCTE-35 マーカーの形式と実装については、「」を参照してください。 [MediaTailor 広告挿入用のコンテンツソースの統合](integrating-origin.md)
+ デバッグログの設定とタイミング分析については、「」を参照してください。 [AWS Elemental MediaTailor デバッグログの生成](debug-log-mode.md)
+ CDN キャッシュの設定とタイミングへの影響については、「」を参照してください。 [CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)
+ タイミング検証を含む包括的なテスト手順については、「」を参照してください。 [CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)
+ 広告挿入のタイミングとパフォーマンスのモニタリングについては、「」を参照してください。 [MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)

**成功基準:** 解決すると、広告ブレークは SCTE-35 マーカーで指定された時刻に正確に表示され、すべての CDN エッジロケーションとプレイヤータイプで一貫したタイミングになります。デバッグログには、ドリフトや同期エラーなしで正確な広告時間枠処理のタイミングが表示されます。

# MediaTailor の CDN パフォーマンスを最適化し、レイテンシーの問題を解決する
<a name="diagnose-performance-issues"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) の統合パフォーマンスは、視聴者のエクスペリエンスと広告配信品質に直接影響します。応答時間が遅い、またはパフォーマンスが低下した場合:

## パフォーマンス測定手法
<a name="performance-measurement-techniques"></a>

パフォーマンスの問題をトラブルシューティングする前に、ベースライン測定値と継続的なモニタリングを確立します。

1. 主要なパフォーマンスメトリクスを測定します。
   + **応答時間:** マニフェストリクエストは 200 ミリ秒以内に完了し、セグメントリクエストは 100 ミリ秒以内に完了する必要があります
   + **キャッシュヒット率:** コンテンツセグメント >95%、広告セグメント >90%
   + **オリジンリクエストボリューム:** キャッシュが最適化されている場合、合計リクエストの 5% 未満である必要があります
   + **最初のフレームまでの時間:** 初期再生は 2～3 秒以内に開始する必要があります

1. パフォーマンス測定ツールを使用します。
   + **CDN 分析ダッシュボード:** キャッシュパフォーマンス、応答時間、エラー率のモニタリング
   + **CloudWatch メトリクス:** GetManifest.Latency を含む MediaTailor サービスメトリクスを追跡する
   + **ブラウザ開発者ツール:** クライアント側のパフォーマンスとネットワークタイミングを測定する
   + **コマンドラインツール:** curl とタイミングオプションを使用して特定のリクエストを測定する

1. 継続的モニタリングを実装します。
   + 応答時間の短縮に関する自動パフォーマンスアラートを設定する
   + さまざまな地理的リージョンでパフォーマンスをモニタリングする
   + ピークトラフィック期間中のパフォーマンスを追跡する
   + 設定変更の前後にパフォーマンスメトリクスを比較する

**パフォーマンス測定リソース:**
+ 包括的なパフォーマンスモニタリングの設定については、「」を参照してください。 [MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)
+ パフォーマンステストの手順については、「」を参照してください。 [CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)
+ CloudWatch メトリクスとモニタリングについては、「」を参照してください。 [Amazon CloudWatch メトリクス AWS Elemental MediaTailor によるモニタリング](monitoring-cloudwatch-metrics.md)

## CDN キャッシュのパフォーマンスの問題
<a name="cache-performance-troubleshooting"></a>

キャッシュパフォーマンスの問題は、最も一般的な CDN 統合の問題の 1 つです。これらの問題はすべての MediaTailor 実装に影響し、視聴者のエクスペリエンスとコストに大きな影響を与える可能性があります。

**キャッシュヒット率が低い**  
**症状**: オリジンリクエスト量の増加、レイテンシーの増加、帯域幅コストの増加、視聴者のエクスペリエンスの低下  
**ターゲット値**:  
+ コンテンツセグメント: 95% 以上のキャッシュヒット率
+ 広告セグメント: 90% 以上のキャッシュヒット率
+ マニフェスト: 実装によって異なります (パーソナライズされたマニフェストはキャッシュしないでください)
**一般的な原因:**  
+ 異なるコンテンツタイプの TTL 設定が正しくない
+ キャッシュキー設定に不要なクエリパラメータが含まれている
+ オリジンからのキャッシュコントロールヘッダーが正しく設定されていない
+ 頻繁なキャッシュの無効化または消去
+ 地理的分布の問題 (コンテンツがエッジロケーションにキャッシュされない)
**解決方法:**  

1. TTL 設定を確認して最適化します。
   + コンテンツセグメント: セグメント期間以上に TTL を設定する
   + 広告セグメント: 再利用可能な広告の TTL を 24 時間以上に設定する
   + 静的アセット: TTL を 24 時間以上に設定する

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

1. キャッシュキー設定を最適化します。
   + キャッシュキーから不要なクエリパラメータを削除する
   + コンテンツに影響するパラメータのみが含まれていることを確認する
   + パラメータの順序と大文字と小文字の区別を正規化する

1. オリジンキャッシュコントロールヘッダーが正しく設定されていることを確認する

1. トラフィックの多い実装には、オリジンシールド (または同等の CDN 機能) を実装します。オリジンシールド機能は主要な CDNs で使用できますが、名前が異なる場合があります (CloudFront Origin Shield、Fastly Shield、Cloudflare Argo Tiered Cache など）。CDN でこの機能が提供されていない場合は、[AWS サポート](https://aws.amazon.com/premiumsupport/)に問い合わせるときに MediaTailor で有効にできます。

1. キャッシュ無効化戦略を確認し、不要なパージを減らす
**検証ステップ**:  

1. CDN 分析ダッシュボードを使用してキャッシュヒット率をモニタリングする

1. curl で特定の URLs をテストしてキャッシュヘッダーを検証する

1. 変更前と変更後のオリジンリクエストボリュームを比較する

**高オリジンリクエストボリューム**  
**症状**: MediaTailor オリジンに到達するリクエストの予期しない数の増加、オリジンサーバーの負荷の増加、コストの増加  
**予想されるパターン**: キャッシュヒット率が最適である場合、オリジンリクエストはビューワーリクエスト全体の 5% 未満である必要があります  
**一般的な原因:**  
+ TTL 値が低いためキャッシュミスが発生する
+ キャッシュキーの断片化 (一意のキャッシュキーが多すぎます)
+ キャッシュされたコンテンツがないリージョンでの地理的トラフィックの急増
+ 頻繁なキャッシュの無効化
**解決方法:**  

1. リクエストパターンを分析してキャッシュミスの原因を特定する

1. コンテンツタイプと更新頻度に基づいて TTL 設定を最適化する

1. 新しいコンテンツにキャッシュウォーミング戦略を実装する

1. オリジンシールドの実装を検討する (異なる名前のメジャー CDNs「」を参照) [Origin Shield の実装](cdn-advanced-optimization.md#origin-shield-optimization) 
**アラートしきい値**: オリジンリクエストが合計リクエストの 10% を超えた場合、またはベースラインよりも 50% 増加した場合にアラートを設定する

## 一般的な HTTP エラーの解決
<a name="http-error-troubleshooting"></a>

CDN 統合の HTTP エラーは、多くの場合、設定の問題やサービスの問題を示します。これらのエラーパターンは、すべての MediaTailor 実装で一貫しています。

**404 Not Found エラー**  
**症状**: マニフェストまたはセグメントリクエストが HTTP 404 を返し、プレイヤーがコンテンツをロードできない、プレイヤーログに「MANIFEST\$1LOAD\$1ERROR」  
**一般的な原因:**  
+ CDN オリジン設定が正しくない (MediaTailor エンドポイント URL が正しくない)
+ キャッシュ動作パスパターンがないか、正しくない
+ CDN 設定での URL の書き換えの問題
+ MediaTailor 設定名または再生エンドポイントエラー
+ ライブコンテンツのタイミングの問題 (将来のセグメントのリクエスト)
**診断手順:**  

1. MediaTailor オリジンに対して同じ URL を直接テストする (CDN をバイパス)

1. CDN オリジン設定が MediaTailor 再生エンドポイントと一致することを確認する

1. CDN キャッシュ動作パスのパターンと優先順位を確認する

1. リクエストルーティングの詳細について CDN アクセスログを確認する

1. MediaTailor 設定名とリージョン設定を検証する
**解決方法:**  
+ MediaTailor 再生エンドポイントと一致するように CDN オリジン設定を修正する
+ キャッシュ動作パスパターンを更新してリクエストを適切にルーティングする
+ 該当する場合、URL 書き換えルールを修正
+ MediaTailor 設定が存在し、アクティブであることを確認する

**403 禁止エラー**  
**症状**: リクエストが HTTP 403 を返す、アクセス拒否メッセージ、認証の失敗  
**一般的な原因:**  
+ MediaTailor に必要なクエリパラメータがないか、正しくない
+ CDN が必要なヘッダーまたはパラメータを転送しない
+ IP アドレスの制限または地理的ブロック
+ 認証トークンの問題 (署名URLs を使用する場合)
**解決方法:**  
+ 必要なクエリパラメータがすべて含まれ、転送されていることを確認します。
+ ヘッダーおよびパラメータ転送の CDN 設定を確認する
+ IP の制限と地理的設定を確認する
+ 認証トークンと署名プロセスを検証する

**400 不正なリクエストエラー**  
**症状**: リクエストが HTTP 400 を返す、不正な形式のリクエストエラー、パラメータ検証の失敗  
**一般的な原因:**  
+ 不正な形式のクエリパラメータまたは URL エンコードの問題
+ 無効なパラメータ値または形式
+ 特定の MediaTailor 機能に必要なパラメータがない
+ URL の長さの制限を超えました
**解決方法:**  
+ クエリパラメータ形式と URL エンコーディングを検証する
+ MediaTailor API 要件に対してパラメータ値を確認する
+ すべての必須パラメータが含まれていることを確認する
+ URL の長さを確認し、パラメータの最適化を検討する

**5xx サーバーエラー**  
**症状**: リクエストが HTTP 500、502、503、または 504 エラーを返す、断続的なサービス障害  
**一般的な原因:**  
+ MediaTailor サービスの問題または容量の制限
+ CDN オリジン接続の問題
+ オリジンレスポンスの遅延によるタイムアウトの問題
+ 一時的なサービスの低下
**解決方法:**  
+ MediaTailor AWS のサービスステータスのサービスヘルスダッシュボードを確認する
+ CDN オリジンの接続とタイムアウトの設定を確認する
+ エクスポネンシャルバックオフを使用して再試行ロジックを実装する
+ MediaTailor CloudWatch メトリクスをモニタリングしてサービスの状態を確認する
+ 問題が解決しない場合は AWS 、 サポートにお問い合わせください。

1. ベースラインパフォーマンスを測定します。
   + MediaTailor へのマニフェストリクエストの応答時間を直接テストする (ターゲット: <200ms)
   + マニフェストリクエストの CDN 応答時間を測定する (ターゲット: キャッシュヒットの場合は <100ms)
   + オリジンと CDN の両方からのセグメントのロード時間を確認する

1. CDN のパフォーマンスを分析します。
   + コンテンツセグメントのキャッシュヒット率を確認する (ターゲット: 一般的なコンテンツの場合は >80%)
   + オリジンシールド (または同等の CDN 機能) が有効で、オリジンと同じ AWS リージョンで設定されていることを確認します。異なる CDNsこの機能に異なる名前を使用する
   + CDN エッジロケーションのパフォーマンスと地理的分散をモニタリングする

**パフォーマンスベンチマーク:**
+ マニフェスト生成の応答時間をモニタリングし、ベースラインパフォーマンスと比較します。
+ CDN キャッシュヒットはオリジンリクエストよりも大幅に高速です
+ ADS 応答時間がマニフェスト生成の遅延を引き起こさないようにする

**その他のトラブルシューティングリソース:**
+ 包括的なパフォーマンス最適化戦略については、「」を参照してください。 [CDN と MediaTailor の統合のパフォーマンス最適化ガイド](cdn-optimization.md)
+ オリジンシールドの実装の詳細については、「」を参照してください。 [Origin Shield の実装](cdn-advanced-optimization.md#origin-shield-optimization)
+ CDN キャッシュの最適化については、「」を参照してください。 [CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)
+ パフォーマンスのモニタリングとメトリクスについては、「」を参照してください。 [MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)
+ パフォーマンステストの手順については、「」を参照してください。 [CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)

**成功基準:** 解決すると、応答時間はターゲットベンチマーク (マニフェストが 200 ミリ秒未満、セグメントが 100 ミリ秒未満) を満たし、キャッシュヒット率はほとんどのコンテンツタイプで 90% を超え、オリジンリクエストボリュームは合計リクエストの 5% 未満である必要があります。パフォーマンスは、すべての地理的リージョンとデバイスタイプで一貫している必要があります。

# MediaTailor のデバイスとプラットフォーム間で CDN の一貫性のない動作を修正
<a name="resolve-inconsistent-behavior"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合は、すべてのデバイスとプラットフォームで一貫した広告配信を提供する必要があります。広告の動作がデバイス間で異なる場合:

1. すべての CDN 動作にわたって一貫したヘッダー転送を確保します。
   + User-Agent、X-Forwarded-For、およびカスタムターゲティングヘッダーが一貫して転送されていることを確認します。
   + ヘッダー転送ルールが関連するすべてのキャッシュ動作に適用されることを確認する

1. プレイヤーが CDN 設定と互換性があることを確認します。
   + 複数のプレイヤータイプ (HLS.js、Video.js、ネイティブプレイヤー) でテストして、プレイヤー固有の問題を特定する
   + プレイヤー固有のヘッダー要件または URL 処理の違いを確認する

1. 複数のデバイスタイプでテストして、デバイス固有の問題を特定します。
   + テストにモバイルデバイス、タブレット、スマートTVs、デスクトップブラウザを含める
   + さまざまなオペレーティングシステムとブラウザバージョンをテストする
   + デバイス固有の広告ターゲティングが正しく機能することを確認する

これらのトラブルシューティング手順を実行してもサポートが必要な場合は、「」を参照してください[CDN 統合のサポートを受ける](cdn-get-help.md)。

## トラブルシューティングの準備
<a name="troubleshooting-preparation"></a>

CDN 統合の問題が発生した場合のトラブルシューティングを簡素化するためのツールとプロセスを設定します。プロアクティブ準備により、問題発生時のトラブルシューティングを迅速かつ効果的に行うことができます。

### 包括的なログ記録を有効にする
<a name="enable-comprehensive-logging"></a>

詳細なログは、CDN 統合の問題の診断に不可欠です。トラブルシューティング中に必要な情報をキャプチャするようにログ記録を設定します。

1. 詳細な CDN アクセスログを有効にします。
   + MediaTailor リクエストを処理するすべてのキャッシュ動作のログ記録を設定する
   + ログエントリにクエリ文字列とカスタムヘッダーを含める
   + パターンと異常を特定するためのログ分析ツールを設定する
   + ライブイベント中に問題をすぐに検出するためのリアルタイムログを有効にする
   + 履歴トラブルシューティングデータを維持するようにログ保持ポリシーを設定する

1. MediaTailor ログ記録を設定します。
   + MediaTailor 設定のアクセスログを有効にする
   + 一元的なログ管理のために CloudWatch ロググループを設定する
   + エラーパターンを識別するようにログフィルターを設定する

1. オリジンサーバーのログ記録を設定します。
   + コンテンツオリジンサーバーで詳細なアクセスログを有効にする
   + ログにリクエストヘッダーとレスポンスコードを含める
   + オリジンサーバーのパフォーマンスメトリクスをモニタリングする

### 診断リクエストヘッダーを追加する
<a name="add-diagnostic-headers"></a>

カスタムヘッダーは、CDN を介してリクエストを追跡し、ルーティングの問題を特定するのに役立ちます。

1. CDN 診断ヘッダーを設定します。
   + 各リクエストに一意の識別子を追加する (例: `X-Request-ID`)
   + リクエストヘッダーに CDN 固有の情報を含める
   + エッジロケーションまたは POP (ポイントオブプレゼンス) 情報を追加して、地理的ルーティングを追跡する
   + キャッシュ動作分析にキャッシュステータスヘッダー (Hit、Miss、RefreshHit) を含める

1. デバッグ用のレスポンスヘッダーを追加します。
   + サーバー識別ヘッダーを含める
   + パフォーマンス分析のタイミング情報を追加する
   + マニフェストリクエストのキャッシュコントロールヘッダーを含める

### ベースラインパフォーマンスメトリクスを確立する
<a name="establish-baseline-metrics"></a>

通常のパフォーマンス範囲を文書化して、トラブルシューティング中に異常をすばやく特定します。

1. **ベースラインメトリクスを記録します**。
   + さまざまなコンテンツタイプのキャッシュヒット率
   + 応答時間のパーセンタイル (P50、P95, P99)
   + ステータスコード別のエラー率
   + 時刻別のリクエストボリュームパターン

1. 期待される**パフォーマンスを文書化します**。
   + ターゲットキャッシュヒット率 (コンテンツの場合は 95% 以上、広告の場合は 90% 以上)
   + 許容応答時間 (<100ms キャッシュ、<500ms オリジン)
   + 最大許容エラー率 (4xx の場合は <1%、5xx の場合は <0.1%)

1. **パフォーマンスダッシュボードの作成**: ベースライン値と比較した現在のメトリクスを表示するモニタリングダッシュボードを設定します。

### トラブルシューティングツールを準備する
<a name="prepare-troubleshooting-tools"></a>

効果的なトラブルシューティングに必要なツールとアクセス許可を設定します。

1. **コマンドラインツール**:
   + `curl` HTTP リクエストとレスポンスをテストするための
   + `dig` DNS トラブルシューティング`nslookup`用の または
   + マニフェスト検証用の HLS/DASH 検証ツール
   + ログ分析ツール (grep、awk、または特殊なログアナライザー)

1. **アクセス許可**:
   + 設定レビュー用の CDN 管理コンソールアクセス
   + 設定検証のための MediaTailor コンソールアクセス
   + メトリクスとログ分析のための CloudWatch アクセス
   + バックエンドのトラブルシューティングのためのオリジンサーバーアクセス

1. **ドキュメント:**
   + ネットワークアーキテクチャ図
   + CDN と MediaTailor の設定ドキュメント
   + エスカレーション手順の連絡先情報
   + 一般的なシナリオのランブックのトラブルシューティング

## ワークフロー固有のトラブルシューティングガイド
<a name="workflow-specific-troubleshooting"></a>

このユニバーサルトラブルシューティングガイドでは、すべての MediaTailor CDN 統合における一般的な問題について説明します。特定のワークフローまたはサービスに固有の問題については、以下の特殊なトラブルシューティングリソースを参照してください。

サーバー側の広告挿入 (SSAI) のトラブルシューティング  
広告挿入の失敗、広告移行の問題、パーソナライゼーションの問題など、SSAI 固有の問題については、ワークフロー固有の SSAI トラブルシューティングドキュメントを参照してください。  
**SSAI 固有の一般的な問題**:  
+ 広告挿入の失敗と空の広告ブレーク
+ 広告移行のタイミングと同期の問題
+ パーソナライズとターゲティングの問題
+ 広告の追跡と分析の不一致

チャネルアセンブリのトラブルシューティング  
マニフェスト生成の問題やタイムシフト機能などのチャネルアセンブリ固有の問題については、「チャネルアセンブリワークフロードキュメント」を参照してください。  
**一般的なチャネルアセンブリの問題**:  
+ マニフェスト生成エラーとコンパイルエラー
+ タイムシフトウィンドウと DVR 機能の問題
+ ソースコンテンツの可用性とフェイルオーバーの問題
+ プログラムスケジュールとメタデータの同期

MediaPackage 統合のトラブルシューティング  
マニフェストフィルタリングや EMP エンドポイントの問題など、MediaPackage 固有の問題については、「」を参照してください[CDN 統合のトラブルシューティング](cdn-emp-troubleshooting.md)。  
**MediaPackage 統合の一般的な問題**:  
+ マニフェストフィルタリングパラメータエラー
+ MediaPackage エンドポイントの接続の問題
+ EMP 固有のキャッシュ動作の問題
+ MediaPackage オリジン認証の問題

CloudFront 固有のトラブルシューティング  
CloudFront 固有の設定とセットアップの問題については、CloudFront 統合ドキュメント」を参照してください。  
**CloudFront の一般的な問題**:  
+ ディストリビューション設定とキャッシュ動作の設定
+ オリジンアクセスアイデンティティとセキュリティ設定
+ CloudFront 固有のエラーコードとレスポンス
+ 地理的制限とエッジロケーションの問題

**その他のリソース**:
+ パフォーマンス最適化のガイダンスについては、「」を参照してください。 [CDN パフォーマンスの最適化](cdn-optimization.md)
+ モニタリングとアラートの設定については、「」を参照してください。 [CDN モニタリング](cdn-monitoring.md)
+ 一般的なサポートとサポートについては、「」を参照してください。 [CDN 統合のサポートを受ける](cdn-get-help.md)

# MediaTailor の CDN 統合ログ分析とエラーコードリファレンス
<a name="cdn-log-error-reference"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合ログは、パフォーマンスとエラーに関する貴重なインサイトを提供します。このガイドでは、CDN ログ (コンテンツ配信ネットワークから) と、CDN 統合のトラブルシューティングに関連する MediaTailor ログとエラーコードの両方について説明します。このリファレンスは、コンテンツ配信ネットワークログとエラーコードが MediaTailor 統合について何を伝えているかを理解する必要がある場合に使用します。このガイドは、ログエントリとエラーメッセージを解釈して問題の根本原因を特定するのに役立ちます。

**関連するトピック:**
+ 詳細なトラブルシューティング手順についてはstep-by-step「」を参照してください。 [CDN 統合のトラブルシューティング](cdn-troubleshooting.md)
+ プロアクティブなモニタリングと防止戦略については、「」を参照してください。 [MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)
+ エスカレーションと追加のヘルプについては、「」を参照してください。 [CDN 統合のサポートを受ける](cdn-get-help.md)
+ 包括的な MediaTailor ログ記録設定とリソースについては、「」を参照してください。 [MediaTailor ログ記録設定リソース](#mediatailor-logging-resources)
+ CloudFront ログ形式のリファレンスについては、[CloudFront アクセスログ形式](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#LogFileFormat)」を参照してください。
+ HTTP ステータスコードリファレンスについては、[「HTTP レスポンスステータスコード](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status)」を参照してください。

# MediaTailor の CDN ログ解釈と分析手法
<a name="cdn-log-interpretation"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合は、リクエストパターンの理解と問題の特定に役立つ詳細なログを生成します。コンテンツ配信ネットワークログを分析するときは、次の主要な指標に焦点を当てます。

**注:** 次の例では、Amazon CloudFront の用語を使用しています。他の CDN プロバイダーも、同様の概念に異なる用語を使用する場合があります。

HTTP ステータスコード  
+ `200` - 成功したリクエスト
+ `404` - リソースが見つかりません (ルーティングルールと MediaTailor 設定を確認)
+ `403` - アクセス拒否 (CDN セキュリティ設定とオリジンアクセス許可を確認する)
+ `502/503/504` - オリジンサーバーエラー (MediaTailor サービスのヘルスとオリジン接続を確認)

キャッシュ動作インジケータ  
+ `Hit` - CDN キャッシュから提供されるコンテンツ
+ `Miss` - オリジンから取得されたコンテンツ
+ `RefreshHit` - オリジンで検証されたキャッシュされたコンテンツ
+ `Error` - リクエストでエラーが発生しました

モニタリングするリクエストパターン  
+ マニフェストリクエストでは通常、TTL 設定が低い`Miss`か、または低い`RefreshHit`ことが原因です。
+ 人気のあるコンテンツ`Hit`にはコンテンツセグメントが表示されます
+ パーソナライゼーション`Miss`により広告セグメントが表示されることがある

**サービスヘルスモニタリング**

CDN ログを分析して問題をトラブルシューティングするときは、MediaTailor のサービスの状態をチェックして、問題がサービスに関連しているかどうかを確認します。

AWS サービスヘルスダッシュボード  
現在の MediaTailor サービスステータスと進行中のサービスイベントを確認する  
アクセス: [AWS サービスヘルスダッシュボード](https://status.aws.amazon.com/)  
これを使用する: CDN ログに広範な 5xx エラーまたはサービスタイムアウトが表示される

AWS Personal Health ダッシュボード  
アカウント固有のサービスヘルス通知とメンテナンスイベントを表示する  
アクセス: [AWS Personal Health Dashboard](https://console.aws.amazon.com/phd/home)  
これを使用する: アカウント固有のサービスヘルス情報またはメンテナンス通知が必要な場合

Amazon CloudWatch メトリクスのモニタリング  
CloudWatch メトリクスを使用して MediaTailor サービスヘルスインジケータをモニタリングします。  
+ `GetManifest.Errors` - マニフェスト生成エラーを追跡する
+ `GetManifest.Latency` - 応答時間のパフォーマンスをモニタリングする
+ `AdDecisionServer.Errors` - 広告サーバーの接続問題をモニタリングする
+ `Origin.Errors` - オリジンサーバー接続の問題を追跡する
アクセス: [CloudWatch コンソール](https://console.aws.amazon.com/cloudwatch/home)  
これを使用する: 詳細なサービスパフォーマンスメトリクスと履歴の傾向が必要な場合

**サービスヘルスのトラブルシューティングワークフロー:**

1. Service AWS Health Dashboard で現在のサービスステータスを確認する

1.  AWS Personal Health Dashboard でアカウント固有の通知を確認する

1. サービスパフォーマンスインジケータの CloudWatch メトリクスをモニタリングする

1. サービスのヘルスステータスを CDN ログパターンとエラー率と関連付ける

1. サービスの状態が正常である場合は、CDN 設定とオリジンサーバーの問題に焦点を当てます。

**CDN ログ分析リソース**
+ [CloudFront アクセスログ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) - CDN ログの形式とフィールドに関する完全なガイド
+ [CloudFront リアルタイムログ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) - リアルタイムログのストリーミングと分析
+ [CloudWatch Logs Insights を使用したログデータの分析](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - 高度なログクエリと分析
+ [ワークロードリソースのモニタリング](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/monitor-workload-resources.html) - Well-Architected のモニタリングパターン

**Topics**
+ [CDN ログの解釈](cdn-log-interpretation.md)
+ [エラーコードリファレンス](emt-error-codes-reference.md)
+ [ログ分析ツール](log-analysis-techniques.md)
+ [MediaTailor ログ記録設定リソース](#mediatailor-logging-resources)

# MediaTailor エラーコードと CDN 統合のトラブルシューティング
<a name="emt-error-codes-reference"></a>

AWS Elemental MediaTailor エラーコードは、コンテンツ配信ネットワーク (CDN) を通過するときに統合の問題に関する特定の情報を提供します。MediaTailor がコンテンツ配信ネットワークを介してエラーを返す場合、これらのコードは特定の問題を示します。

**注:** これらのエラーコードは MediaTailor によって返され、CDN に渡されます。CDN 固有のエラーについては、CDN プロバイダーのドキュメントを参照してください。

400 Bad Request  
**一般的な原因:** 不正な形式のクエリパラメータ、必須パラメータの欠落、無効なセッション IDs  
**チェック:** CDN クエリ文字列転送設定、パラメータエンコーディング

403 Forbidden  
**一般的な原因:** 存在しない、またはアクセス許可がないセグメントをリクエストするクライアントプレイヤー。広告セグメントの場合、MediaTailor は存在しないセグメントを指定している可能性があります ([AWS サポート](https://aws.amazon.com/premiumsupport/)に連絡して調査してください）。コンテンツセグメント、オリジンプロバイダーのアクセス制限、または認証の問題の場合  
**チェック:** 広告セグメントの場合: MediaTailor が無効なセグメント URLs を生成している場合は、[AWS サポート](https://aws.amazon.com/premiumsupport/)にお問い合わせください。コンテンツセグメントの場合: オリジンサーバーのアクセス許可、認証情報、アクセスポリシーを検証します。リクエストされた URLs にセグメントが存在するかどうかを確認する

404 Not Found  
**一般的な原因:** MediaTailor 設定が存在しないか、非アクティブ、誤った再生 URL パス、存在しないリソースへのマニフェストまたはセグメントリクエスト  
**チェック:** MediaTailor 設定が存在し、アクティブであることを確認する、再生 URL が `ManifestEndpointPrefix`から と一致することを確認する`GetPlaybackConfiguration`、CDN ルーティングルールが正しい MediaTailor エンドポイントにリクエストを転送することを確認する

500 Internal Server Error  
**一般的な原因:** オリジンサーバーの問題、ADS 接続の問題、マニフェスト処理エラー  
**チェック:** オリジンサーバーのヘルス、ADS レスポンスの有効性、MediaTailor サービスのステータス

502 不正なゲートウェイ  
**一般的な原因:** HLS プレイリストのアラインメントの問題 (SCTE マーカーがプレイリスト間で整列されていない、一部のプレイリストに SCTE マーカーがない、ビットレートバリアント間で広告ブレークのタイミングが一貫していない) `UnsupportedManifestException`により、オリジンサーバーに到達できない、無効なオリジンレスポンス  
**チェック:** オリジンサーバー接続とファイアウォールルール、DNS 解決、すべてのビットレートバリアントにわたる HLS プレイリストの整合性、すべてのプレイリストにわたる同じセグメントでの SCTE-35 マーカーの整列、すべてのプレイリストに必要な広告ブレークマーカーが含まれていることを確認する

**エラーコード分析リソース:**
+ [MediaTailor のトラブルシューティング](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html) - MediaTailor エラーコードリファレンスを完了する
+ [CloudFront エラーレスポンスのトラブルシューティング](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/troubleshooting-response-errors.html) - CDN 固有のエラー分析
+ [HTTP レスポンスステータスコード](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) - 包括的な HTTP ステータスコードリファレンス
+ [障害管理](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/failure-management.html) - Well-Architected エラー処理パターン

# MediaTailor の CDN ログ分析ツールとモニタリング手法
<a name="log-analysis-techniques"></a>

AWS Elemental MediaTailor コンテンツ配信ネットワーク (CDN) 統合は、効率的な分析ツールと手法を必要とする大量のログデータを生成します。これらのアプローチを使用して、コンテンツ配信ネットワークと MediaTailor ログを効率的に分析します。
+ **コマンドライン分析:** `grep`、`awk`、 などのツールを使用してログパターン`sort`をフィルタリングおよび分析する
+ **Amazon CloudWatch Logs Insights:** 高度な分析のために SQL のような構文で CDN ログと MediaTailor ログをクエリする
+ **サードパーティー製ツール:** 包括的なモニタリングとアラートのためのログ分析プラットフォームを検討する
+ **カスタムダッシュボード:** CDN メトリクスと MediaTailor パフォーマンスデータを組み合わせたビジュアライゼーションを作成する

ログ分析や複雑なエラーパターンの解釈についてさらにサポートが必要な場合は、「」を参照してください[CDN 統合のサポートを受ける](cdn-get-help.md)。

**ログ分析ツールとリソース:**
+ [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - ログ分析用の SQL のようなクエリ
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) - 高度なログ検索と分析
+ [CloudWatch ダッシュボード](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) - カスタム可視化とモニタリング
+ [運用上の可視性のための分散システムの計測](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) - 高度なオブザーバビリティパターン
+ [ワークロードオブザーバビリティの設計](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-workload-observability.html) - Well-Architected オブザーバビリティガイダンス

## MediaTailor ログ記録設定リソース
<a name="mediatailor-logging-resources"></a>

MediaTailor は、CDN ログに加えて、広告挿入、マニフェスト生成、サービスインタラクションをモニタリングするための包括的なログ記録機能を提供します。これらのリソースを使用して、MediaTailor ログを設定および分析します。

MediaTailor マニフェストとサービスログ  
マニフェスト生成、オリジンインタラクション、サービスイベントのログを設定および分析します。  
+ [AWS Elemental MediaTailor マニフェストログの説明とイベントタイプ](log-types.md) - MediaTailor マニフェストログとイベントタイプの完全なリファレンス
+ [AWS Elemental MediaTailor ログの表示](monitoring-through-logs.md) - MediaTailor ログを表示および解釈するためのガイド

提供されたログ設定  
コストを最適化して、複数の宛先への柔軟なログ配信を設定します。  
+ [提供されたログを使用して AWS Elemental MediaTailor ログを送信する](vended-logs.md) - Amazon S3、Firehose、または CloudWatch Logs へのログ配信を設定する
+ [AWS Elemental MediaTailor ログ記録戦略の移行](vended-logs-migrate.md) - 既存のログ記録設定の移行ガイド

CloudWatch Logs の統合  
MediaTailor ログを CloudWatch と統合してモニタリングと分析を行います。  
+ [AWS Elemental MediaTailor ログの表示](monitoring-through-logs.md) - CloudWatch Logs の設定と分析
+ [CloudWatchInsights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - 高度なログクエリと分析

広告固有のログ記録  
広告挿入のパフォーマンスをモニタリングし、広告関連の問題をトラブルシューティングします。  
+ ADS インタラクションログ - 広告決定サーバーの通信とエラーをモニタリングする

**CDN ログと MediaTailor ログの主な違い:**
+ **CDN ログ**: コンテンツ配信ネットワークからのリクエスト/レスポンスパターン、キャッシュ動作、ネットワークレベルのエラーを表示する
+ **MediaTailor ログ**: 広告挿入の詳細、マニフェスト生成イベント、オリジンインタラクション、サービス固有のエラーを表示する
+ **複合分析**: 両方のログタイプを一緒に使用して、ストリーミングワークフローを完全に可視化します。

CDN と MediaTailor の両方のログ記録を組み合わせた包括的なモニタリングについては、「」を参照してください[MediaTailor CDN オペレーションとパフォーマンスのモニタリング](cdn-monitoring.md)。

# で MediaTailor と CDN を自動化する CloudFormation
<a name="automating-cdn-integration"></a>

を使用したコンテンツ配信ネットワーク (CDN) AWS Elemental MediaTailor による自動化により、広告挿入ワークフローが AWS CloudFormation 合理化され、信頼性が向上します。

このセクションでは、 AWS CloudFormation (AWS infrastructure as code service) を使用して、コンテンツ配信ネットワーク (CDN) AWS Elemental MediaTailor を自動的にセットアップする方法について説明します。前のセクションで説明したように、この統合を手動で設定できますが、 を使用すると、単一のテンプレートでプロセス全体を自動化することで、時間 CloudFormation を節約し、エラーを削減できます。

を初めて使用する場合は CloudFormation、必要なすべての AWS リソースを定義するテンプレートファイルを作成できるサービスです。このテンプレートをデプロイすると、 はそれらのリソース CloudFormation を自動的に作成して設定し、それらが正しく連携するようにします。

詳細については CloudFormation、[CloudFormation 「 ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)」を参照してください。の MediaTailor リソースタイプの詳細については CloudFormation、[AWS「::MediaTailor リソースタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaTailor.html)」を参照してください。

**Topics**
+ [を使用する理由 AWS CloudFormation](cloudformation-benefits.md)
+ [デプロイの準備](prepare-cloudformation-deployment.md)
+ [テンプレートをデプロイします。](deploy-cloudformation-template.md)
+ [デプロイされたリソースを使用する](use-deployed-resources.md)
+ [デプロイのテストと検証](test-validate-deployment.md)
+ [のデプロイ問題のトラブルシューティング](troubleshoot-deployment-issues.md)
+ [テンプレートをカスタマイズする](customize-cloudformation-template.md)
+ [テンプレートリファレンス](cloudformation-template-reference.md)

# MediaTailor と CDN の統合 CloudFormation に を使用する理由
<a name="cloudformation-benefits"></a>

AWS Elemental MediaTailor による オートメーション AWS CloudFormation は、ストリーミングワークフローを管理するブロードキャストプロフェッショナルに大きな利点をもたらします。MediaTailor をコンテンツ配信ネットワーク (CDN) で手動で設定すると、時間がかかり、エラーが発生しやすくなります。 CloudFormation 自動化を使用すると、次の利点があります。
+ **整合性**: 毎回同じ設定がデプロイされるようにし、人為的ミスを減らします。
+ **バージョン管理**: インフラストラクチャをコードとしてバージョン管理システムに保存し、変更を追跡します。
+ **迅速なデプロイ**: 手動設定ではなく、複雑な設定を数分でデプロイします。
+ **環境レプリケーション**: 開発、テスト、本番環境間で設定を簡単にレプリケートできます。
+ **ドキュメント**: テンプレート自体は、インフラストラクチャのドキュメントとして機能します。

自動ワークフローと手動設定の比較は次のとおりです。


| 手動セットアップ (複数ステップ) | 自動セットアップ (単一テンプレート) | 
| --- | --- | 
| MediaTailor 再生設定を作成する | パラメータを使用して 1 つの CloudFormation テンプレートをデプロイする | 
| CloudFront ディストリビューションを作成する | 
| キャッシュ動作を設定する | 
| セキュリティ設定をセットアップする | 

CloudFront で MediaTailor を設定するための自動ワークフローは、次のステップに従います。

1. コンテンツオリジンと広告サーバーパラメータを使用して CloudFormation テンプレートをデプロイする

1. CloudFormation は、必要なすべてのリソースを作成および設定します。
   + 広告挿入の MediaTailor 再生設定
   + 適切なキャッシュ動作を持つ CloudFront ディストリビューション
   + コンテンツ保護のセキュリティ設定

1.  CloudFormation 出力を使用して広告対応ストリーム URLs にアクセスする

1. 動的に挿入された広告でコンテンツをストリーミングする

# CDN と MediaTailor の統合の CloudFormation デプロイを準備する
<a name="prepare-cloudformation-deployment"></a>

AWS Elemental MediaTailor を使用した デプロイには、特定の前提条件と準備手順 AWS CloudFormation が必要です。を使用して MediaTailor と Amazon CloudFront CloudFormation を統合する前に、以下があることを確認してください。
+ MediaTailor、CloudFront、および CloudFormation リソースを作成するアクセス許可を持つ AWS アカウント
+ 動画コンテンツがホストされているコンテンツオリジン ( AWS Elemental MediaPackage Amazon S3 や別のオリジンサーバーなど)
+ VAST リクエストに応答できる広告決定サーバー (ADS)

 CloudFormation テンプレートをデプロイする前に、以下の必須パラメータを収集します。

`AdServerUrl`  
動的広告挿入用の VAST 広告サーバーの URL。テスト用に静的 VAST エンドポイントが用意されています。

`ContentOriginDomainName`  
プロトコルを使用しないコンテンツオリジンのドメイン名 (、*mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com**mybucket.s3.amazonaws.com*、*custom-origin.example.com* など）。http:// または https:// プレフィックスやパスを含めないでください。

`ContentOriginType`  
コンテンツオリジンのタイプ:  
+ *mediapackagev2*: AWS Elemental MediaPackage オリジンの場合
+ *s3*: Amazon S3 バケットオリジンの場合
+ *custom*: 他のオリジンタイプの場合

テンプレートは、パーソナライズされた広告でコンテンツを配信するために連携する複数の AWS リソースを作成します。各コンポーネントの動作を以下に示します。

## オリジンアクセスコントロール
<a name="origin-access-control-resource"></a>

オリジンアクセスコントロール (OAC) は、オリジンサーバーから直接ではなく CloudFront 経由でのみコンテンツにアクセスできるようにするセキュリティ機能です。これにより、コンテンツを不正アクセスから保護できます。

MediaPackage および Amazon S3 オリジンの場合、テンプレートはコンテンツへのアクセスを保護するためのオリジンアクセスコントロール (OAC) リソースを作成します。

## MediaTailor の再生設定
<a name="mediatailor-resource"></a>

MediaTailor 再生設定は、広告挿入を処理するコアコンポーネントです。オリジンからコンテンツを受信し、広告サーバーから広告をリクエストし、それらを各ビューワーのパーソナライズされたストリームに結合します。

テンプレートは、以下の設定で MediaTailor 再生設定を作成します。
+ CloudFront ディストリビューションを指す動画コンテンツソース
+ 指定した VAST エンドポイントに設定された広告決定サーバー URL
+ ライブストリーム中の広告挿入のライブプリロール設定
+ 適切なセグメント URL プレフィックスを持つ CDN 設定

## CloudFront 配信
<a name="cloudfront-resource"></a>

CloudFront ディストリビューションは、低レイテンシーで世界中の視聴者にコンテンツを配信します。さまざまなタイプのリクエスト (マニフェスト、コンテンツセグメント、広告セグメント) を処理し、適切なオリジンにルーティングします。

CDNs、いくつかの重要な用語があります。

オリジン  
元のコンテンツが保存されているサーバー (MediaPackage や Amazon S3 など)

キャッシュ動作  
さまざまなタイプのコンテンツがどのようにキャッシュおよび配信されるかを決定するルール

キャッシュポリシー  
コンテンツのキャッシュ期間とキャッシュに影響するリクエストコンポーネントを制御する設定

テンプレートは、以下のコンポーネントを使用して CloudFront ディストリビューションを作成します。
+ 3 つのオリジン:
  + コンテンツオリジン (MediaPackage、Amazon S3、またはカスタム)
  + MediaTailor マニフェストオリジン
  + MediaTailor セグメントのオリジン
+ 適切なパターンで動作をキャッシュします。
  + コンテンツセグメントのデフォルトの動作
  + MediaTailor 広告セグメントの動作 (/tm/\$1)
  + MediaTailor インタースティシャルメディアの動作 (/v1/i-media/\$1)
  + パーソナライズされたマニフェストの動作 (/v1/\$1)
  + セグメントリダイレクトリクエストの動作 (/segment/\$1)
+ 動作ごとに最適化されたキャッシュポリシー:
  + `CachingOptimized` キャッシュ可能なコンテンツの
  + `CachingDisabled` パーソナライズされたマニフェスト用
+ 適切なヘッダー転送を確保するためのオリジンリクエストポリシー
+ CORS サポートのレスポンスヘッダーポリシー

# CDN と MediaTailor の統合用の CloudFormation テンプレートをデプロイする
<a name="deploy-cloudformation-template"></a>

AWS Elemental MediaTailor AWS CloudFormation テンプレートを使用したデプロイは、テンプレートが作成する内容を理解すると簡単です。このプロセスには約 15～30 分かかり、ほとんどの時間は CloudFront ディストリビューションのデプロイを待つために費やされます。

 CloudFormation テンプレートをデプロイし、自動広告挿入ワークフローを設定するには:

**MediaTailor CloudFormation テンプレートをデプロイするには**

1.  CloudFormation テンプレートを AWS Elemental MediaTailor GitHub リポジトリからダウンロードするか、 からコピーします[AWS CloudFormation AWS Elemental MediaTailor および Amazon CloudFront 統合の テンプレートリファレンス](cloudformation-template-reference.md)。

1. [CloudFormation コンソール](https://console.aws.amazon.com/cloudformation/home)を開きます。

1. **スタックの作成** > **新しいリソースを使用する (標準)** を選択します。

1. **テンプレートを指定** **で、テンプレートファイルをアップロード** を選択し、テンプレートをアップロードします。

1. スタック名を入力し、必要なパラメータの値を指定します。
   + **AdServerUrl**: VAST 広告サーバーの URL (例: https://*your-ad-server.com*/vast)
   + **ContentOriginDomainName**: プロトコルを使用しないコンテンツオリジンのドメイン名 ( など*mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com*)
   + **ContentOriginType**: コンテンツオリジンのタイプを選択します。
     + *mediapackagev2*: AWS Elemental MediaPackage オリジンの場合
     + *s3*: Amazon S3 バケットオリジンの場合
     + *custom*: 他のオリジンタイプの場合

1. 設定を確認し、**スタックの作成**を選択します。

1. スタックの作成が完了するまで待ちます。通常は 5～10 分かかります。**イベント**タブで進行状況をモニタリングできます。

1. 完了したら、**出力**タブに移動して、HLS マニフェストと DASH マニフェストURLs を見つけます。

**注記**  
をコンテンツオリジン AWS Elemental MediaPackage として使用している場合は、MediaPackage エンドポイントが正しく設定され、アクセス可能であることを確認します。詳細については、「[MediaPackage CDN 統合](mediapackage-integration.md)」を参照してください。

# CDN と MediaTailor の統合に CloudFormation デプロイされたリソースを使用する
<a name="use-deployed-resources"></a>

AWS Elemental MediaTailor AWS CloudFormation スタックによってデプロイされた リソースには、広告挿入でコンテンツにアクセスするために使用する重要な出力がいくつか用意されています。 CloudFormation スタックが正常に作成されたら、出力を使用して広告が挿入されたコンテンツにアクセスする方法を理解する必要があります。これは、手動セットアップで MediaTailor URLs を使用する方法と似ていますが、 CloudFormation デプロイではこれらの URLsが自動的に提供されます。

デプロイが成功すると、 CloudFormation スタックには、広告挿入を使用してコンテンツにアクセスするために使用する重要な出力がいくつか用意されます。

`CloudFrontDomainName`  
CloudFront ディストリビューションのドメイン名 ( など*d1234abcdef.CloudFront.net*)

`HlsManifestUrl`  
広告挿入を含む HLS マニフェストの基本 URL (例: https://*d1234abcdef.CloudFront.net*/v1/master/*12345*/*my-playback-config*/)

`DashManifestUrl`  
広告挿入を含む DASH マニフェストの基本 URL (例: https://*d1234abcdef.CloudFront.net*/v1/dash/*12345*/*my-playback-config*/)

`MediaTailorPlaybackConfigName`  
作成された MediaTailor 再生設定の名前 (*my-stack-PlaybackConfig* など)

## 再生 URLs
<a name="construct-playback-urls"></a>

広告を含むコンテンツの完全な再生 URL を作成するには、 CloudFormation 出力のベース URL を特定のマニフェストパスと組み合わせる必要があります。これは、既存のコンテンツを広告挿入システムに接続するため、ブロードキャストプロフェッショナルが理解すべき重要なステップです。

1. 出力から適切なマニフェスト URL から開始します。

   ```
   HlsManifestUrl: https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/
   ```

1. 特定のマニフェストパスを追加します。

   ```
   Your manifest path: channel/index.m3u8
   ```

1. 完全な再生 URL は次のようになります。

   ```
   https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/channel/index.m3u8
   ```

動的に挿入された広告でコンテンツを再生するには、ビデオプレーヤーでこの URL を使用します。

**ヒント**  
マニフェストパスが不明な場合は、オリジンサーバーを確認してください。MediaPackage オリジンの場合、これはエンドポイントの HLS または DASH マニフェストへのパスです。Amazon S3 オリジンの場合、これはバケット内のマニフェストファイルへのパスです。

MediaTailor URL 構造の詳細については、「」を参照してください[MediaTailor との CDN 統合を設定する](cdn-configuration.md)。

## ビデオプレーヤーを設定する
<a name="configure-video-player"></a>

再生 URL を取得したら、それを使用するようにビデオプレーヤーを設定する必要があります。ブロードキャストプロフェッショナルの場合、これは任意の HLS または DASH ストリームにプレイヤーを設定するのに似ていますが、ストリームにはパーソナライズされた広告が含まれます。一般的なHLS.js プレイヤーを使用した簡単な例を次に示します。

```
<!DOCTYPE html>
<html>
<head>
    <title>MediaTailor Playback Example</title>
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
</head>
<body>
    <video id="video" controls style="width: 640px; height: 360px;"></video>
    
    <script>
        const video = document.getElementById('video');
        const mediaUrl = 'https://<replaceable>d1234abcdef.CloudFront.net</replaceable>/v1/master/<replaceable>12345</replaceable>/<replaceable>my-playback-config</replaceable>/<replaceable>channel/index.m3u8</replaceable>';
        
        if (Hls.isSupported()) {
            const hls = new Hls();
            hls.loadSource(mediaUrl);
            hls.attachMedia(video);
        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
            video.src = mediaUrl;
        }
    </script>
</body>
</html>
```

次のようなプロのブロードキャストプレイヤーを使用することもできます。
+ JW プレイヤー
+ Bitmovin プレイヤー
+ THEOplayer
+ Video.js

MediaTailor とのプレイヤー統合の詳細については、「」を参照してください[MediaTailor 広告サーバー統合要件](vast.md)。

# CDN と MediaTailor の統合に関する CloudFormation デプロイのテストと検証
<a name="test-validate-deployment"></a>

AWS Elemental MediaTailor デプロイの検証は、本番稼働前のブロードキャストプロフェッショナルにとって重要なステップです。このセクションでは、広告が正しく挿入され、コンテンツがスムーズに配信されるように、デプロイをテストする方法について説明します。

 CloudFormation テンプレートをデプロイしたら、以下の手順に従ってセットアップが正しく機能していることを確認します。

**MediaTailor と CloudFront の統合をテストするには**

1. コンソールで CloudFormation すべてのリソースが正常に作成されたことを確認します。

1. MediaTailor コンソールで [MediaTailor ](https://console.aws.amazon.com/mediatailor/home)再生設定がアクティブであることを確認します。

1. CloudFront [コンソールで CloudFront ](https://console.aws.amazon.com/CloudFront/home)ディストリビューションがデプロイされ、有効になっていることを確認します。

1. サンプルマニフェストを使用して再生をテストします。

   1. 「」の説明に従って、フル再生 URL を作成します[再生 URLs](use-deployed-resources.md#construct-playback-urls)。

   1. HLS または DASH をサポートするビデオプレーヤー (VLC、JW Player、 AWS コンソールプレーヤーなど) を使用します。

   1. コンテンツの再生と広告が予想されるブレークポイントに挿入されていることを確認します。

1. CloudWatch の MediaTailor ログに広告挿入エラーがないか確認します。

広告挿入をテストするときは、成功の指標を探します。
+ コンテンツと広告間のスムーズな移行
+ 広告は、予想されるブレークポイント (プリロール、ミッドロール、ポストロール) に表示されます。
+ 広告品質がコンテンツ品質と一致する
+ 広告の移行中にバッファリングエラーや再生エラーが発生しない

テスト手順の詳細については、「」を参照してください[AWS Elemental MediaTailor 広告挿入動作について](ad-behavior.md)。包括的な CDN 統合のテストと検証については、「」を参照してください[CDN と MediaTailor の統合のテストと検証](cdn-integration-testing.md)。

# CDN と MediaTailor の統合に関する一般的な CloudFormation デプロイの問題をトラブルシューティングする
<a name="troubleshoot-deployment-issues"></a>

AWS Elemental MediaTailor デプロイの問題は、デプロイ中または再生中のオートメーションでも発生する可能性があります。ブロードキャストプロフェッショナルとして、これらの問題のトラブルシューティング方法を理解することは、広告挿入で信頼性の高いストリーミングサービスを維持するのに役立ちます。

 CloudFormation デプロイまたは結果の MediaTailor と CloudFront の統合で問題が発生した場合は、以下の一般的な問題と解決策を参照してください。

## CloudFormation デプロイの問題
<a name="deployment-troubleshooting"></a>

スタックの作成が「リソースの作成に失敗しました」エラーで失敗する  
**考えられる原因:**  
+ 無効なコンテンツオリジンドメイン名形式
+ リソースを作成するアクセス許可が不十分
**解決策:** CloudFormation イベントタブで特定のリソースエラーを確認します。コンテンツオリジンドメイン名がプロトコルプレフィックスまたはパスなしで正しくフォーマットされていることを確認します。IAM ロールに、必要なすべてのリソースを作成するための十分なアクセス許可があることを確認します。

CloudFront ディストリビューションのデプロイに時間がかかる  
**原因:** CloudFront ディストリビューションが完全にデプロイされるまでに通常 15～30 分かかります。  
**解決策:** これは正常な動作です。テストする前に、ディストリビューションが「デプロイ済み」状態になるまで待ちます。

## 再生と広告挿入の問題
<a name="playback-troubleshooting"></a>

コンテンツは再生されるが広告は挿入されない  
**考えられる原因:**  
+ 広告決定サーバーが応答しない、または空の VAST を返さない
+ コンテンツに広告マーカーが含まれていない
**解決策:** 広告サーバーにアクセス可能であり、有効な VAST レスポンスを返すことを確認します。コンテンツに適切な広告マーカー (ライブコンテンツの場合は SCTE-35 マーカー、VOD の場合は広告ブレークタグ) があることを確認します。

403 コンテンツにアクセスするときに禁止されるエラー  
**考えられる原因:**  
+ オリジンアクセスコントロールが正しく設定されていない
+ オリジンバケットまたはエンドポイントのアクセス許可の問題
**解決策:** Amazon S3 オリジンの場合は、バケットポリシーが CloudFront ディストリビューションからのアクセスを許可していることを確認します。MediaPackage オリジンの場合、オリジンアクセスコントロールが正しく設定され、エンドポイントにアクセスできることを確認します。

再生エラーまたはバッファリング  
**考えられる原因:**  
+ キャッシュ動作パスパターンがコンテンツパスと一致しません
+ オリジンドメインの設定が正しくない
**解決策:** キャッシュ動作に、リクエストを適切なオリジンにルーティングするための正しいパスパターンがあることを確認します。CloudFront ログをチェックして、リクエストを処理しているオリジンを確認し、それが想定どおりであることを確認します。

ブロードキャストプロフェッショナルにとって、以下の追加のトラブルシューティングのヒントが役立ちます。
+ Amazon CloudWatch Logs Insights を使用して MediaTailor ログで特定のエラーパターンを検索する
+ 本番稼働用広告サーバーを使用する前に、まずシンプルな VAST 広告サーバー (テンプレートで提供されているデフォルトサーバーなど) でテストします。
+ コンソールの MediaTailor マニフェストインスペクターツールを使用してコンテンツの広告マーカーを検証する
+ ブラウザのデベロッパーツールのネットワークトラフィックをチェックして、広告サーバーへのリクエストが正しく行われているかどうかを確認します。

追加のトラブルシューティングについては、MediaTailor と CloudFront の両方の CloudWatch ログをチェックして、特定のエラーを特定します。

# CDN と MediaTailor の統合の CloudFormation テンプレートをカスタマイズする
<a name="customize-cloudformation-template"></a>

AWS Elemental MediaTailor テンプレートのカスタマイズにより、ブロードキャストプロフェッショナルは特定のワークフロー要件に合わせて AWS CloudFormation テンプレートを適応させることができます。基本的なテンプレートは多くのシナリオで機能しますが、これらのカスタマイズは、より複雑なニーズに対応するのに役立ちます。

以下の例は、テンプレートに追加できる YAML コードスニペットを示しています。YAML または CloudFormation 構文に精通していない場合は、開発者または AWS ソリューションアーキテクトと協力してこれらの変更を行うことを検討してください。

テンプレートは、特定のワークフロー要件を満たす CloudFormation ようにカスタマイズできます。

## オリジンの追加または変更
<a name="add-modify-origins"></a>

複数のコンテンツソース (プライマリソースやバックアップソース、異なるコンテンツライブラリなど) を使用するブロードキャストワークフローでは、CloudFront ディストリビューションにオリジンを追加できます。

```
Origins:
  # Add a new origin for additional content
  - Id: SecondaryContentOrigin
    DomainName: secondary-content.example.com
    CustomOriginConfig:
      OriginProtocolPolicy: 'https-only'
      OriginSSLProtocols: 
        - TLSv1.2
```

次に、対応するキャッシュ動作を追加して、特定のパターンをこのオリジンにルーティングします。

```
CacheBehaviors:
  - PathPattern: '/secondary-content/*'
    TargetOriginId: SecondaryContentOrigin
    ViewerProtocolPolicy: 'https-only'
    CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
```

## カスタムキャッシュポリシーを作成する
<a name="create-custom-cache-policies"></a>

特定のキャッシュ要件 (品質選択パラメータやビューワー認証など) を持つブロードキャストワークフローでは、マネージドキャッシュポリシーを使用する代わりにカスタムキャッシュポリシーを作成できます。TTL 値とキャッシュ戦略の詳細については、「」を参照してください[CDN と MediaTailor の統合のキャッシュ最適化](cdn-optimize-caching.md)。

```
# Define a custom cache policy
CustomCachePolicy:
  Type: AWS::CloudFront::CachePolicy
  Properties:
    CachePolicyConfig:
      Name: !Sub '${AWS::StackName}-CustomCachePolicy'
      DefaultTTL: 86400  # 24 hours
      MaxTTL: 31536000   # 1 year
      MinTTL: 1          # 1 second
      ParametersInCacheKeyAndForwardedToOrigin:
        CookiesConfig:
          CookieBehavior: none
        HeadersConfig:
          HeaderBehavior: none
        QueryStringsConfig:
          QueryStringBehavior: whitelist
          QueryStrings:
            - quality
            - format

# Reference the custom policy in a cache behavior
CacheBehaviors:
  - PathPattern: '/custom-path/*'
    TargetOriginId: ContentOrigin
    ViewerProtocolPolicy: 'https-only'
    CachePolicyId: !Ref CustomCachePolicy
```

## MediaTailor 設定の強化
<a name="enhance-mediatailor-config"></a>

高度な広告挿入機能を必要とするブロードキャストワークフローでは、広告プリフェッチ (レイテンシーを低減するため）、パーソナライゼーションしきい値、バンパー広告などのオプションを使用して MediaTailor 設定を強化できます。

```
MediaTailorPlaybackConfig:
  Type: AWS::MediaTailor::PlaybackConfiguration
  Properties:
    # Add ad prefetching for improved performance
    AvailSuppression:
      Mode: BEHIND_LIVE_EDGE
      Value: 00:00:00
    # Add personalization parameters
    PersonalizationThresholdSeconds: 2
    # Add bumper ads
    Bumper:
      StartUrl: https://example.com/bumper-start.mp4
      EndUrl: https://example.com/bumper-end.mp4
    # Other existing properties...
```

MediaTailor 設定オプションの詳細については、「」を参照してください[AWS Elemental MediaTailor を使用して広告を挿入する](configurations.md)。

## セキュリティ機能を追加する
<a name="add-security-features"></a>

特定のセキュリティ要件 (地理的制限や DDoS 攻撃に対する保護など) を持つブロードキャストワークフローでは、 AWS WAF 統合と地理的制限を追加できます。

```
# Create a AWS WAF Web ACL
WebACL:
  Type: AWS::WAFv2::WebACL
  Properties:
    Name: !Sub '${AWS::StackName}-WebACL'
    Scope: CloudFront
    DefaultAction:
      Allow: {}
    VisibilityConfig:
      SampledRequestsEnabled: true
      CloudWatchMetricsEnabled: true
      MetricName: !Sub '${AWS::StackName}-WebACL'
    Rules:
      - Name: RateLimitRule
        Priority: 0
        Action:
          Block: {}
        VisibilityConfig:
          SampledRequestsEnabled: true
          CloudWatchMetricsEnabled: true
          MetricName: RateLimitRule
        Statement:
          RateBasedStatement:
            Limit: 1000
            AggregateKeyType: IP

# Reference the AWS WAF Web ACL in the CloudFront distribution
CloudFrontDistribution:
  Type: AWS::CloudFront::Distribution
  Properties:
    DistributionConfig:
      WebACLId: !GetAtt WebACL.Arn
      # Add geo-restriction
      Restrictions:
        GeoRestriction:
          RestrictionType: whitelist
          Locations:
            - US
            - CA
            - GB
      # Other existing properties...
```

 CloudFormation テンプレートの詳細については、[AWS CloudFormation 「 ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)」を参照してください。

ブロードキャスト固有の CloudFormation テンプレートと例については、[AWS Media Services Tools GitHub リポジトリ](https://github.com/aws-samples/aws-media-services-tools)を参照してください。

# AWS CloudFormation AWS Elemental MediaTailor および Amazon CloudFront 統合の テンプレートリファレンス
<a name="cloudformation-template-reference"></a>

AWS Elemental MediaTailor Amazon CloudFront との統合は、次の完全な AWS CloudFormation テンプレートを使用して自動化できます。

```
AWSTemplateFormatVersion: '2010-09-09'
Description: | CloudFormation template that sets up AWS Elemental MediaTailor integration with CloudFront Distribution
  for server-side ad insertion. This template supports various content origins including MediaPackage, Amazon S3,
  and custom origins, making it versatile for different streaming architectures.

Parameters:
  AdServerUrl:
    Type: String
    Default: 'https://d1kbmkziz9rksx.CloudFront.net/VASTEndpoint.xml'
    Description: URL of the VAST ad server for dynamic ad insertion. Static VAST endpoint provided for testing. 

  ContentOriginDomainName:
    Type: String
    Description: |
      Domain name of your content origin without protocol (e.g., mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com,
      mybucket.s3.amazonaws.com, or custom-origin.example.com).
      Do not include http:// or https:// prefixes or any paths.
    AllowedPattern: "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$"
    ConstraintDescription: Must be a valid domain name (e.g., example.com) without protocol or path components. IP addresses are not allowed.

  ContentOriginType:
    Type: String
    AllowedValues:
      - mediapackagev2
      - s3
      - custom
    Default: mediapackagev2
    Description: |
      The type of content origin:
      - mediapackagev2: AWS Elemental MediaPackage V2
      - s3: Amazon S3 bucket
      - custom: Any other custom origin

Resources:
  #---------------------------------------------------------------------------
  # Origin Access Control (for securing MediaPackage V2 and Amazon S3 origins)
  #---------------------------------------------------------------------------
  CloudFrontOriginAccessControl:
    Type: AWS::CloudFront::OriginAccessControl
    Condition: IsNotCustomOrigin
    Properties:
      OriginAccessControlConfig:
        Name: !Sub '${AWS::StackName}-OAC'
        OriginAccessControlOriginType: !Ref ContentOriginType
        SigningBehavior: always
        SigningProtocol: sigv4
        Description: Origin Access Control for content origin

  #---------------------------------------------------------------------------
  # MediaTailor Playback Configuration
  #---------------------------------------------------------------------------
  MediaTailorPlaybackConfig:
    Type: AWS::MediaTailor::PlaybackConfiguration
    Properties:
      Name: !Sub '${AWS::StackName}-PlaybackConfig'
      # The video content source should point to your CloudFront distribution
      VideoContentSourceUrl: !Sub 'https://${CloudFrontDistribution.DomainName}/'
      # The Ad Decision Server URL is where MediaTailor will request ads
      AdDecisionServerUrl: !Ref AdServerUrl
      # Configuration for pre-roll ads during live streams
      LivePreRollConfiguration:
        AdDecisionServerUrl: !Ref AdServerUrl
        MaxDurationSeconds: 30
      # CDN configuration for integrating with CloudFront
      CdnConfiguration:
        AdSegmentUrlPrefix: '/'
        ContentSegmentUrlPrefix: '/'
      # Set a reasonable manifest segment timeout
      ManifestProcessingRules:
        AdMarkerPassthrough:
          Enabled: false

  #---------------------------------------------------------------------------
  # CloudFront Distribution
  #---------------------------------------------------------------------------
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Enabled: true
        HttpVersion: http2and3
        IPV6Enabled: true
        Comment: !Sub 'Distribution for MediaTailor ad insertion with ${ContentOriginType} origin'
        
        # Default cache behavior points to the content origin
        DefaultCacheBehavior:
          TargetOriginId: ContentOrigin
          ViewerProtocolPolicy: 'https-only'
          # Using managed policies for optimal performance and simplicity
          CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
          OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf # Managed-HostHeaderOnly
          ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
          Compress: true
        
        # Define all the origins needed for the workflow
        Origins:
          # Main content origin (MediaPackage, Amazon S3, or Custom)
          - Id: ContentOrigin
            DomainName: !Ref ContentOriginDomainName
            # Apply Origin Access Control for secure origins
            OriginAccessControlId: !If [IsNotCustomOrigin, !GetAtt CloudFrontOriginAccessControl.Id, !Ref "AWS::NoValue"]
            # For custom origins, we need a CustomOriginConfig
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
              HTTPPort: 80
              HTTPSPort: 443
              
          # MediaTailor Manifests Origin - handles manifest manipulation for ad insertion
          - Id: MediaTailorManifests
            DomainName: !Sub 'manifests.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
            # Origin Shield improves caching efficiency 
            OriginShield:
              Enabled: true
              OriginShieldRegion: !Ref AWS::Region
              
          # MediaTailor Segments Origin - handles personalized ads
          - Id: MediaTailorSegments
            DomainName: !Sub 'segments.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
        
        # Cache behaviors to route specific request patterns to the right origin
        CacheBehaviors:
          # Handle MediaTailor segment requests for ad content which are cache-able
          - PathPattern: '/tm/*'
            TargetOriginId: MediaTailorSegments
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor interstitial (SGAI) media requests which are cache-able
          - PathPattern: '/v1/i-media/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor Personalized manifests which are not cache-able
          - PathPattern: '/v1/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor segment *redirect* requests which are not cache-able (used for server side reporting)
          - PathPattern: '/segment/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true

Conditions:
  IsNotCustomOrigin: !Not [!Equals [!Ref ContentOriginType, 'custom']]

Outputs:
  CloudFrontDomainName:
    Description: Domain name of the CloudFront distribution
    Value: !GetAtt CloudFrontDistribution.DomainName
    
  HlsManifestUrl:
    Description: URL for HLS manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.HlsConfiguration.ManifestEndpointPrefix}'
    
  DashManifestUrl:
    Description: URL for DASH manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.DashConfiguration.ManifestEndpointPrefix}'
    
  MediaTailorPlaybackConfigName:
    Description: Name of the MediaTailor playback configuration
    Value: !Ref MediaTailorPlaybackConfig
```

# MediaTailor の本番稼働対応 CloudFront 設定
<a name="cf-comprehensive-configuration"></a>

この CloudFront ディストリビューション設定は、MediaTailor コンテンツをサーバー側の広告挿入で大規模に配信するために必要なすべてを提供します。この設定をコピーし、特定のオリジンと要件に合わせてカスタマイズします。

**この設定の目的**  
この設定により、最適なキャッシュとパフォーマンスですべての MediaTailor リクエストタイプを処理する、本稼働対応の CloudFront ディストリビューションが作成されます。これには、リクエストを正しくルーティングし、コンテンツを適切にキャッシュする 4 つのキャッシュ動作を持つ 3 つのオリジン (コンテンツ、MediaTailor セグメント、MediaTailor マニフェスト) が含まれます。

**この設定を使用するタイミング**  
この設定は、サーバー側の広告挿入を必要とするライブストリーミング、video-on-demand、ハイブリッドワークフローに最適です。

## 3 オリジンアーキテクチャ
<a name="cf-three-origin-architecture"></a>

MediaTailor は、3 つのオリジンアーキテクチャパターンを使用して、コンテンツ配信と広告挿入のパフォーマンスを最適化します。各オリジンは、広告挿入ワークフローで特定の目的を果たします。

コンテンツオリジン  
これは、MediaTailor にフィードする実際のコンテンツオリジンです。例えば、V AWS Elemental MediaPackage V2 や別のコンテンツ配信サービスなどです。このオリジンは、広告挿入前に元のコンテンツを提供します。一般的な例としては次のようなものがあります。  
+ MediaPackage V2 パッケージ設定
+ サードパーティーのコンテンツ配信ネットワーク
+ オンプレミスストリーミングサーバー
+ 静的コンテンツを含む Amazon S3 バケット

MediaTailor セグメントのオリジン  
このオリジンはホスト名を使用し`segments.mediatailor.region.amazonaws.com`、MediaTailor がエンコードした後に実際の広告セグメントを提供します。これらは広告を含む動画セグメントです。このオリジンは以下を処理します。  
+ コンテンツと同じ形式のトランスコードされた広告セグメント
+ `/segment/*` パスパターンからリダイレクトされたリクエスト
+ サーバー側の広告挿入用に処理された広告セグメント

MediaTailor マニフェストオリジン  
このオリジンはホスト名を使用し`manifests.mediatailor.region.amazonaws.com`、指定されたリージョンの再生設定の AWS リージョンホスト名として使用できます。MediaTailor は、リクエストのパスに基づいて正しい再生設定を選択します。このオリジンは以下を提供します。  
+ ビューワー固有の広告挿入を使用したパーソナライズされた HLS および DASH マニフェスト
+ キャッシュ可能なコンテンツのサーバーガイド広告挿入 (SGAI) マニフェスト
+ サーバー側のレポートの広告追跡とビーコン処理

オリジンホスト名 を使用すると`manifests.mediatailor.region.amazonaws.com`、指定されたリージョンにあり、リクエストパスに再生設定名を含めると、同じ CloudFront ディストリビューションで動作する複数の再生設定を持つことができます。例えば、次のようになります。
+ `https://your-distribution.cloudfront.net/v1/master/playback-config-1/manifest.m3u8`
+ `https://your-distribution.cloudfront.net/v1/master/playback-config-2/manifest.m3u8`

コンテンツタイプに基づいてオリジンリクエストポリシーを選択し、適切な機能を確保しながらキャッシュポイズニングを防止します。主な違いは、キャッシュ可能なコンテンツとキャッシュ不可能なコンテンツです。
+ **マニフェスト (キャッシュ不可)**: 動的コンテンツに必要なすべてのヘッダーを転送`AllViewer`するために使用します。マニフェストはキャッシュされないため、キャッシュポイズニングのリスクはありません。
+ **セグメント (キャッシュ可能)**: 最適なパフォーマンス`None`を得るために を使用します。
+ **S3 オリジン**: Amazon S3 バケット`CORS-S3Origin`に使用
+ **MediaPackage オリジン**: MediaPackage V2 エンドポイント`CORS-S3Origin`に使用

![\[Origins table showing ContentOrigin, MediaTailorSegments, and MediaTailorManifests with their respective details.\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/origins-cdn.png)


## キャッシュ動作の優先順位と設定
<a name="cf-behavior-precedence"></a>

MediaTailor では、さまざまなタイプのリクエストを適切に処理するために、特定のキャッシュ動作設定が必要です。CDNs処理し、最初の一致するパスパターンに動作を使用するため、キャッシュ動作の優先順位は重要です。この優先順位を理解することは、トラブルシューティングに不可欠です。
+ **優先順位 0**: ほとんどの特定のパターン ( など`/tm/*`) が最初に評価されます
+ **優先順位の高い数値**: より具体的なパターンが順番に評価される
+ **デフォルトの動作**: 他のパターンと一致しないすべてのリクエストをキャッチします

リクエストが想定どおりに動作しない場合は、パスパターンが意図しない方法で重複していないことを確認します。

![\[Table showing behaviors with path patterns, origins, and policies for different URL paths.\]](http://docs.aws.amazon.com/ja_jp/mediatailor/latest/ug/images/bhv.png)


### 優先順位 0: 広告セグメントのパス動作
<a name="cf-transcode-manage-behavior"></a>

この動作は、セグメントパス動作からのリダイレクトされたリクエストを処理し、実際の広告セグメントを処理します。CloudFront は、`/tm/*`パスパターンを持つすべてのリクエストに次の動作を適用します。これは、広告セグメント配信が中断のない再生に重要であるため、最も優先度の高い動作です。
+ **パスパターン:** `/tm/*`

  このパターンに一致する URLsの例:
  + `https://your-distribution.cloudfront.net/tm/ad-segment-001.ts`
  + `https://your-distribution.cloudfront.net/tm/transcoded-ad.m4s`
+ **オリジン:** `segments.mediatailor.region.amazonaws.com`ドメインで作成したオリジン。

  これは、オリジンに関する前のセクションの例の **MediaTailorSegments** です。
+ **キャッシュポリシー:** `Managed-CachingOptimized`

  CloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドの[CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)」を参照してください。サードパーティー CDN の 管理ポリシーからこれらの同じ設定を使用することもできます。
+ **オリジンリクエストポリシー:** `None`
+ **レスポンスヘッダーポリシー:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  レスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドの[CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)」を参照してください。

#### これらの設定を他の CDNs
<a name="adapting-to-other-cdns"></a>

CloudFront 以外の CDN を使用している場合は、以下を達成する同等の設定を探します。

**パスパターンマッチング**  
MediaTailor 広告セグメントを処理するように`/tm/*`パスパターンに特定の動作を設定する

**キャッシュキーの設定**  
キャッシュキーに `Origin`ヘッダーを含めて、レスポンスが異なるオリジンに対して個別にキャッシュされるようにします。

**ヘッダー転送**  
`Origin` ヘッダーおよびその他の CORS 関連ヘッダーをオリジンに転送する

**レスポンスヘッダー管理**  
`Access-Control-Allow-Origin` ヘッダーがレスポンスに存在することを確認するように CDN を設定する

特定の用語と設定オプションは CDN プロバイダーによって異なりますが、基盤となる原則は変わりません。

### 優先順位 1: サーバーガイド広告挿入動作
<a name="cf-sgai-behavior"></a>

この動作は、お客様がキャッシュ可能なマニフェストを提供するガイドモードを設定するときに [MediaTailor サーバーガイド広告挿入の概要と実装](server-guided.md) (SGAI) リクエストを処理します。CloudFront は、`/v1/i-media/*`パスパターンを持つすべてのリクエストに次の動作を適用します。SGAI では、マニフェストがビューワー固有ではないため、キャッシュパフォーマンスが向上します。
+ **パスパターン:** `/v1/i-media/*` (SGAI の iMedia パス)

  このパターンに一致する URLsの例:
  + `https://your-distribution.cloudfront.net/v1/i-media/your-config/manifest.m3u8`
  + `https://your-distribution.cloudfront.net/v1/i-media/your-config/playlist.mpd`
+ **オリジン:** `manifests.mediatailor.region.amazonaws.com`ドメインで作成したオリジン。

  これは、オリジンに関する前のセクションの例の **MediaTailorManifests** です。
+ **キャッシュポリシー:** `Managed-CachingOptimized`

  CloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドの[CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)」を参照してください。サードパーティー CDN の 管理ポリシーからこれらの同じ設定を使用することもできます。
+ **オリジンリクエストポリシー:** `None`
+ **レスポンスヘッダーポリシー:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  レスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドの[CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)」を参照してください。

### 優先順位 2: パーソナライズされたマニフェストの動作
<a name="cf-personalized-manifest-behavior"></a>

この動作は、パーソナライズされたマニフェストリクエストを処理します。CloudFront は、`/v1/*`パスパターンを持つすべてのリクエストに次の動作を適用します。CloudFront は、ビューワー固有の広告コンテンツ URLs が含まれているため、以下の動作を適用し、パーソナライズされたマニフェストをキャッシュしません。これらの動作は、`/v1/*`パスパターンを持つすべてのリクエストに適用されます。これは、各ビューワーがパーソナライズされた広告挿入を含む一意のマニフェストを受け取る主要な MediaTailor 機能です。
+ **パスパターン:** `/v1/*` (標準の V1 MediaTailor リクエスト)

  このパターンに一致する URLsの例:
  + `https://your-distribution.cloudfront.net/v1/master/your-config/manifest.m3u8`
  + `https://your-distribution.cloudfront.net/v1/dash/your-config/manifest.mpd`
+ **オリジン:** `manifests.mediatailor.region.amazonaws.com`ドメインで作成したオリジン。

  これは、オリジンに関する前のセクションの例の **MediaTailorManifests** です。
+ **キャッシュポリシー:** `Managed-CachingDisabled`

  キャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドの[CachingDisabled](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-caching-disabled)」を参照してください。
+ **オリジンリクエストポリシー:** `AllViewer`

  パーソナライズされたマニフェストの場合、 `AllViewer`ポリシーを使用して、動的コンテンツに必要なすべてのヘッダーを転送します。
+ **レスポンスヘッダーポリシー:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  レスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドの[CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)」を参照してください。

**Accept-Encoding ヘッダー**  
CDN はビューワーの `Accept-Encoding` ヘッダーを保持することをお勧めします。このヘッダーは、パーソナライズされたマニフェストの圧縮に関する指示を MediaTailor に与えます。

CloudFront では、`AllViewerAndCloudFrontHeaders`オリジンリクエストポリシーにビューワーからの `Accept-Encoding`ヘッダーのパススルーが含まれます。別の CDN を使用する場合は、このヘッダーが保持されていることを確認してください。

以下は、MediaTailor が `Accept-Encoding` ヘッダーを処理する方法です。
+ **レガシーデバイス:** gzip をサポートしていない古いスマートTVsは Accept-Encoding ヘッダーを送信しないため、MediaTailor は非圧縮マニフェストを返します
+ **最新のデバイス:** iPhones、Chrome ブラウザ、およびその他の最新のクライアントが Accept-Encoding ヘッダーを送信し、MediaTailor が配信前にマニフェストを圧縮できるようにします。

### 優先順位 3: サーバー側のビーコンパスの動作
<a name="cf-segment-path-behavior"></a>

この動作は、 のリダイレクトにつながる MediaTailor へのリクエストを処理します[サーバー側の追跡](ad-reporting-server-side.md)。これらのリクエストはビーコンの追跡に不可欠であるため、すべてのリクエストは MediaTailor によって処理される必要があります。CloudFront は、`/segment/*`パスパターンを持つすべてのリクエストに次の動作を適用します。
+ **パスパターン:** `/segment/*`

  このパターンに一致する URLsの例:
  + `https://your-distribution.cloudfront.net/segment/tracking-beacon-123`
  + `https://your-distribution.cloudfront.net/segment/ad-request-456.ts`
+ **オリジン:** `manifests.mediatailor.region.amazonaws.com`ドメインで作成したオリジン。

  これは、オリジンに関する前のセクションの例の **MediaTailorManifests** です。
+ **キャッシュポリシー:** `Managed-CachingDisabled`

  キャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドの[CachingDisabled](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-caching-disabled)」を参照してください。
+ **オリジンリクエストポリシー:** `AllViewer`

  サーバー側のビーコンリクエストの場合、 `AllViewer`ポリシーを使用して、追跡に必要なすべてのヘッダーを転送します。これらのリクエストはキャッシュされないため、キャッシュポイズニングのリスクはありません。
+ **レスポンスヘッダーポリシー:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  レスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドの[CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)」を参照してください。

MediaTailor がこれらのリクエストを処理すると、実際のセグメントの場所を指すパスを含む 302 リダイレクトレスポンスが返されます。たとえば、 へのリクエストは、セグメントのオリジン`/tm/encoded-ad-segment.ts`で にリダイレクト`/segment/ad123.ts`される場合があります。

### 優先順位 4: コンテンツオリジンパスの動作
<a name="cf-default-behavior"></a>

リクエストパスが他のパターンのいずれとも一致しない場合、CloudFront はデフォルトの動作を適用します。この動作は、MediaTailor からの処理なしで、リクエストをコンテンツオリジンに直接送信します。これにより、必要に応じてコンテンツオリジン (MediaPackage V2 など) に直接アクセスできます。CloudFront は、以前のパスパターンを含まないすべてのリクエストに次の動作を適用します。
+ **パスパターン:** `(*)` 
+ **オリジン:** コンテンツオリジンのドメインで作成したオリジン。

  これは、オリジンに関する前のセクションの例の **ContentOrigin** です。
+ **キャッシュポリシー:** `Managed-CachingOptimized`

  CloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドの[CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)」を参照してください。サードパーティー CDN の 管理ポリシーからこれらの同じ設定を使用することもできます。
**注記**  
低レイテンシーの HLS 実装では、標準ポリシーの代わりに低レイテンシー HLS (LLH) ディレクティブでカスタムキャッシュ`CachingOptimized`ポリシーを使用することを検討してください。
+ **オリジンリクエストポリシー:** `None`
+ **レスポンスヘッダーポリシー:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  デフォルトのコンテンツオリジン動作は通常、広告セグメント動作と同じ CORS キャッシュポイズニングリスクに直面しませんが、`Managed-CORS-with-preflight-and-SecurityHeadersPolicy`レスポンスヘッダーポリシーを使用し、キャッシュキーに `Origin`ヘッダーを含めることをお勧めします。これにより、すべてのコンテンツタイプで一貫した CORS 処理が可能になり、ウェブベースのプレイヤーで発生する可能性のある再生の問題を防ぐことができます。

  コンテンツセグメントの場合、`Managed-CachingOptimized`キャッシュポリシーは優れたパフォーマンスを提供し、`Managed-CORS-with-preflight-and-SecurityHeadersPolicy`レスポンスヘッダーポリシーは適切な CORS 処理を保証します。この組み合わせにより、CORS ヘッダーを必要とするウェブベースのプレイヤーとの互換性を維持しながら、効率的なキャッシュが可能になります。

  広告セグメントとコンテンツセグメントの両方に一貫した CORS 処理を適用すると、より信頼性の高い再生エクスペリエンスが得られ、トラブルシューティングが簡素化されます。適切な CORS 設定がないと、コンテンツと広告間の移行時にプレイヤーに一貫性のない動作が発生する可能性があります。

  レスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドの[CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)」を参照してください。

# CDN と MediaTailor の統合のサポートとトラブルシューティングのヘルプを取得する
<a name="cdn-get-help"></a>

AWS Elemental MediaTailor CDN 統合の問題は、診断と解決が複雑な場合があります。セルフサービスのトラブルシューティングでは解決できない CDN と MediaTailor の統合の問題に関する追加のヘルプが必要な場合は、このガイドを使用してください。

**エスカレーションする前に、以下のセルフサービスオプションを試してください。**
+ のトラブルシューティングステップに従います。 [CDN 統合のトラブルシューティング](cdn-troubleshooting.md)
+ を使用してログとエラーコードを分析する [CDN 統合ログ分析リファレンス](cdn-log-error-reference.md)
+ でモニタリング設定を確認する [モニタリングツールのセットアップ](cdn-monitoring.md#cdn-monitor-tools-setup)
+ サービス固有の問題については、[MediaTailor トラブルシューティングガイド](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html)を参照してください。
+ [AWS re:Post](https://repost.aws/) で同様の問題やコミュニティソリューションを検索する
+ [AWS ナレッジセンター](https://aws.amazon.com/premiumsupport/knowledge-center/)で一般的な統合パターンを確認する

**Topics**
+ [サポートにエスカレーションするタイミング](#when-to-escalate)
+ [サポート用情報の収集](#information-to-gather)
+ [サポートリソース](#support-resources)
+ [サポートケースのベストプラクティス](#support-case-best-practices)

## MediaTailor CDN の問題を AWS サポートにエスカレーションするタイミング
<a name="when-to-escalate"></a>

AWS Elemental MediaTailor セルフサービスのトラブルシューティングで問題が解決しない場合は、CDN 統合の問題を AWS サポートにエスカレーションする必要があります。以下の場合は、 サポートへの AWS エスカレーションを検討してください。

**注:** テクニカルサポートには有料 AWS サポートプランが必要です。サポートプランの詳細と対応時間については、[「AWS サポートプラン](https://aws.amazon.com/premiumsupport/plans/)」を参照してください。
+ 問題が本番トラフィックまたは収益に影響する
+ 解決せずにすべてのトラブルシューティング手順に従った
+ エラーパターンはサービスレベルの問題を示唆する
+ 複雑な設定シナリオについてはサポートが必要です
+ 最適化作業を行ってもパフォーマンスの問題は続く

## サポートに連絡する前に MediaTailor CDN 情報を収集する
<a name="information-to-gather"></a>

AWS Elemental MediaTailor CDN 統合のサポートケースでは、効果的なトラブルシューティングのために特定の設定と診断情報が必要です。 AWS サポートに連絡する前に、この情報を収集して解決を迅速化します。

**ヒント:** サポートケースを作成する前にこの情報を準備すると、解決時間が大幅に短縮され、サポートエンジニアが特定の設定を理解するのに役立ちます。
+ **MediaTailor 設定の詳細:**
  + 設定名と AWS リージョン
  + 再生設定 ARN
  + ADS URL と統合タイプ
+ **CDN 設定の詳細:**
  + CDN ディストリビューション ID または設定名
  + マニフェストとセグメントのキャッシュ動作設定
  + オリジン設定とルーティングルール
+ **エラー情報:**
  + 特定のエラーメッセージと HTTP ステータスコード
  + 問題が発生したときのタイムスタンプ
  + 問題を示すサンプル URLs 
  + 問題に関連する CDN および MediaTailor ログエントリ
+ **テスト情報:**
  + トラブルシューティングのために既に実行したステップ
  + 問題が発生したデバイスとプレイヤー
  + 問題がすべてのコンテンツまたは特定のストリームに影響するかどうか
  + 問題の頻度とパターン (断続的、一貫性、時間ベース)

## MediaTailor CDN 統合のサポートリソースとチャネル
<a name="support-resources"></a>

AWS Elemental MediaTailor CDN 統合のサポートは、問題の解決と実装の最適化に役立つ複数のチャネルを通じて利用できます。
+ **AWS サポート:** AWS マネジメントコンソールを使用してサポートケースを作成し、テクニカルサポートを受ける

  アクセス: [AWS サポートセンター](https://console.aws.amazon.com/support/home)
+ **AWS re:Post:** AWS関連する質問とコミュニティサポートのためのコミュニティ主導の Q&A プラットフォーム

  アクセス: [AWS re:Post](https://repost.aws/)
+ **AWS ドキュメント:** MediaTailor および CDN サービスの包括的なガイド

  アクセス: [MediaTailor ドキュメント](https://docs.aws.amazon.com/mediatailor/)と [CloudFront ドキュメント](cloudfront/)
+ **AWS トレーニング:** メディアサービスと CDN 最適化のコースと認定

  アクセス: [AWS トレーニングと認定](https://aws.amazon.com/training/)
+ **AWS ナレッジセンター:** 一般的な AWS 問題とベストプラクティスに関する厳選された記事

  アクセス: [AWS ナレッジセンター](https://aws.amazon.com/premiumsupport/knowledge-center/)
+ **AWS Trusted Advisor:** 最適化とベストプラクティスに関する自動レコメンデーション

  アクセス: [AWS Trusted Advisor](https://console.aws.amazon.com/trustedadvisor/home)
+ **AWS Personal Health Dashboard:** サービスのヘルスとメンテナンスの通知

  アクセス: [AWS Personal Health Dashboard](https://console.aws.amazon.com/phd/home)

## MediaTailor CDN 統合サポートケースのベストプラクティス
<a name="support-case-best-practices"></a>

AWS Elemental MediaTailor CDN 統合のサポートケースは、これらのベストプラクティスに従うとより効率的に解決されます。最速の解像度を得るには:
+ ビジネスへの影響に基づいて適切な重要度レベルを選択する
+ 最初のケース送信ですべての関連情報を入力する
+ 特定の例と再現手順を含める
+ 関連するログファイルと設定スクリーンショットをアタッチする
+ エンジニアからの追加情報のリクエストにすみやかに対応する

**その他のサポートリソース:**
+ [AWS サポートケース管理](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) - サポートケースの作成と管理に関するガイド
+ [AWS サポートプラン](https://aws.amazon.com/premiumsupport/plans/) - サポートプランの特徴と対応時間を比較する
+ [ワークロードをサポートする準備をする](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/prepare-to-support-workloads.html) - 運用準備のための Well-Architected ガイダンス
+ [AWS Well-Architected フレームワーク](https://aws.amazon.com/architecture/well-architected/) - でワークロードを構築および運用するためのベストプラクティス AWS