MediaTailor 的生產就緒 CloudFront 組態 - AWS Elemental MediaTailor

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

MediaTailor 的生產就緒 CloudFront 組態

此 CloudFront 分佈組態提供交付 MediaTailor 內容所需的一切,以及大規模的伺服器端廣告插入。複製此組態,並根據您的特定原始伺服器和需求進行自訂。

此組態所完成的事項

此組態會建立生產就緒的 CloudFront 分佈,以最佳快取和效能處理所有 MediaTailor 請求類型。它包含三個原始伺服器 (您的內容、MediaTailor 區段和 MediaTailor 資訊清單),具有四個快取行為,可正確路由請求並適當地快取內容。

何時使用此組態

此設定非常適合需要伺服器端廣告插入的即時串流、video-on-demand和混合工作流程。

三來源架構

MediaTailor 使用三來源架構模式來最佳化內容交付和廣告插入效能。每個原始伺服器在廣告插入工作流程中都有特定用途:

您的內容原始伺服器

這是饋送 MediaTailor 的真實內容原始伺服器。例如,這可能是 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

根據您的特定內容原始伺服器需求,檢閱和調整原始伺服器請求政策。此範例使用 S3 原始伺服器政策,但自訂原始伺服器可能需要不同的政策。選取原始伺服器請求政策時,請考慮下列因素:

  • S3 原始伺服器:Managed-CORS-S3Origin用於 Amazon S3 儲存貯體

  • 自訂原始伺服器:將 Managed-AllViewerManaged-AllViewerAndCloudFrontHeaders-2022-6用於自訂 HTTP 原始伺服器

  • MediaPackage 原始伺服器:Managed-CORS-S3Origin用於 MediaPackage V2 端點

Origins table showing ContentOrigin, MediaTailorSegments, and MediaTailorManifests with their respective details.

快取行為優先順序和組態

MediaTailor 需要特定的快取行為組態,才能正確處理不同類型的請求。快取行為的優先順序至關重要,因為 CDNs會依序處理它們 (從最小到最大),並針對第一個相符路徑模式使用行為。了解此優先順序對於疑難排解至關重要:

  • 優先順序 0:先評估大多數特定模式 (例如 /tm/*)

  • 較高的優先順序數字:依順序評估較不具體的模式

  • 預設行為:截獲不符合其他模式的所有請求

如果請求未如預期運作,請檢查您的路徑模式是否以非預期的方式重疊。

Table showing behaviors with path patterns, origins, and policies for different URL paths.

優先順序 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-CachingOptimized

    Managed-CachingOptimized 快取政策應設定為在快取金鑰中包含 Origin 標頭,以防止 CORS 快取中毒問題。如果快取金鑰中沒有 Origin標頭,可能會發生下列情況:

    1. CloudFront 會接收和快取沒有 Origin標頭的請求

    2. 具有 Origin標頭的後續請求會收到快取的回應 (缺少 CORS 標頭)

    3. 瀏覽器因為缺少 CORS 標頭而拒絕回應,導致播放失敗

    如需 CloudFront 受管快取政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CachingOptimized。您也可以從第三方 CDN 中的 受管政策使用這些相同的設定。

  • 原始伺服器請求政策: Managed-CORS-S3Origin

    如需 CloudFront 受管原始伺服器請求政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CORS-S3Origin。您也可以從第三方 CDN 中的 受管政策使用這些相同的設定。

  • 回應標頭政策: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    使用Managed-CORS-with-preflight-and-SecurityHeadersPolicy回應標頭政策對於防止 CORS 快取中毒至關重要。此政策可確保 CloudFront 在回應中包含 Access-Control-Allow-Origin標頭,這是 Web 型玩家從不同原始伺服器存取廣告區段的必要項目。

    如需回應標頭政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CORS-with-preflight-and-SecurityHeadersPolicy

將這些設定調整為其他 CDNs

如果您使用的是 CloudFront 以外的 CDN,請尋找可完成下列操作的同等設定。

路徑模式比對

設定/tm/*路徑模式的特定行為來處理 MediaTailor 廣告區段

快取金鑰組態

在您的快取金鑰中包含 Origin標頭,以確保針對不同的原始伺服器個別快取回應

標頭轉送

Origin 標頭和其他 CORS 相關標頭轉送至原始伺服器

回應標頭管理

設定 CDN 以確保回應中存在 Access-Control-Allow-Origin標頭

特定術語和組態選項會因 CDN 供應商而異,但基礎原則保持不變。

優先順序 1:伺服器引導的廣告插入行為

當客戶設定提供可快取資訊清單的引導模式時,此行為會處理 了解 AWS Elemental MediaTailor 伺服器引導廣告插入(SGAI) 請求。CloudFront 會將下列行為套用至具有/i-media/*路徑模式的所有請求。SGAI 允許更好的快取效能,因為資訊清單不是檢視器特定。

  • 路徑模式:/i-media/*(SGAI 的 iMedia 路徑)

    符合此模式的範例 URLs:

    • https://your-distribution.cloudfront.net/i-media/your-config/manifest.m3u8

    • https://your-distribution.cloudfront.net/i-media/your-config/playlist.mpd

  • 原始伺服器:您使用manifests.mediatailor.region.amazonaws.com網域建立的原始伺服器。

    這是上一節原始伺服器範例中的 MediaTailorManifests

  • 快取政策: Managed-CachingOptimized

    如需 CloudFront 受管快取政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CachingOptimized。您也可以從第三方 CDN 中的 受管政策使用這些相同的設定。

  • 原始伺服器請求政策: Managed-CORS-S3Origin

    如需 CloudFront 受管原始伺服器請求政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CORS-S3Origin。您也可以從第三方 CDN 中的 受管政策使用這些相同的設定。

  • 回應標頭政策: 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

  • 原始伺服器請求政策: Managed-AllViewerAndCloudFrontHeaders-2022-6

    如需原始伺服器請求政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 AllViewerAndCloudFrontHeaders-2022-6

  • 回應標頭政策: 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

  • 原始伺服器請求政策: Managed-AllViewerAndCloudFrontHeaders-2022-6

    如需原始伺服器請求政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 AllViewerAndCloudFrontHeaders-2022-6

  • 回應標頭政策: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    如需回應標頭政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CORS-with-preflight-and-SecurityHeadersPolicy

當 MediaTailor 處理這些請求時,會傳回路徑指向實際客群位置的 302 重新導向回應。例如,對 的請求/segment/ad123.ts可能會在區段原始/tm/encoded-ad-segment.ts伺服器重新導向至 。

優先順序 4:內容原始伺服器路徑行為

如果請求路徑不符合任何其他模式,CloudFront 會套用預設行為。此行為會將請求直接傳送至內容原始伺服器,而沒有來自 MediaTailor 的處理。這允許在需要時直接存取您的內容原始伺服器 (例如 MediaPackage V2)。CloudFront 會將下列行為套用至不包含任何先前路徑模式的所有請求。

  • 路徑模式: (*)

  • 原始伺服器:您使用內容原始伺服器的網域建立的原始伺服器。

    這是上一節原始伺服器範例中的 ContentOrigin

  • 快取政策: Managed-CachingOptimized

    如需 CloudFront 受管快取政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CachingOptimized。您也可以從第三方 CDN 中的 受管政策使用這些相同的設定。

    注意

    對於低延遲 HLS 實作,請考慮使用具有低延遲 HLS (LLH) 指令的自訂快取政策,而非標準CachingOptimized政策。

  • 原始伺服器請求政策:設定為將適當的標頭和查詢字串參數傳遞到您的內容原始伺服器。如需可用受管原始伺服器請求政策的相關資訊,請參閱《CF 開發人員指南》中的使用受管原始伺服器請求政策

  • 回應標頭政策: Managed-CORS-with-preflight-and-SecurityHeadersPolicy

    雖然預設內容原始伺服器行為通常不會面臨與廣告區段行為相同的 CORS 快取中毒風險,但仍建議使用Managed-CORS-with-preflight-and-SecurityHeadersPolicy回應標頭政策,並在快取金鑰中包含 Origin 標頭。這可確保所有內容類型的 CORS 處理一致,並防止 Web 型播放器中潛在的播放問題。

    對於內容區段,Managed-CachingOptimized快取政策提供良好的效能,而Managed-CORS-with-preflight-and-SecurityHeadersPolicy回應標頭政策可確保適當的 CORS 處理。此組合允許高效快取,同時維持與需要 CORS 標頭的 Web 型玩家的相容性。

    在廣告區段和內容區段之間套用一致的 CORS 處理,可建立更可靠的播放體驗,並簡化故障診斷。如果沒有適當的 CORS 組態,玩家在內容和廣告之間轉換時可能會遇到不一致的行為。

    如需回應標頭政策中包含內容的詳細資訊,請參閱 CloudFront 使用者指南中的 CORS-with-preflight-and-SecurityHeadersPolicy