

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

# 設定與 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：//[https://console.aws.amazon.com/cloudfront/v3/home](https://console.aws.amazon.com/cloudfront/v3/home) 開啟 CloudFront 主控台。

1. 選擇 **Create Distribution (建立分佈)**。

1. 對於**原始網域**，輸入您的 MediaTailor 端點 URL （例如 `a1b2c3d4.mediatailor.us-west-2.amazonaws.com`)。

1. 對於**通訊協定**，**僅選取 HTTPS**。

1. 針對**名稱**，輸入可協助您識別此原始伺服器的名稱 （例如 `mediatailor-origin`)。

1. 設定預設快取行為設定：

   1. 對於**路徑模式**，請使用預設值 (`*`)。

   1. 對於**自動壓縮物件**，選取**是**。

   1. 針對**檢視器通訊協定政策**，選取將 **HTTP 重新導向至 HTTPS**。

   1. 針對**允許的 HTTP 方法**，選取 **GET、HEAD**。

   1. 針對**快取政策**，選取 **CachingDisabled**。

   1. 針對**原始伺服器請求政策**，選取 **AllViewer** 轉送預設行為的所有標頭。
**注意**  
預設行為使用 AllViewer 安全地處理不符合特定路徑模式的任何內容。資訊清單和區段的特定快取行為將使用適當的政策單獨設定。

1. 設定分佈設定：

   1. 針對**價格類別**，選取最符合您對象位置的選項。

   1. 針對 **AWS WAF Web ACL**，選取現有的 Web ACL 或保持**為不啟用安全保護**。

   1. 對於**預設根物件**，請保留空白。

   1. 針對**標準記錄**，選取**開啟**以啟用記錄。

1. 選擇 **Create Distribution (建立分佈)**。

## 設定快取行為
<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. 對於**路徑模式**，輸入 `*.m3u8` 以符合 HLS 多變量和媒體播放清單。

1. 針對**原始**伺服器，選取您的 MediaTailor 原始伺服器。

1. 針對**快取政策**，選取 **CachingDisabled**。

1. 針對**原始伺服器請求政策**，選取 **AllViewer** 轉送動態內容的所有必要標頭。

1. 選擇**建立**。

1. 使用路徑模式對 DASH 資訊清單重複這些步驟`*.mpd`，以符合 MPDs。

此組態可確保每個瀏覽者都會收到具有其特定廣告內容的個人化資訊清單。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. 針對**路徑模式**，輸入 `/tm/*`以符合 MediaTailor 提供的廣告區段。

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. 對於**路徑模式**，輸入 `*.ts`以符合 HLS 內容區段。

1. 針對**原始**伺服器，選取您的內容原始伺服器。

1. 針對**快取政策**，選取**CachingOptimized**。

1. 針對**原始伺服器請求政策**，選取**無**。

1. 針對**回應標頭政策**，選取 **CORS-with-preflight-and-SecurityHeadersPolicy**，以確保所有內容類型的 CORS 處理一致。

1. 選擇**建立**。

1. 使用適當的路徑模式，針對其他內容區段格式重複這些步驟：
   + `*.mp4` 適用於 MP4 區段
   + `*.m4s` 適用於 DASH 客群
   + `*.cmfv` CMAF 區段`*.cmfa`的 和

此組態可確保廣告區段和內容區段透過適當的 CORS 處理進行適當的快取。廣告區段使用 MediaTailor 區段原始伺服器搭配 CORS 保護，而內容區段則使用內容原始伺服器搭配最佳化快取政策。

## 更新 MediaTailor 組態
<a name="cf-mediatailor-config"></a>

設定 CloudFront 分佈之後，請更新您的 MediaTailor 組態以使用 CloudFront 網域：

**更新您的 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)**：將 `CachingDisabled`和 `AllViewer`用於動態內容
+ **區段行為 (\$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))