

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

# 教學課程：使用 Amazon S3、Amazon CloudFront 和 Amazon Route 53 託管隨需串流影片
<a name="tutorial-s3-cloudfront-route53-video-streaming"></a>

您可以使用 Amazon S3 搭配 Amazon CloudFront 來託管影片，以安全和可擴展性的方式隨需觀看。隨需影片 (VOD) 串流意指您的影片內容會存放在伺服器上，瀏覽者隨時都可以觀看。

CloudFront 是一個快速、高度安全且可程式化的內容交付網路 (CDN) 服務。CloudFront 可以透過 HTTPS 安全地從 CloudFront 的所有全球節點交付您的內容。如需有關 CloudFront 的詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的 [Amazon CloudFront 介紹](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)。

CloudFront 快取可減少原始伺服器必須直接回應的請求數。瀏覽者 (最終使用者) 請求您透過 CloudFront 提供的影片時，請求會路由到靠近瀏覽者所在位置的附近邊緣節點。CloudFront 從其快取提供影片，只有在尚未快取的情況下才會從 S3 儲存貯體擷取影片。如此一來，此快取管理功能可透過低延遲、高輸送量和高傳輸速度，加快您的影片交付給全球瀏覽者的速度。如需 CloudFront Front 快取管理的詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[最佳化快取和可用性](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html)。

![顯示 CloudFront 快取機制的運作方式的圖表。](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/cf-example-image-global.png)


**目標**  
在本教學課程中，您將設定 S3 儲存貯體託管隨需影片串流，以使用 CloudFront 進行交付，以及使用 Amazon Route 53 進行網域名稱系統 (DNS) 和自訂網域管理。

**Topics**
+ [先決條件：使用 Route 53 註冊並設定自訂網域](#cf-s3-prerequisites)
+ [步驟 1：建立 S3 儲存貯體](#cf-s3-step1)
+ [步驟 2：將影片上傳至 S3 儲存貯體](#cf-s3-step2)
+ [步驟 3：建立 CloudFront 原始存取身分](#cf-s3-step3)
+ [步驟 4：建立 CloudFront 分佈](#cf-s3-step4)
+ [步驟 5：透過 CloudFront 分佈存取影片](#cf-s3-step5)
+ [步驟 6：將您的 CloudFront 分佈設定為使用您的自訂網域名稱](#cf-s3-step6)
+ [步驟 7：使用自訂網域名稱透過 CloudFront 分佈存取 S3 影片](#cf-s3-step7)
+ [(選用) 步驟 8：檢視有關 CloudFront 分佈收到的請求的資料](#cf-s3-step8)
+ [步驟 9：清除](#cf-s3-step9)
+ [後續步驟](#cf-s3-next-steps)

## 先決條件：使用 Route 53 註冊並設定自訂網域
<a name="cf-s3-prerequisites"></a>

開始此教學課程之前，您必須使用 Route 53 註冊並設定自訂網域 (例如，**example.com**)，以便稍後將 CloudFront 分佈設定為使用自訂網域名稱。

如果沒有自訂網域名稱，您的 S3 影片可以透過 CloudFront 公開存取並託管類似於下列內容的 URL：

```
https://{{CloudFront distribution domain name}}/{{Path to an S3 video}}
```

例如 **https://d111111abcdef8.cloudfront.net/sample.mp4**。

在您將 CloudFront 分佈設定為使用透過 Route 53 設定的自訂網域名稱，您的 S3 影片可以透過 CloudFront 公開存取並託管類似於下列內容的 URL：

```
https://{{CloudFront distribution alternate domain name}}/{{Path to an S3 video}}
```

例如 **https://www.example.com/sample.mp4**。自訂網域名稱對瀏覽者而言更簡單，也更直觀。

****  
若要註冊自訂網域，請參閱《Amazon Route 53 開發人員指南》**中的[使用 Route 53 註冊新網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)。

當您使用 Route 53 註冊網域名稱時，Route 53 會為您建立託管區域，而您將在本教學課程稍後使用該區域。此託管區域用於存放有關如何路由網域流量的資訊，例如路由到 Amazon EC2 執行個體或 CloudFront 分佈。

網域註冊、託管區域以及您網域收到的 DNS 查詢會有相關費用。如需詳細資訊，請參閱 [Amazon Route 53 定價](https://aws.amazon.com/route53/pricing/)。

**注意**  
當您註冊網域時，會立即支付費用，而且無法復原。您可以選擇不自動續約網域，但您已預先付款且該年度擁有該網域。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[註冊新網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)。

## 步驟 1：建立 S3 儲存貯體
<a name="cf-s3-step1"></a>

建立儲存貯體來存放您計劃串流的原始影片。

**建立儲存貯體**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 開啟 Amazon S3 主控台。

1. 在頁面頂端的導覽列中，選擇目前顯示的名稱 AWS 區域。​接下來，選擇您要在其中建立儲存貯體的區域。
**注意**  
請選擇接近您的區域，以充分降低延遲及成本，並因應法規要求。除非您明確地將儲存在區域中的物件傳輸到其他區域，否則物件絕對不會離開該區域。如需 Amazon S3 AWS 區域的清單，請參閱 中的[AWS 服務 端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)*Amazon Web Services 一般參考*。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 選擇 **Create bucket** (建立儲存貯體)。**Create bucket (建立儲存貯體)** 頁面隨即開啟。

1. 針對 **Bucket name** (儲存貯體名稱)，輸入儲存貯體的名稱 (例如 **tutorial-bucket**)。

   如需有關在 Amazon S3 中的命名儲存貯體的詳細資訊，請參閱 [一般用途儲存貯體命名規則](bucketnamingrules.md)。

1. 針對**區域**，選擇您希望儲存貯體所在的 AWS 區域 。

   如果可能的話，您應該挑選最接近大多數瀏覽者的區域。如需有關儲存貯體區域的詳細資訊，請參閱 [一般用途儲存貯體概觀](UsingBucket.md) 。

1. 針對 **Block Public Access settings for this bucket** (此儲存貯體的封鎖公開存取設定)，將保留預設設定 (已啟用**封鎖*所有*公開存取**)。

   即使啟用 **Block *all* public access** (封鎖所有公開存取)，瀏覽者仍然可以透過 CloudFront 存取已上傳的影片。此功能是使用 CloudFront 來託管存放在 S3 中的影片的主要優勢。

   除非您需要針對使用案例關閉一或多個設定，否則建議您將所有設定保持啟用狀態。如需封鎖公開存取的詳細資訊，請參閱 [封鎖對 Amazon S3 儲存體的公開存取權](access-control-block-public-access.md)。

1. 對於其他設定，請保留預設值。

   (選用) 如果您想要為您的特定使用案例設定其他儲存貯體設定，請參閱 [建立一般用途儲存貯體](create-bucket-overview.md)。

1. 選擇**建立儲存貯體**。

## 步驟 2：將影片上傳至 S3 儲存貯體
<a name="cf-s3-step2"></a>

下列程序說明如何使用主控台將影片檔案上傳至 S3 儲存貯體。如果您正在上傳許多大型影片到 S3，您會想要使用 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration) 來設定快速且安全的檔案傳輸。傳輸加速可以加快影片上傳到 S3 儲存貯體的速度，以便長途傳輸較大的影片。如需詳細資訊，請參閱[使用 Amazon S3 Transfer Acceleration 設定快速安全的檔案傳輸](transfer-acceleration.md)。

**將檔案上傳至儲存貯體**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇**一般用途儲存貯體**。

1. 在**一般用途儲存貯體**清單中，選擇您在[步驟 1](#cf-s3-step1) 中建立的，且要將檔案上傳至的儲存貯體的名稱 (例如，**tutorial-bucket**)。

1. 在儲存貯體的**物件**索引標籤上，選擇**上傳**。

1. 在 **Upload** (上傳) 頁面上的 **Files and folders** (檔案和資料夾) 下，選擇 **Add files** (新增檔案)。

1. 選擇要上傳的檔案，然後選擇 **Open (開啟)**。

   例如，您可以上傳名為 `sample.mp4` 的影片檔案。

1. 選擇**上傳**。

## 步驟 3：建立 CloudFront 原始存取身分
<a name="cf-s3-step3"></a>

若要限制從 S3 儲存貯體直接存取影片，請建立一個名為原始存取身分 (OAI) 的特殊 CloudFront 使用者。您稍後將在本教學課程中將 OAI 與您的分佈建立關聯。透過使用 OAI，您可以確保瀏覽者無法略過 CloudFront 並直接從 S3 儲存貯體取得影片。只有 CloudFront OAI 可以存取 S3 儲存貯體中的檔案。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[限制對 Amazon S3 原始伺服器的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。



**重要**  
如果您用來託管靜態網站的儲存貯體已使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 進行加密，您必須使用原始存取控制 (OAC) 而非原始存取身分 (OAI) 來保護原始伺服器。OAI 不支援 SSE-KMS，因此您必須改用 OAC。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[限制對 Amazon S3 原始伺服器的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。

**若要建立 CloudFront OAI**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中的**安全**區段下，選擇**原始存取**。

1. 在**身分**索引標籤底下，選擇**建立原始存取身分**。

1. 輸入新原始存取身分的名稱 (例如，**S3-OAI**)。

1. 選擇**建立**。

## 步驟 4：建立 CloudFront 分佈
<a name="cf-s3-step4"></a>

若要使用 CloudFront 在您的 S3 儲存貯體中提供和分配影片，您必須建立 CloudFront 分佈。

**Topics**
+ [建立 CloudFront 分佈](#cf-s3-step4-create-cloudfront)
+ [檢閱儲存貯體政策](#cf-s3-step4-review-bucket-policy)

### 建立 CloudFront 分佈
<a name="cf-s3-step4-create-cloudfront"></a>

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

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

1. 在 **Origin** (來源) 區段中，針對 **Origin domain** (原始網域)，選擇 S3 的網域名稱，其中該名稱會以您在 [步驟 1](#cf-s3-step1) 中建立的 S3 儲存貯體的名稱為開頭 (例如，**tutorial-bucket**)。

1. 對於**原始存取**，選擇**舊版存取身分**。

1. 在 **Origin access identity** (原始存取身分) 下，選擇您在[步驟 3](#cf-s3-step3) 中建立的原始存取身分 (例如，**S3-OAI**)。

1. 在 **Bucket policy** (儲存貯體政策) 下，選擇 **Yes, update the bucket policy** (是，更新儲存貯體政策)。

1. 在 **Default cache behavior** (預設快取行為) 區段中，**Viewer protocol policy** (瀏覽者通訊協定政策) 下方，選擇 **Redirect HTTP to HTTPS** (從 HTTP 重新引導到 HTTPS)。

   當您選擇此功能，HTTP 請求會自動重新引導至 HTTPS，以確保您網站的安全並保護瀏覽者的資料。

1. 針對 **Default cache behaviors** (預設快取行為) 區段的其他設定，保留預設值。

   (選用) 您可以控制在 CloudFront 將另一個請求轉送到來源之前，您的檔案留存於 CloudFront 快取中的時間長度。降低持續時間允許您提供動態內容。增加持續時間表示您的瀏覽者取得更好的效能，因為檔案更有可能是直接透過節點快取提供。較長的持續時間也能減少的原始伺服器的負載。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[管理內容在快取停留的時間 (過期)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)。

1. 針對其他區段，請將其餘設定保持為預設值。

   如需有關不同設定選項的詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[建立或更新分佈時指定的值](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html)。

1. 在頁面底部，選擇 **Create distribution** (建立分佈)。

1. 在 CloudFront 分佈的**一般**標籤的**詳細資訊**下，您分佈的**上次修改時間**欄位的值，會從**正在部署**變更為上次修改分佈的時間戳記。通常此程序需要幾分鐘的時間。

### 檢閱儲存貯體政策
<a name="cf-s3-step4-review-bucket-policy"></a>

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Buckets** (儲存貯體)。

1. 在 **Buckets** (儲存貯體) 清單中，選擇您先前使用的儲存貯體的名稱作為您的 CloudFront 分佈的來源 (例如，**tutorial-bucket**)。

1. 選擇**許可**索引標籤。

1. 在 **Bucket policy** (儲存貯體政策) 區段中，確認您在儲存貯體政策文字看到了類似於下列的陳述式：

   ```
   {
       "Version": "2008-10-17",		 	 	 
       "Id": "PolicyForCloudFrontPrivateContent",
       "Statement": [
           {
               "Sid": "1",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity {{EH1HDMB1FH2TC}}"
               },
               "Action": "s3:GetObject",
               "Resource": "arn:aws:s3:::{{tutorial-bucket}}/*"
           }
       ]
   }
   ```

   這是先前當您選擇 **Yes, update the bucket policy** (是，更新儲存貯體政策) 時，您的 CloudFront 分佈新增至儲存貯體政策的陳述式。

   此儲存貯體政策更新表示您已成功設定 CloudFront 分佈，以限制對 S3 儲存貯體的存取。由於此限制，儲存貯體中的物件只能透過 CloudFront 分佈存取。

## 步驟 5：透過 CloudFront 分佈存取影片
<a name="cf-s3-step5"></a>

現在，CloudFront Front 可以提供存放在 S3 儲存貯體中的影片。若要透過 CloudFront 存取您的影片，您必須將 CloudFront 分佈網域名稱與 S3 儲存貯體中的影片路徑合併。

**若要使用 CloudFront 分佈網域名稱建立 S3 影片的 URL**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

1. 若要取得分佈網域名稱，請執行下列動作：

   1. 在 **Origins** (來源) 欄位中，透過尋找其來源名稱，找出正確的 CloudFront 分佈，其中名稱以您在[步驟 1](#cf-s3-step1) 中建立的 S3 儲存貯體為開頭 (例如，**tutorial-bucket**)。

   1. 從清單中找到分佈後，加寬 **Domain name** (網域名稱) 欄位，以複製 CloudFront 分佈的網域名稱值。

1. 在新的瀏覽器標籤中，貼上您複製的分佈網域名稱。

1. 返回上一個瀏覽器標籤，並開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 S3 主控台。

1. 在左側導覽窗格中，選擇 **Buckets** (儲存貯體)。

1. 在 **Buckets** (儲存貯體) 清單中，選擇您在[步驟 1](#cf-s3-step1) 中建立的儲存貯體名稱 (例如，**tutorial-bucket**)。

1. 在 **Objects** (物件) 清單中，選擇您在[步驟 2](#cf-s3-step2) 中上傳的影片名稱 (例如，`sample.mp4`)。

1. 在物件詳細資料頁面上，**Object overview** (物件概觀) 區段中，複製 **Key** (索引鍵) 值。此值是 S3 儲存貯體中上傳影片物件的路徑。

1. 返回您先前貼上分佈網域名稱的瀏覽器索引標籤，輸入斜線 (**/**)，然後貼上您先前複製的影片路徑 (例如，`sample.mp4`)。

   現在，您的 S3 影片可以透過 CloudFront 在類似於下列內容的 URL 上公開存取並託管：

   ```
   https://{{CloudFront distribution domain name}}/{{Path to the S3 video}}
   ```

   使用適當的值取代 {{CloudFront 分佈網域名稱}} 和 {{S3 影片路徑}}。範例 URL 為 **https://d111111abcdef8.cloudfront.net/sample.mp4**。

## 步驟 6：將您的 CloudFront 分佈設定為使用您的自訂網域名稱
<a name="cf-s3-step6"></a>

若要使用您自己的網域名稱，而非 URL 中的 CloudFront 網域名稱以存取 S3 影片，請將替代網域名稱新增到您的 CloudFront 分佈。

**Topics**
+ [請求 SSL 憑證](#cf-s3-step6-create-SSL)
+ [向您的 CloudFront 分佈新增備用網域名稱](#cf-s3-step6-custom-domain)
+ [建立 DNS 記錄，將備用網域名稱的流量路由至 CloudFront 分佈的網域名稱](#cf-s3-step6-DNS-record)
+ [檢查您的分佈是否已啟用 IPv6，並視需要建立另一個 DNS 記錄](#s3-step6-ipv6)

### 請求 SSL 憑證
<a name="cf-s3-step6-create-SSL"></a>

若要允許檢視器在影片串流的 URL 中使用 HTTPS 和自訂網域名稱，請使用 AWS Certificate Manager (ACM) 請求 Secure Sockets Layer (SSL) 憑證。SSL 憑證會建立與網站之間的加密網路連線。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) 的 ACM 主控台。

1. 如果出現簡介頁面，請在 **Provision certificates** (佈建憑證) 中，選擇 **Get Started** (入門)。

1. 在 **Request a certificate** (請求憑證) 頁面上，選擇 **Request a public certificate** (請求公有憑證)，然後選擇 **Request a certificate** (請求憑證)。

1. 在 **Add domain names** (新增網域名稱) 頁面，輸入要使用 SSL/TLS 憑證保護的網站的完整網域名稱 (FQDN)。您可以使用星號 (`*`) 請求萬用字元憑證，以保護相同網域中的數個網站名稱。在本教學課程中，輸入 **\***，以及您在[先決條件](#cf-s3-prerequisites)中設定的自訂網域名稱。例如，輸入 **\*.example.com**，然後選擇 **Next** (下一步)。

   如需詳細資訊，請參閱《AWS Certificate Manager 使用者指南》**中的[請求 ACM 公有憑證 (主控台)](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html#request-public-console)。

1. 在 **Select validation method** (選取驗證方法) 頁面上，選擇 **DNS validation** (DNS 驗證)。然後選擇**下一步**。

   如果您能編輯 DNS 組態，我們建議您使用 DNS 網域驗證，而不使用電子郵件驗證。與電子郵件驗證相比，DNS 驗證有多個優點。如需詳細資訊，請參閱《AWS Certificate Manager 使用者指南》**中的[選項 1：DNS 驗證](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html)。

1. (選用) 在 **Add tags** (新增標籤) 頁面上，使用中繼資料標記您的憑證。

1. 選擇**檢閱**。

1. 在 **Review** (檢閱) 頁面上，驗證 **Domain name** (網域名稱) 和 **Validation method** (驗證方法) 下面的資訊正確無誤。然後，選擇 **Confirm and request** (確認和請求)。

   **Validation** (驗證) 頁面會顯示您的請求正在處理中，且憑證網域正在進行驗證。等待驗證的憑證會處於 **Pending validation** (待定驗證) 狀態。

1. 在 **Validation** (驗證) 頁面上，選擇自訂網域名稱左側的向下箭頭，然後選擇 **Create record in Route 53** (在 Route 53 中建立記錄) 以透過 DNS 驗證您的網域所有權。

   這樣做會將 提供的 CNAME 記錄新增至您的 DNS AWS Certificate Manager 組態。

1. 在 **Create record in Route 53** (在 Route 53 中建立記錄) 對話方塊中，選擇 **Create** (建立)。

   **Validation** (驗證) 頁面應該會在底部顯示 **Success** (成功) 狀態通知。

1. 選擇 **Continue** (繼續) 以檢視 **Certificates** (憑證) 清單頁面。

   您的新憑證的 **Status** (狀態) 會在 30 分鐘內從 **Pending validation** (待定驗證) 變更為 **Issued** (已發行)。

### 向您的 CloudFront 分佈新增備用網域名稱
<a name="cf-s3-step6-custom-domain"></a>

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

1. 為您在[步驟 4](#cf-s3-step3) 中建立的分佈選擇 ID。

1. 在**General** (一般) 索引標籤上，移至 **Settings** (設定) 區段，然後選擇 **Edit** (編輯)。

1. 在**編輯設定**頁面上，針對**備用網域名稱 (CNAME) - *選用***，選擇**新增項目**，以新增您想要在此 CloudFront 分佈提供之 S3 影片 URL 中使用的自訂網域名稱。

   例如，在此教學課程中，如果您想要路由子網域的流量，例如 `www.example.com`，輸入含有網域名稱 (`example.com`) 的子網域名稱 (`www`)。具體而言，輸入 **www.example.com**。
**注意**  
您新增的備用網域名稱 (CNAME) 必須涵蓋在先前連接至 CloudFront 分佈的 SSL 憑證內。

1. 針對 **Custom SSL certificate - *optional*** (自訂 SSL 憑證 - 選用)，選擇您在之前請求的 SSL 憑證 (例如，**\*.example.com**)。
**注意**  
如果您在請求之後沒有立即看到 SSL 憑證，請等待 30 分鐘，然後重新整理清單，直到 SSL 憑證可供您選取為止。

1. 將其餘設定保持為預設值。選擇**儲存變更**。

1. 在分佈的 **General** (一般) 標籤上，等待 **Last modified** (上次修改日期) 的值從 **Deploying** (正在部署) 變更為上次修改分佈的時間戳記。

### 建立 DNS 記錄，將備用網域名稱的流量路由至 CloudFront 分佈的網域名稱
<a name="cf-s3-step6-DNS-record"></a>

1. 登入 AWS 管理主控台 並開啟 Route 53 主控台，網址為 https：//[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在左側導覽窗格中，選擇 **Hosted zones (託管區域)**。

1. 在 **Hosted zones** (託管區域) 頁面上，選擇 Route 53 在[先決條件](#cf-s3-prerequisites)中為您建立的託管區域名稱 (例如，**example.com**)。

1. 選擇 **Create record** (建立記錄)，然後再使用 **Quick create record** (快速建立記錄) 方法。

1. 針對 **Record name** (記錄名稱)，請將記錄名稱的值保留為與您先前新增之 CloudFront 分佈的備用網域名稱相同。

   在本教學課程中，若要將流量路由至子網域 (例如 `www.example.com`)，請輸入不含網域名稱的子網域名稱。例如，僅在您自訂網域名稱之前的文字欄位中輸入 **www**。

1. 針對**記錄類型**，選擇 **A - 將流量路由到 IPv4 地址和一些 AWS 資源**。

1. 針對 **Value** (值)，選擇 **Alias** (別名) 切換，以啟用別名資源。

1. 在 **Route traffic to** (將流量路由至) 下，從下拉式清單中選擇 **Alias to CloudFront distribution** (CloudFront 分佈的別名)。

1. 在寫著 **Choose distribution** (選擇分佈) 的搜尋方塊中，選擇您在[步驟 4](#cf-s3-step4) 中建立的 CloudFront 分佈的網域名稱。

   若要尋找 CloudFront 分佈的網域名稱，請執行下列動作：

   1. 在新的瀏覽器標籤中，登入 AWS 管理主控台 並開啟位於 [https://console.aws.amazon.com/cloudfront/v3/home](https://console.aws.amazon.com/cloudfront/v3/home) 的 CloudFront 主控台。

   1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

   1. 在 **Origins** (來源) 欄位中，透過尋找其來源名稱，找出正確的 CloudFront 分佈，其中名稱以您在[步驟 1](#cf-s3-step1) 中建立的 S3 儲存貯體為開頭 (例如，**tutorial-bucket**)。

   1. 從清單中找到分佈後，加寬 **Domain name** (網域名稱) 欄位，以查看 CloudFront 分佈的網域名稱值。

1. 在 Route 53 主控台的 **Create record** (建立記錄) 頁面上，針對剩餘的設定，請保留預設值。

1. 選擇**建立記錄**。

### 檢查您的分佈是否已啟用 IPv6，並視需要建立另一個 DNS 記錄
<a name="s3-step6-ipv6"></a>

如果您的分佈已啟用 IPv6，您必須建立另一個 DNS 記錄。

1. 若要檢查您的分佈是否已啟用 IPv6，請執行下列動作：

   1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

   1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

   1. 選擇您在[步驟 4](#cf-s3-step4) 中建立的 CloudFront 分佈的 ID。

   1. 在 **General** (一般) 選項卡上的 **Settings** (設定) 下，檢查 **IPv6** 是否設定為 **Enabled** (已啟用)。

      如果您的分佈已啟用 IPv6，您必須建立另一個 DNS 記錄。

1. 如果您的分佈已啟用 IPv6，請執行以下動作建立一個 DNS 記錄：

   1. 登入 AWS 管理主控台 並開啟 Route 53 主控台，網址為 https：//[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   1. 在左側導覽窗格中，選擇 **Hosted zones (託管區域)**。

   1. 在 **Hosted zones** (託管區域) 頁面上，選擇 Route 53 在[先決條件](#cf-s3-prerequisites)中為您建立的託管區域名稱 (例如，**example.com**)。

   1. 選擇 **Create record** (建立記錄)，然後再使用 **Quick create record** (快速建立記錄) 方法。

   1. 針對 **Record name** (記錄名稱)，在自訂網域名稱前面的文字欄位中，輸入您先前建立 IPv4 DNS 記錄時所輸入的相同數值。例如，在本教學課程中，要為子網域 `www.example.com` 路由流量，僅須輸入 **www**。

   1. 針對**記錄類型**，選擇 **AAAA – 將流量路由至 IPv6 位址和某些 AWS 資源**。

   1. 針對 **Value** (值)，選擇 **Alias** (別名) 切換，以啟用別名資源。

   1. 在 **Route traffic to** (將流量路由至) 下，從下拉式清單中選擇 **Alias to CloudFront distribution** (CloudFront 分佈的別名)。

   1. 在寫著 **Choose distribution** (選擇分佈) 的搜尋方塊中，選擇您在[步驟 4](#cf-s3-step4) 中建立的 CloudFront 分佈的網域名稱。

   1. 對於其他設定，請保留預設值。

   1. 選擇**建立記錄**。

## 步驟 7：使用自訂網域名稱透過 CloudFront 分佈存取 S3 影片
<a name="cf-s3-step7"></a>

要使用自訂 URL 存取 S3 影片，您必須將您的備用網域名稱與 S3 儲存貯體中的影片路徑合併。

**透過 CloudFront 分佈建立存取 S3 影片的自訂 URL**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

1. 獲取 CloudFront 分佈的備用網域名稱，請執行下列動作：

   1. 在 **Origins** (來源) 欄位，透過尋找其來源名稱，找出正確的 CloudFront 分佈，其中名稱以您在[步驟 1](#cf-s3-step1) 中建立的儲存貯體的 S3 儲存貯體名稱為開頭 (例如，**tutorial-bucket**)。

   1. 從清單中找到分佈後，加寬 **Alternate Domain name** (備用網域名稱) 欄位，以複製 CloudFront 分佈的備用網域名稱的值。

1. 在新的瀏覽器索引標籤中，貼上 CloudFront 分佈的備用網域名稱。

1. 返回上一個瀏覽器標籤，並開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 按照 [步驟 5](#cf-s3-step5) 的解釋說明，查找 S3 影片的路徑。

1. 返回您先前貼上備用網域名稱的瀏覽器索引標籤，輸入斜線 (**/**)，然後貼上 S3 影片的路徑 (例如，`sample.mp4`)。

   現在，您的 S3 影片可以透過 CloudFront 在類似於下列內容的自訂 URL 上公開存取並託管：

   ```
   https://{{CloudFront distribution alternate domain name}}/{{Path to the S3 video}}
   ```

   使用適當的值取代 {{CloudFront 分佈備用網域名稱}}和 {{S3 影片路徑}}。範例 URL 為 **https://www.example.com/sample.mp4**。

## (選用) 步驟 8：檢視有關 CloudFront 分佈收到的請求的資料
<a name="cf-s3-step8"></a>

**檢視有關 CloudFront 分佈收到的請求的資料**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，在 **Reports & analytics** (報告與分析) 下，從主控台選擇報告，其中範圍包括 **Cache statistics** (快取統計資料)、**Popular Objects** (熱門物件)、**Top Referrers** (最佳推薦網站)、**Usage** (用量) 和 **Viewers** (瀏覽者)。

   您可以篩選每個報告儀表板。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[主控台中的 CloudFront 報告](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/reports.html)。

1. 若要篩選資料，選擇您在[步驟 4](#cf-s3-step4) 中建立的 CloudFront 分佈的 ID。

## 步驟 9：清除
<a name="cf-s3-step9"></a>

如果您只使用 CloudFront 和 Route 53 託管 S3 串流影片做為學習練習，請刪除您配置 AWS 的資源，以免再產生費用。

**注意**  
當您註冊網域時，會立即支付費用，而且無法復原。您可以選擇不自動續約網域，但您已預先付款且該年度擁有該網域。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[註冊新網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)。

**Topics**
+ [刪除 CloudFront 分佈](#cf-s3-step9-delete-cf)
+ [刪除 DNS 記錄](#cf-s3-step9-delete-dns)
+ [針對您的自訂網域刪除公有託管區域](#cf-s3-step9-delete-hosted-zone)
+ [從 Route 53 刪除自訂網域名稱](#cf-s3-step9-delete-domain)
+ [刪除 S3 來源儲存貯體中的原始影片](#cf-s3-step9-delete-video)
+ [刪除 S3 來源儲存貯體](#cf-s3-step9-delete-bucket)

### 刪除 CloudFront 分佈
<a name="cf-s3-step9-delete-cf"></a>

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在左側導覽窗格中，選擇 **Distributions** (分佈)。

1. 在 **Origins** (來源) 欄位，透過尋找其來源名稱，找出正確的 CloudFront 分佈，其中名稱以您在[步驟 1](#cf-s3-step1) 中建立的儲存貯體的 S3 儲存貯體名稱為開頭 (例如，**tutorial-bucket**)。

1. 刪除 CloudFront 分佈，您必須先將其停用。
   + 如果 **Status** (狀態) 欄位的值為 **Enabled** (已啟用) 且 **Last modified** (上次修改日期) 的值是上次修改分佈的時間戳記，請先繼續停用分佈，然後再將其刪除。
   + 如果**狀態**的值為**已啟用**，且**上次修改時間**的值為**正在部署**，請等待直至**狀態**的值變更為上次修改分佈的時間戳記。然後請先繼續停用分佈，然後再將其刪除。

1. 若要停用 CloudFront 分佈，請執行下列動作：

   1. 在 **Distributions** (分佈) 清單中，選取要刪除的分佈 ID 旁邊的核取方塊。

   1. 若要停用分佈，選擇 **Disable** (停用)，然後選擇 **Disable** (停用) 以進行確認。

      如果您停用具有與其相關的備用網域名稱的分佈，CloudFront 會停止接受該網域名稱 (例如 `www.example.com`) 的流量，即使另一個分佈具有包含萬用字元 (`*`) 的備用網域名稱，且符合相同的網域 (例如 `*.example.com`) 也一樣。

   1. **Status** (狀態) 的值立即變更為 **Disabled** (已停用)。等待 **Last modified** (上次修改日期) 的值從 **Deploying** (正在部署) 變更為上次修改分佈的時間戳記。

      因為 CloudFront 必須將此變更分佈到所有節點，更新可能需要數分鐘才能完成，並且會向您提供 **Delete** (刪除) 選項以刪除分佈。

1. 若要刪除已停用的分佈，請執行下列動作：

   1. 選擇要刪除的分佈 ID 旁邊的核取方塊。

   1. 選擇 **Delete** (刪除)，然後選擇 **Delete** (刪除) 以進行確認。

### 刪除 DNS 記錄
<a name="cf-s3-step9-delete-dns"></a>

如果您想要刪除網域的公有託管區域 (包括 DNS 記錄)，請參閱《Amazon Route 53 開發人員指南》**中的 [針對您的自訂網域刪除公有託管區域](#cf-s3-step9-delete-hosted-zone)。如果您只想刪除在[步驟 6](#cf-s3-step6) 中建立的 DNS 記錄，請執行下列動作：

1. 登入 AWS 管理主控台 並開啟 Route 53 主控台，網址為 https：//[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在左側導覽窗格中，選擇 **Hosted zones (託管區域)**。

1. 在 **Hosted zones** (託管區域) 頁面上，選擇 Route 53 在[先決條件](#cf-s3-prerequisites)中為您建立的託管區域名稱 (例如，**example.com**)。

1. 在記錄清單中，選取要刪除的記錄旁邊的核取方塊 (您在[步驟 6](#cf-s3-step6) 中建立的記錄)。
**注意**  
您無法刪除 **Type** (類型) 為 **NS** 或 **SOA** 值的記錄。

1. 選擇 **Delete records** (刪除記錄)。

1. 如要確認刪除，請選擇 **Delete (刪除)**。

   對記錄的變更需要一些時間傳播到 Route 53 DNS 伺服器。目前唯一能驗證變更是否已傳播的方式，就是使用 [GetChange API 動作](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)。變更通常會在 60 秒內傳播至所有 Route 53 名稱伺服器。

### 針對您的自訂網域刪除公有託管區域
<a name="cf-s3-step9-delete-hosted-zone"></a>

**警告**  
如果您想要保留您的網域註冊，但停止將網際網路流量路由到您的網站或 Web 應用程式，則建議您刪除託管區域中的記錄(如前一個區段所述)，而不是刪除託管區域。  
如果您刪除託管區域，有心人士可能會使用網域，並使用您的網域名稱將流量路由到他們自己的資源。  
此外，如果您刪除託管區域，就無法取消刪除。您必須建立新的託管區域，並更新您網域註冊的名稱伺服器；這最多需要 48 小時才能生效。  
如果您想要讓網域無法在網際網路上使用，您可以先將您的 DNS 服務傳輸至免費的 DNS 服務，然後刪除 Route 53 託管區域。這可避免往後的 DNS 查詢發生路由錯誤。  
如果此網域已向 Route 53 註冊，請參閱《Amazon Route 53 開發人員指南》**中的[新增或變更網域的名稱伺服器和黏附記錄](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html)，以了解如何將 Route 53 名稱伺服器取代為新 DNS 服務的名稱伺服器。
如果此網域已向其他註冊商註冊，請使用註冊商提供的方法變更網域的名稱伺服器。
如果您刪除子網域 (`www.example.com`) 的託管區域，則不需要變更網域 (`example.com`) 的名稱伺服器。

1. 登入 AWS 管理主控台 並開啟 Route 53 主控台，網址為 https：//[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在左側導覽窗格中，選擇 **Hosted zones (託管區域)**。

1. 在 **Hosted zones** (託管區域) 頁面上，選擇要刪除的託管區域的名稱。

1. 在您託管區域的 **Records** (記錄) 標籤上，確認要刪除的託管區域只包含 **NS** 和 **SOA** 紀錄。

   如果包含其他記錄，請先刪除它們。

   如果您在託管區域中為子網域建立任何 NS 記錄，也請刪除這些記錄。

1. 在您託管區域的 **DNSSEC signing** (DNSSEC 簽署) 標籤上，請停用 DNSSEC 簽署 (如果已啟用)。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[停用 DNSSEC 簽署](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html)。

1. 在託管區域的詳細資訊頁面頂端，選擇 **Delete zone** (刪除區域)。

1. 若要確認刪除，輸入 **delete**，然後選擇 **Delete** (刪除)。

### 從 Route 53 刪除自訂網域名稱
<a name="cf-s3-step9-delete-domain"></a>

對於大多數頂層網域 (TLD)，可在不再需要網域時刪除註冊。如果您在註冊排定過期之前從 Route 53 刪除網域名稱註冊， AWS 不會退還註冊費用。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[刪除網域名稱註冊](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-delete.html)。

**重要**  
如果您想要在 之間轉移網域， AWS 帳戶 或將網域轉移至其他註冊商，請不要刪除網域，並預期會立即重新註冊該網域。反之，請參閱《Amazon Route 53 開發人員指南》**中的適用文件：  
[將網域轉移到不同的 AWS 帳戶](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-between-aws-accounts.html)
[將網域從 Amazon Route 53 轉移到其他註冊商](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-from-route-53.html)

### 刪除 S3 來源儲存貯體中的原始影片
<a name="cf-s3-step9-delete-video"></a>

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)：// 開啟 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Buckets** (儲存貯體)。

1. 在 **Bucket name** (儲存貯體名稱) 清單中，選擇您在[步驟 2](#cf-s3-step2) 中將影片上傳到的儲存貯體的名稱 (例如，**tutorial-bucket**)。

1. 在 **Objects** (物件) 索引標籤上，選取要刪除之物件名稱左側的核取方塊 (例如，`sample.mp4`)。

1. 選擇 **刪除**。

1. 在 **Permanently delete objects?** (要永久刪除物件？) 下，輸入 **permanently delete** 以確認要刪除此物件。

1. 選擇 **Delete objects** (刪除物件)。

### 刪除 S3 來源儲存貯體
<a name="cf-s3-step9-delete-bucket"></a>

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在左側導覽窗格中，選擇 **Buckets** (儲存貯體)。

1. 在 **Buckets** (儲存貯體) 清單中，選取您在[步驟 1](#cf-s3-step1) 中建立的儲存貯體名稱旁的選項按鈕 (例如，**tutorial-bucket**)。

1. 選擇 **刪除**。

1. 在 **Delete bucket** (刪除儲存貯體) 頁面上，在文字欄位中輸入儲存貯體名稱以確認您要刪除該儲存貯體，然後選擇 **Delete bucket** (刪除儲存貯體)。

## 後續步驟
<a name="cf-s3-next-steps"></a>

完成本教學課程後，您可以進一步探索下列相關的使用案例：
+ 將 S3 影片轉碼為特定電視或連網裝置所需的串流格式，然後使用 CloudFront 分佈託管這些影片。

  若要使用 Amazon S3 Batch Operations， AWS Lambda 並將影片集合 AWS Elemental MediaConvert 批次轉碼為各種輸出媒體格式，請參閱 [教學課程：使用 S3 Batch Operations 進行影片的批次轉碼](tutorial-s3-batchops-lambda-mediaconvert-video.md)。
+ 使用 CloudFront 和 Route 53 託管存放在 S3 中的其他物件，如圖像、音訊、動態圖形、樣式表、HTML、JavaScript、React 應用程式等。

  如需範例，請參閱 [教學課程：使用向 Route 53 註冊的自訂網域設定靜態網站](website-hosting-custom-domain-walkthrough.md) 和 [使用 Amazon CloudFront 加速您的網站](website-hosting-cloudfront-walkthrough.md)。
+ 使用 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration) 來設定快速且安全的檔案傳輸。傳輸加速可以加快影片上傳到 S3 儲存貯體的速度，以便長途傳輸較大的影片。Transfer Acceleration 透過 CloudFront 全域分散式節點和 AWS 骨幹網路路由流量，以改善傳輸效能。它還使用了網路通訊協定最佳化。如需詳細資訊，請參閱[使用 Amazon S3 Transfer Acceleration 設定快速安全的檔案傳輸](transfer-acceleration.md)。