

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

# MediaTailor 的生產就緒 CloudFront 組態
<a name="cf-comprehensive-configuration"></a>

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

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

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

## 三來源架構
<a name="cf-three-origin-architecture"></a>

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`

根據內容類型選取原始伺服器請求政策，以防止快取中毒，同時確保適當的功能。金鑰區別在於可快取和不可快取的內容：
+ **資訊清單 （不可快取）**：使用 `AllViewer`轉送動態內容所需的所有標頭。由於資訊清單未快取，因此沒有快取中毒風險。
+ **Segments （可快取）**：使用 `None` 以獲得最佳效能。
+ **S3 原始**伺服器：`CORS-S3Origin`用於 Amazon S3 儲存貯體
+ **MediaPackage 原始**伺服器：`CORS-S3Origin`用於 MediaPackage V2 端點

![原始伺服器資料表顯示原始伺服器名稱、網域、路徑、類型、 Shield 區域和存取資料欄。](http://docs.aws.amazon.com/zh_tw/mediatailor/latest/ug/images/origins-cdn.png)


## 快取行為優先順序和組態
<a name="cf-behavior-precedence"></a>

MediaTailor 需要特定的快取行為組態，才能正確處理不同類型的請求。快取行為的優先順序至關重要，因為 CDNs會依序處理它們 （從最小到最大），並針對第一個相符路徑模式使用行為。了解此優先順序對於疑難排解至關重要：
+ **優先順序 0**：先評估大多數特定模式 （例如 `/tm/*`)
+ **較高的優先順序數字**：依順序評估較不明確的模式
+ **預設行為**：截獲不符合其他模式的所有請求

如果請求的行為不如預期，請檢查您的路徑模式是否以非預期的方式重疊。

![行為資料表顯示優先順序、路徑模式、原始伺服器群組和政策組態。](http://docs.aws.amazon.com/zh_tw/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，請尋找可完成下列操作的同等設定。

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

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

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

**回應標頭管理**  
設定您的 CDN 以確保回應中存在 `Access-Control-Allow-Origin`標頭

特定術語和組態選項會因 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 重新導向回應。例如，對 的請求`/segment/ad123.ts`可能會重新導向至區段原始`/tm/encoded-ad-segment.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 處理一致，並防止 Web 型播放器的潛在播放問題。

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

  在廣告區段和內容區段之間套用一致的 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)。