翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MediaTailor の本番稼働対応 CloudFront 設定
この CloudFront ディストリビューション設定は、MediaTailor コンテンツをサーバー側の広告挿入で大規模に配信するために必要なすべてを提供します。この設定をコピーし、特定のオリジンと要件に合わせてカスタマイズします。
この設定の目的
この設定では、すべての MediaTailor リクエストタイプを最適なキャッシュとパフォーマンスで処理する、本番環境に対応した CloudFront ディストリビューションを作成します。これには、リクエストを正しくルーティングし、コンテンツを適切にキャッシュする 4 つのキャッシュ動作を持つ 3 つのオリジン (コンテンツ、MediaTailor セグメント、MediaTailor マニフェスト) が含まれます。
この設定を使用するタイミング
この設定は、サーバー側の広告挿入を必要とするライブストリーミング、video-on-demand、ハイブリッドワークフローに最適です。
3 オリジンアーキテクチャ
MediaTailor は、3 つのオリジンアーキテクチャパターンを使用して、コンテンツ配信と広告挿入のパフォーマンスを最適化します。各オリジンは、広告挿入ワークフローで特定の目的を果たします。
- コンテンツオリジン
-
これは、MediaTailor にフィードする実際のコンテンツオリジンです。例えば、V AWS Elemental MediaPackage V2 や別のコンテンツ配信サービスなどです。このオリジンは、広告挿入前に元のコンテンツを提供します。一般的な例は次のとおりです。
-
MediaPackage V2 パッケージ設定
-
サードパーティーのコンテンツ配信ネットワーク
-
オンプレミスストリーミングサーバー
-
静的コンテンツを含む Amazon S3 バケット
-
- MediaTailor セグメントのオリジン
-
このオリジンはホスト名を使用し
segments.mediatailor.、MediaTailor がエンコードした後に実際の広告セグメントを提供します。これらは、広告を含む動画セグメントです。このオリジンは以下を処理します。region.amazonaws.com.rproxy.govskope.ca-
コンテンツと同じ形式のトランスコードされた広告セグメント
-
/segment/*パスパターンからリダイレクトされたリクエスト -
サーバー側の広告挿入用に処理された広告セグメント
-
- MediaTailor マニフェストオリジン
-
このオリジン
manifests.mediatailor.はホスト名を使用し、指定されたリージョンの再生設定の AWS リージョンホスト名として使用できます。MediaTailor は、リクエストのパスに基づいて正しい再生設定を選択します。このオリジンは以下を提供します。region.amazonaws.com.rproxy.govskope.ca-
ビューワー固有の広告挿入を使用したパーソナライズされた HLS および DASH マニフェスト
-
キャッシュ可能なコンテンツのサーバーガイド広告挿入 (SGAI) マニフェスト
-
サーバー側のレポートの広告追跡とビーコン処理
-
オリジンホスト名 を使用するとmanifests.mediatailor.、指定されたリージョンにあり、リクエストパスに再生設定名を含めると、同じ CloudFront ディストリビューションで動作する複数の再生設定を持つことができます。例:region.amazonaws.com
-
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に使用
キャッシュ動作の優先順位と設定
MediaTailor では、さまざまなタイプのリクエストを適切に処理するために、特定のキャッシュ動作設定が必要です。CDNs処理し、最初の一致するパスパターンに動作を使用するため、キャッシュ動作の優先順位は重要です。この優先順位を理解することは、トラブルシューティングに不可欠です。
-
優先順位 0: ほとんどの特定のパターン ( など
/tm/*) が最初に評価されます -
優先順位が高い: より具体的なパターンが順番に評価される
-
デフォルトの動作: 他のパターンと一致しないすべてのリクエストをキャッチします
リクエストが想定どおりに動作しない場合は、パスパターンが意図しない方法で重複していないことを確認します。
優先順位 0: 広告セグメントのパス動作
この動作は、セグメントパス動作からのリダイレクトされたリクエストを処理し、実際の広告セグメントを処理します。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-CachingOptimizedCloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドのCachingOptimized」を参照してください。サードパーティー CDN の 管理ポリシーからこれらの同じ設定を使用することもできます。
-
オリジンリクエストポリシー:
None -
レスポンスヘッダーポリシー:
Managed-CORS-with-preflight-and-SecurityHeadersPolicyレスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドのCORS-with-preflight-and-SecurityHeadersPolicy」を参照してください。
これらの設定を他の CDNs
CloudFront 以外の CDN を使用している場合は、以下を達成する同等の設定を探します。
- パスパターンマッチング
-
MediaTailor 広告セグメントを処理するように
/tm/*パスパターンに特定の動作を設定する - キャッシュキーの設定
-
キャッシュキーに
Originヘッダーを含めて、レスポンスが異なるオリジンに対して個別にキャッシュされるようにします。 - ヘッダー転送
-
Originヘッダーおよびその他の CORS 関連ヘッダーをオリジンに転送する - レスポンスヘッダー管理
-
Access-Control-Allow-Originヘッダーがレスポンスに存在することを確認するように CDN を設定する
特定の用語と設定オプションは CDN プロバイダーによって異なりますが、基盤となる原則は変わりません。
優先順位 1: サーバーガイド広告挿入動作
この動作は、お客様がキャッシュ可能なマニフェストを提供するガイドモードを設定するときに AWS Elemental MediaTailor サーバーガイド広告挿入について (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-CachingOptimizedCloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドのCachingOptimized」を参照してください。サードパーティー CDN の 管理ポリシーからこれらの同じ設定を使用することもできます。
-
オリジンリクエストポリシー:
None -
レスポンスヘッダーポリシー:
Managed-CORS-with-preflight-and-SecurityHeadersPolicyレスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドのCORS-with-preflight-and-SecurityHeadersPolicy」を参照してください。
優先順位 2: パーソナライズされたマニフェストの動作
この動作は、パーソナライズされたマニフェストリクエストを処理します。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」を参照してください。
-
オリジンリクエストポリシー:
AllViewerパーソナライズされたマニフェストの場合は、
AllViewerポリシーを使用して、動的コンテンツに必要なすべてのヘッダーを転送します。 -
レスポンスヘッダーポリシー:
Managed-CORS-with-preflight-and-SecurityHeadersPolicyレスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドのCORS-with-preflight-and-SecurityHeadersPolicy」を参照してください。
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: サーバー側のビーコンパスの動作
この動作は、 のリダイレクトにつながる MediaTailor へのリクエストを処理しますサーバー側の追跡。これらのリクエストはビーコンの追跡に不可欠であるため、すべてのリクエストは 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」を参照してください。
-
オリジンリクエストポリシー:
AllViewerサーバー側のビーコンリクエストの場合、
AllViewerポリシーを使用して、追跡に必要なすべてのヘッダーを転送します。これらのリクエストはキャッシュされないため、キャッシュポイズニングのリスクはありません。 -
レスポンスヘッダーポリシー:
Managed-CORS-with-preflight-and-SecurityHeadersPolicyレスポンスヘッダーポリシーに含まれる内容の詳細については、CloudFront ユーザーガイドのCORS-with-preflight-and-SecurityHeadersPolicy」を参照してください。
MediaTailor がこれらのリクエストを処理すると、実際のセグメントの場所を指すパスを持つ 302 リダイレクトレスポンスが返されます。たとえば、 へのリクエストは、セグメントオリジン/tm/encoded-ad-segment.tsの にリダイレクト/segment/ad123.tsされる場合があります。
優先順位 4: コンテンツオリジンパスの動作
リクエストパスが他のパターンのいずれとも一致しない場合、CloudFront はデフォルトの動作を適用します。この動作は、MediaTailor からの処理なしで、リクエストをコンテンツオリジンに直接送信します。これにより、必要に応じてコンテンツオリジン (MediaPackage V2 など) に直接アクセスできます。CloudFront は、以前のパスパターンを含まないすべてのリクエストに次の動作を適用します。
-
パスパターン:
(*) -
オリジン: コンテンツオリジンのドメインで作成したオリジン。
これは、オリジンに関する前のセクションの例の ContentOrigin です。
-
キャッシュポリシー:
Managed-CachingOptimizedCloudFront マネージドキャッシュポリシーの内容の詳細については、CloudFront ユーザーガイドのCachingOptimized」を参照してください。サードパーティー 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」を参照してください。