

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

# 靜態網站教學課程
<a name="static-website-tutorials"></a>

下列教學課程或逐步解說會說明如何建立和設定 Amazon S3 一般用途儲存貯體的完整程序，以託管靜態網站和託管隨需影片串流。這些教學課程的目的是提供一般指導。這些教學課程適用於實驗室類型的環境，且會使用範例儲存貯體名稱、使用者名稱等。他們不能直接用於您的生產環境，需要仔細審查更動以符合組織環境的獨特需求。
+ [使用 Amazon S3、Amazon CloudFront 和 Amazon Route 53 來託管隨需串流影片](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tutorial-s3-cloudfront-route53-video-streaming) – 您可以使用 Amazon S3 搭配 Amazon CloudFront 來託管影片，以安全且可擴展的方式提供隨需檢視。在將您的影片封裝成正確的格式後，您可以將其儲存在伺服器或 S3 一般用途儲存貯體中，然後在檢視器請求時，透過 CloudFront 傳遞該影片。在本教學課程中，您將了解如何設定一般用途儲存貯體來託管使用 CloudFront 進行交付的隨需影片串流，以及使用 Amazon Route 53 進行網域名稱系統 (DNS) 和自訂網域管理。CloudFront 會從其快取提供影片，而且只有在尚未快取的情況下才會從一般用途儲存貯體擷取影片。如此一來，此快取管理功能可透過低延遲、高輸送量和高傳輸速度，加快您的影片交付給全球瀏覽者的速度。如需 CloudFront Front 快取管理的詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[最佳化快取和可用性](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html)。
+ [設定靜態網站](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html) – 您可以設定一般用途儲存貯體，使其具有網站的功能。本教學課程將逐步引導您在 Amazon S3 上託管網站的步驟，包括建立儲存貯體、在 S3 主控台中啟用靜態網站託管、建立索引文件和建立錯誤文件。如需詳細資訊，請參閱[使用 Amazon S3 託管靜態網站](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html)。
+ [使用向 Route 53 註冊的自訂網域設定靜態網站](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html) – 您可以使用向 Amazon Route 53 註冊的自訂網域名稱，在 S3 上建立和設定一般用途儲存貯體以託管靜態網站，並在 S3 上建立網站重新導向。您會使用 Route 53 註冊網域和定義要為您網域路由網際網路流量的位置。此教學課程會說明如何建立 Route 53 別名記錄，將網域和子網域的流量路由到包含 HTML 檔案的一般用途儲存貯體。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[將您的網域用於 Amazon S3 儲存貯體中的靜態網站](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/getting-started-s3.html)。完成此教學課程之後，您可以選擇性地使用 CloudFront 來改善網站的效能。如需詳細資訊，請參閱[使用 Amazon CloudFront 提升網站速度](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-cloudfront-walkthrough.html)。
+ [從 S3 一般用途儲存貯體將靜態網站部署至 AWS Amplify Hosting](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-amplify) – 建議您使用 [AWS Amplify Hosting](https://docs.aws.amazon.com//amplify/latest/userguide/welcome.html.html) 託管存放在 S3 上的靜態網站內容。Amplify 託管是一項全受管服務，可讓您輕鬆地在由 Amazon CloudFront 技術支援的全球可用內容交付網路 (CDN) 上部署網站，無需大量設定即可安全託管靜態網站。使用 AWS Amplify Hosting，您可以選取一般用途儲存貯體中物件的位置、將內容部署至受管 CDN，以及產生公有 HTTPS URL，讓您的網站可在任何地方存取。如需詳細資訊，請參閱《AWS Amplify 託管使用者指南》**中的[使用 Amplify 主控台從 S3 部署靜態網站](https://docs.aws.amazon.com//amplify/latest/userguide/deploy--from-amplify-console.html)。

# 教學課程：使用 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)。您可以使用星號 (`*`) 請求萬用字元憑證，以保護相同網域中的數個網站名稱。在本教學課程中，輸入 **\$1**，以及您在[先決條件](#cf-s3-prerequisites)中設定的自訂網域名稱。例如，輸入 **\$1.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 憑證 (例如，**\$1.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)。

# 教學課程：在 Amazon S3 上設定靜態網站
<a name="HostingWebsiteOnS3Setup"></a>

**重要**  
Amazon S3 現在將伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 套用為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起，所有上傳到 Amazon S3 的新物件都會自動加密，無需額外費用，也不會影響效能。S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態可在 CloudTrail 日誌、S3 庫存、S3 Storage Lens、Amazon S3 主控台，以及 AWS CLI 和 AWS SDKs 中的其他 Amazon S3 API 回應標頭中使用。如需詳細資訊，請參閱[預設加密常見問答集](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)。

您可以配置 Amazon S3 儲存貯體配置成網站一般地運作。此範例會演練如何在 Amazon S3 上託管網站的步驟。

**重要**  
下列教學課程需要停用「封鎖公開存取」。我們建議將「封鎖公開存取」保持啟用狀態。如果想要將全部四個「封鎖公開存取」設定保持啟用狀態，並託管靜態網站，您可以使用 Amazon CloudFront 原始存取控制 (OAC)。Amazon CloudFront 提供建立安全靜態網站所需的功能。Amazon S3 靜態網站只支援 HTTP 端點。Amazon CloudFront 使用 Amazon S3 的耐久性儲存體，同時提供額外的安全標頭，例如 HTTPS。HTTPS 透過加密一般 HTTP 請求並防止常見的網路攻擊來增加安全性。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[安全靜態網站入門](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)。

**Topics**
+ [步驟 1：建立儲存貯體](#step1-create-bucket-config-as-website)
+ [步驟 2：啟用靜態網站託管](#step2-create-bucket-config-as-website)
+ [步驟 3：編輯封鎖公開存取設定](#step3-edit-block-public-access)
+ [步驟 4：新增儲存貯體政策，將儲存貯體內容設為可供大眾讀取](#step4-add-bucket-policy-make-content-public)
+ [步驟 5：設定索引文件](#step5-upload-index-doc)
+ [步驟 6：設定錯誤文件](#step6-upload-error-doc)
+ [步驟 7：測試您的網站端點](#step7-test-web-site)
+ [步驟 8：清除](#getting-started-cleanup-s3-website-overview)

## 步驟 1：建立儲存貯體
<a name="step1-create-bucket-config-as-website"></a>

以下指示提供如何為網站託管建立儲存貯體的概觀。如需建立儲存貯體的詳細逐步說明，請參閱「[建立一般用途儲存貯體](create-bucket-overview.md)」。

**建立儲存貯體**

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

1. 選擇 **Create bucket** (建立儲存貯體)。

1. 輸入 **Bucket name** (儲存貯體名稱) (例如，**example.com**)。

1. ​選擇您要在其中建立儲存貯體的區域。

   建議您選擇接近您地理位置的區域以充分降低延遲及成本，或因應法規要求。您選擇的區域會決定您的 Amazon S3 網站端點。如需詳細資訊，請參閱「[網站端點](WebsiteEndpoints.md)」。

1. 若要接受預設設定並建立儲存貯體，請選擇 **Create (建立)**。

## 步驟 2：啟用靜態網站託管
<a name="step2-create-bucket-config-as-website"></a>

建立儲存貯體後，您就可以為儲存貯體啟用靜態網站託管。您可以建立新的儲存貯體，或使用現有的儲存貯體。

**啟用靜態網站託管**

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

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

1. 在儲存貯體清單中，選擇您要為其啟用靜態網站託管的儲存貯體名稱。

1. 選擇 **Properties** (屬性)。

1. 在 **Static website hosting** (靜態網站託管) 下，選擇 **Edit** (編輯)。

1. 選擇**使用此儲存貯體來託管網站**。

1. 在**靜態網站託管**下，選擇**啟用**。

1. 在**索引文件**中，輸入索引文件的名稱，通常是 `index.html`。

   索引文件名稱區分大小寫，而且必須完全符合您計畫上傳至 S3 儲存貯體的 HTML 索引文件檔案名稱。當您為網站託管設定儲存貯體時，必須指定索引文件。在對根網域或任何子資料夾提出請求時，Amazon S3 會傳回此索引文件。如需詳細資訊，請參閱「[設定索引文件](IndexDocumentSupport.md)」。

1. 若要為 4XX 類別錯誤提供自己的自訂錯誤文件，請在 **Error document** (錯誤文件) 中輸入自訂錯誤文件檔案名稱。

   錯誤文件名稱區分大小寫，而且必須完全符合您計畫上傳至 S3 儲存貯體的 HTML 錯誤文件檔案名稱。如果您未指定自訂錯誤文件且發生錯誤，則 Amazon S3 會傳回預設的 HTML 錯誤文件。如需詳細資訊，請參閱[設定自訂錯誤文件](CustomErrorDocSupport.md)。

1. (選用) 如果您要指定進階重新導向規則，請在 **Redirection rules (重新導向規則)** 中輸入 JSON 來描述規則。

   例如，您可依據要求中特定的物件金鑰名稱或字首，依條件路由要求。如需詳細資訊，請參閱「[配置重新引導規則以使用進階條件重新引導](how-to-page-redirect.md#advanced-conditional-redirects)」。

1. 選擇 **Save changes** (儲存變更)。

   Amazon S3 會為您的儲存貯體啟用靜態網站託管。在頁面底部的**靜態網站託管**下，您會看到儲存貯體的網站端點。

1. 在 **Static website hosting** 下，請記下 **Endpoint (端點)**。

   **端點**是儲存貯體的 Amazon S3 網站端點。將儲存貯體設為靜態網站之後，您可以使用此端點來測試您的網站。

## 步驟 3：編輯封鎖公開存取設定
<a name="step3-edit-block-public-access"></a>

根據預設，Amazon S3 會封鎖對帳戶和儲存貯體的公開存取。如想要使用儲存貯體託管靜態網站，您可使用這些步驟編輯封鎖公有存取設定：

**警告**  
完成這些步驟之前，請檢閱[封鎖對 Amazon S3 儲存體的公開存取權](access-control-block-public-access.md)以確保您了解並接受允許公開存取所涉及的風險。當您關閉封鎖公開存取設定以公開儲存貯體時，網際網路上的任何人都可以存取您的儲存貯體。我們建議您封鎖對儲存貯體的所有公用存取權。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇已設定為靜態網站的儲存貯體名稱。

1. 選擇 **Permissions** (許可)。

1. 在 **Block public access (bucket settings) (封鎖公開存取 (儲存貯體設定))** (封鎖公開存取 (儲存貯體設定)) 下，選擇 **Edit** (編輯)。

1. 清除 **Block *all* public access** (封鎖所有公開存取)，然後選擇 **Save changes** (儲存變更)。  
![\[Amazon S3 主控台，顯示封鎖公開存取儲存貯體設定。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3 會關閉儲存貯體的封鎖公開存取設定。若要建立公有靜態網站，在新增儲存貯體原則之前，可能還需要針對您的帳戶[編輯封鎖公開存取設定](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html)。如果目前已開啟帳戶的封鎖公開存取設定，您會在**封鎖公開存取 (儲存貯體設定)** 下看到附註。

## 步驟 4：新增儲存貯體政策，將儲存貯體內容設為可供大眾讀取
<a name="step4-add-bucket-policy-make-content-public"></a>

編輯 S3 封鎖公用存取設定之後，您可以新增儲存貯體政策，以授予儲存貯體的公用讀取權限。當您授予公有讀取權限時，網際網路上的任何人都可以存取您的儲存貯體。

**重要**  
以下政策僅為範例，允許完整存取您儲存貯體的內容。繼續執行此步驟之前，請檢閱[如何保護 Amazon S3 儲存貯體中的檔案？](https://aws.amazon.com/premiumsupport/knowledge-center/secure-s3-resources/)，以確保您瞭解 S3 儲存貯體中檔案保護的最佳實務，以及授予公開存取權所涉及的風險。

1. 在 **Buckets**(儲存貯體) 下方，選擇儲存貯體的名稱。

1. 選擇 **Permissions** (許可)。

1. 在 **Bucket Policy** (儲存貯體政策) 下方，選擇 **Edit** (編輯)。

1. 若要授予您網站的公開讀取存取權，請複製以下儲存貯體政策，並將它貼上至 **Bucket policy editor (儲存貯體政策編輯器)**。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::Bucket-Name/*"
               ]
           }
       ]
   }
   ```

1. 將 `Resource` 更新為您的儲存貯體名稱。

   在上述範例儲存貯體政策中，*Bucket-Name* 是儲存貯體名稱的預留位置。若要使用此儲存貯體策略與您自己的儲存貯體搭配，您必須更新此名稱以符合您的儲存貯體名稱。

1. 選擇 **Save changes** (儲存變更)。

   顯示的訊息指出已成功新增儲存貯體原則。

   如果您看到指出 `Policy has invalid resource` 的錯誤，請確認儲存貯體政策中的儲存貯體名稱與您的儲存貯體名稱相符。如需有關新增儲存貯體原則的資訊，請參閱[如何新增 S3 儲存貯體原則？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)

   如果您收到錯誤訊息且無法儲存貯體原則，請檢查您的帳戶和儲存貯體的封鎖公開存取設定，以確認您允許公開存取儲存貯體。

## 步驟 5：設定索引文件
<a name="step5-upload-index-doc"></a>

當您為儲存貯體啟用靜態網站託管時，請輸入索引文件的名稱 (例如，**index.html**)。為儲存貯體啟用靜態網站託管後，您可以將含有索引文件名稱的 HTML 檔案上傳到儲存貯體。

**設定索引文件**

1. 建立 `index.html` 檔案。

   如果您還沒有 `index.html` 檔案，您可以使用下列HTML 建立一個檔案。

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. 在本機儲存索引檔案。

   索引文件檔案名稱必須完全符合您在 **Static website hosting** (靜態網站託管) 對話方塊中輸入的索引文件名稱。索引文件名稱有區分大小寫。例如，如果您在 **Static website hosting** (靜態網站託管) 對話方塊的 **Index document** (索引文件) 名稱中輸入 `index.html`，您的索引文件檔案名稱也必須是 `index.html` 而非 `Index.html`。

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

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

1. 在儲存貯體清單中，選擇您要用於託管靜態網站的儲存貯體名稱。

1. 為您的儲存貯體啟用靜態網站，然後輸入索引文件的確切名稱 (例如，`index.html`)。如需詳細資訊，請參閱「[啟用網站託管](EnableWebsiteHosting.md)」。

   啟用靜態網路託管之後，請繼續執行步驟 6。

1. 若要將索引文件上傳至您的儲存貯體，請執行下列其中一項：
   + 將索引檔拖放到主控台儲存貯體清單中。
   + 選擇 **Upload** (上傳)，然後依照提示選擇並上傳索引檔案。

   如需逐步說明，請參閱「[上傳物件](upload-objects.md)」。

1. (選用) 將其他網站內容上傳到您的儲存貯體。

## 步驟 6：設定錯誤文件
<a name="step6-upload-error-doc"></a>

當您為儲存貯體啟用靜態網站託管時，請輸入錯誤文件的名稱 (例如 **404.html**)。為儲存貯體啟用靜態網站託管後，您可以將含有錯誤引文件名稱的 HTML 檔案上傳到儲存貯體。

**設定錯誤文件**

1. 建立錯誤文件，例如 `404.html`。

1. 將錯誤文件檔案儲存在本機。

   錯誤文件名稱區分大小寫，且須完全符合您在啟用靜態網站託管時所輸入的名稱。例如，如果您在 **Static website hosting** (靜態網站託管) 對話方塊的 **Error document** (錯誤文件) 名稱中輸入 `404.html`，您的錯誤文件檔案名稱也必須是 `404.html`。

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

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

1. 在儲存貯體清單中，選擇您要用於託管靜態網站的儲存貯體名稱。

1. 為您的儲存貯體啟用靜態網站託管，並輸入錯誤文件的確切名稱 (例如 `404.html`)。如需詳細資訊，請參閱[啟用網站託管](EnableWebsiteHosting.md)及[設定自訂錯誤文件](CustomErrorDocSupport.md)。

   啟用靜態網路託管之後，請繼續執行步驟 6。

1. 若要將錯誤文件上傳至您的儲存貯體，請執行下列其中一項：
   + 將錯誤文件檔案拖放至主控台儲存貯體清單中。
   + 選擇 **Upload** (上傳)，然後依照提示選擇並上傳索引檔案。

   如需逐步說明，請參閱「[上傳物件](upload-objects.md)」。

## 步驟 7：測試您的網站端點
<a name="step7-test-web-site"></a>

在設定儲存貯體的靜態網站託管後，您就可以測試網站端點。

**注意**  
Amazon S3 不支援使用 HTTPS 存取網站。若要使用 HTTPS，您可以使用 Amazon CloudFront，為 Amazon S3 上託管的靜態網站提供服務。  
如需詳細資訊，請參閱[如何使用 CloudFront 為 Amazon S3 上託管的靜態網站提供服務？](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/)和[要求在檢視者與 CloudFront 間，使用 HTTPS 來進行通訊](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)。

1. 在 **Buckets (儲存貯體)** 下方，選擇儲存貯體的名稱。

1. 選擇 **Properties** (屬性)。

1. 在頁面底部的 **Static website hosting (靜態網站託管)** 下，選擇您的 **Bucket website endpoint (儲存貯體網站端點)**。

   您的索引文件會在不同的瀏覽器視窗中開啟。

您已在 Amazon S3 上完成網站託管。此網站已可在 Amazon S3 網站端點上使用。但您可能有像 `example.com` 的網域，想要將其用來提供所建立之網站的內容。您也可能想要使用 Amazon S3 根網域支援來自 `http://www.example.com` 及 `http://example.com` 的請求。這需要額外的步驟。如需範例，請參閱 [教學課程：使用向 Route 53 註冊的自訂網域設定靜態網站](website-hosting-custom-domain-walkthrough.md)。

## 步驟 8：清除
<a name="getting-started-cleanup-s3-website-overview"></a>

若建立的靜態網站僅供學習練習之用，請先刪除已配置的 AWS 資源，如此即不會再產生費用。刪除 AWS 資源後，您的網站將無法再使用。如需詳細資訊，請參閱[刪除一般用途儲存貯體](delete-bucket.md)。

# 教學課程：使用向 Route 53 註冊的自訂網域設定靜態網站
<a name="website-hosting-custom-domain-walkthrough"></a>

假設您想要在 Amazon S3 上託管靜態網站。您已經在 Amazon Route 53 註冊了一個網域 (例如，`example.com`)，而且您希望從 Amazon S3 內容提供 `http://www.example.com` 和 `http://example.com` 提供請求。您可以使用此演練來了解如何託管靜態網站，以及在 Amazon S3 上為使用 Route 53 註冊之自訂網域名稱的網站建立重新導向。您可以從要在 Amazon S3 上託管的現有網站著手，或使用此演練從頭開始。

完成此演練之後，您可以選擇性地使用 Amazon CloudFront 來改善網站的效能。如需詳細資訊，請參閱「[使用 Amazon CloudFront 加速您的網站](website-hosting-cloudfront-walkthrough.md)」。

**注意**  
Amazon S3 網站端點不支援 HTTPS 或存取點。若要使用 HTTPS，您可以使用 Amazon CloudFront，為 Amazon S3 上託管的靜態網站提供服務。  
如需如何使用 CloudFront 和 Amazon S3 安全地託管內容的教學課程，請參閱[教學課程：使用 Amazon S3、Amazon CloudFront 和 Amazon Route 53 託管隨需串流影片](tutorial-s3-cloudfront-route53-video-streaming.md)。如需詳細資訊，請參閱[如何使用 CloudFront 為 Amazon S3 上託管的靜態網站提供服務？](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/)和[要求在檢視者與 CloudFront 間，使用 HTTPS 來進行通訊](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)。

**使用 CloudFormation 範本自動化靜態網站設定**  
您可以使用 CloudFormation 範本來自動化靜態網站設定。 CloudFormation 範本會設定託管安全靜態網站所需的元件，以便您可以更專注於網站的內容，較少專注於設定元件。

 CloudFormation 範本包含下列元件：
+ Amazon S3 – 建立一個 Amazon S3 儲存貯體來託管您的靜態網站。
+ CloudFront - 建立一個 CloudFront 分發，以加速您的靜態網站。
+ Lambda@Edge ‐ 使用 [Lambda@Edge](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html) 將安全標頭新增至每個伺服器回應。安全標頭是 Web 服務器回應中的一組標頭，告訴 Web 瀏覽器採取額外的安全預防措施。如需詳細資訊，請參閱部落格文章：[使用 Lambda@Edge 和 Amazon CloudFront 新增 HTTP 安全標頭](https://aws.amazon.com/blogs/networking-and-content-delivery/adding-http-security-headers-using-lambdaedge-and-amazon-cloudfront/)。

此 CloudFormation 範本可供您下載和使用。有關資訊和指示，請參閱《Amazon CloudFront 開發人員指南》**中的[安全靜態網站入門](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)。

**Topics**
+ [開始之前](#root-domain-walkthrough-before-you-begin)
+ [步驟 1：使用 Route 53 註冊自訂網域](#website-hosting-custom-domain-walkthrough-domain-registry)
+ [步驟 2：建立兩個儲存貯體](#root-domain-walkthrough-create-buckets)
+ [步驟 3：設定網站託管的根網域儲存貯體](#root-domain-walkthrough-configure-bucket-aswebsite)
+ [步驟 4：設定用於網站重新導向的子網域儲存貯體](#root-domain-walkthrough-configure-redirect)
+ [步驟 5：為網站流量設定記錄](#root-domain-walkthrough-configure-logging)
+ [步驟 6：上傳索引和網站內容](#upload-website-content)
+ [步驟 7：上傳錯誤文件](#configure-error-document-root-domain)
+ [步驟 8：編輯 S3 封鎖公有存取設定](#root-domain-walkthrough-configure-bucket-permissions)
+ [步驟 9：連接儲存貯體政策](#add-bucket-policy-root-domain)
+ [步驟 10：測試您的網域端點](#root-domain-walkthrough-test-website)
+ [步驟 11：為您的網域和子網域新增別名記錄](#root-domain-walkthrough-add-record-to-hostedzone)
+ [步驟 12：測試網站](#root-domain-testing)
+ [使用 Amazon CloudFront 加速您的網站](website-hosting-cloudfront-walkthrough.md)
+ [清理範例資源](getting-started-cleanup.md)

## 開始之前
<a name="root-domain-walkthrough-before-you-begin"></a>

當您依此範例中的步驟進行操作，您將會使用下列服務：

**Amazon Route 53** – 您使用 Route 53 註冊網域，以及為您的網域定義網路流量要路由到的位置。範例說明如何建立 Route 53 別名記錄，將網域 (`example.com`) 和子網域 (`www.example.com`) 的流量路由到包含 HTML 檔案的 Amazon S3 儲存貯體。

**Amazon S3** – 您使用 Amazon S3 來建立儲存貯體、上傳網站頁面範例、配置許可以讓所有人都能看到內容，然後配置儲存貯體處理網站託管。

## 步驟 1：使用 Route 53 註冊自訂網域
<a name="website-hosting-custom-domain-walkthrough-domain-registry"></a>

如果您尚沒有註冊網域名稱，如：`example.com`，請利用 Route 53 註冊。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[註冊新網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)。註冊您的網域名稱後，您可以建立和配置 Amazon S3 儲存貯體用於網站託管。

## 步驟 2：建立兩個儲存貯體
<a name="root-domain-walkthrough-create-buckets"></a>

為了同時從根網域與子網域支援請求，您會建立兩個儲存貯體。
+ **網域儲存貯體** ‐ `example.com`
+ **子網域儲存貯體** ‐ `www.example.com` 

這些儲存貯體名稱必須完全符合您的網域名稱。在此範例中，網域名稱是 `example.com`。您將內容託管在根網域儲存貯體外部 (`example.com`)。您為子網域儲存貯體建立重新導向請求 (`www.example.com`)。如果有人在其瀏覽器輸入 `www.example.com`，系統會將他們重新導向至 `example.com`，然後他們會看到在具有該名稱的 Amazon S3 儲存貯體中託管的內容。

**為網站託管建立儲存貯體**

以下指示提供如何為網站託管建立儲存貯體的概觀。如需建立儲存貯體的詳細逐步說明，請參閱「[建立一般用途儲存貯體](create-bucket-overview.md)」。

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

1. 建立您的根網域儲存貯體：

   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** (儲存貯體名稱) (例如，**example.com**)。

   1. ​選擇您要在其中建立儲存貯體的區域。

      建議您選擇接近您地理位置的區域以充分降低延遲及成本，或因應法規要求。您選擇的區域會決定您的 Amazon S3 網站端點。如需詳細資訊，請參閱「[網站端點](WebsiteEndpoints.md)」。

   1. 若要接受預設設定並建立儲存貯體，請選擇 **Create (建立)**。

1. 建立您的子網域儲存貯體：

   1. 選擇 **Create bucket** (建立儲存貯體)。

   1. 輸入 **Bucket name** (儲存貯體名稱) (例如，**www.example.com**)。

   1. ​選擇您要在其中建立儲存貯體的區域。

      建議您選擇接近您地理位置的區域以充分降低延遲及成本，或因應法規要求。您選擇的區域會決定您的 Amazon S3 網站端點。如需詳細資訊，請參閱「[網站端點](WebsiteEndpoints.md)」。

   1. 若要接受預設設定並建立儲存貯體，請選擇 **Create (建立)**。

在下一個步驟中，您為針對託管設定 `example.com` 網站。

## 步驟 3：設定網站託管的根網域儲存貯體
<a name="root-domain-walkthrough-configure-bucket-aswebsite"></a>

在此步驟中，您會將根網域儲存貯體 (`example.com`) 設定為網站。此儲存貯體將包含您的網站內容。當您配置用於網站託管的儲存貯體時，您可以使用 [網站端點](WebsiteEndpoints.md) 存取網站。

**啟用靜態網站託管**

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

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

1. 在儲存貯體清單中，選擇您要為其啟用靜態網站託管的儲存貯體名稱。

1. 選擇 **Properties** (屬性)。

1. 在 **Static website hosting** (靜態網站託管) 下，選擇 **Edit** (編輯)。

1. 選擇**使用此儲存貯體來託管網站**。

1. 在**靜態網站託管**下，選擇**啟用**。

1. 在**索引文件**中，輸入索引文件的名稱，通常是 `index.html`。

   索引文件名稱區分大小寫，而且必須完全符合您計畫上傳至 S3 儲存貯體的 HTML 索引文件檔案名稱。當您為網站託管設定儲存貯體時，必須指定索引文件。在對根網域或任何子資料夾提出請求時，Amazon S3 會傳回此索引文件。如需詳細資訊，請參閱「[設定索引文件](IndexDocumentSupport.md)」。

1. 若要為 4XX 類別錯誤提供自己的自訂錯誤文件，請在 **Error document** (錯誤文件) 中輸入自訂錯誤文件檔案名稱。

   錯誤文件名稱區分大小寫，而且必須完全符合您計畫上傳至 S3 儲存貯體的 HTML 錯誤文件檔案名稱。如果您未指定自訂錯誤文件且發生錯誤，則 Amazon S3 會傳回預設的 HTML 錯誤文件。如需詳細資訊，請參閱[設定自訂錯誤文件](CustomErrorDocSupport.md)。

1. (選用) 如果您要指定進階重新導向規則，請在 **Redirection rules (重新導向規則)** 中輸入 JSON 來描述規則。

   例如，您可依據要求中特定的物件金鑰名稱或字首，依條件路由要求。如需詳細資訊，請參閱「[配置重新引導規則以使用進階條件重新引導](how-to-page-redirect.md#advanced-conditional-redirects)」。

1. 選擇 **Save changes** (儲存變更)。

   Amazon S3 會為您的儲存貯體啟用靜態網站託管。在頁面底部的**靜態網站託管**下，您會看到儲存貯體的網站端點。

1. 在 **Static website hosting** 下，請記下 **Endpoint (端點)**。

   **端點**是儲存貯體的 Amazon S3 網站端點。將儲存貯體設為靜態網站之後，您可以使用此端點來測試您的網站。

[編輯封鎖公有存取設定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-configure-bucket-permissions)並[新增允許公有讀取存取權的儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#add-bucket-policy-root-domain)之後，您可以使用網站端點存取您的網站。

在下一個步驟中，您會設定自己的子網域 (`www.example.com`) 以將請求重新導向至您的網域 (`example.com`)。

## 步驟 4：設定用於網站重新導向的子網域儲存貯體
<a name="root-domain-walkthrough-configure-redirect"></a>

設定用於網站託管的根網域儲存貯體之後，您可以設定子網域儲存貯體以將所有請求重新導向至網域。在此範例中，`www.example.com` 的所有請求都會重新導向至 `example.com`。

**設定重新導向要求**

1. 在 Amazon S3 主控台上，於**一般用途儲存貯體**清單中選擇子網域儲存貯體名稱 (在本例中為 `www.example.com`)。

1. 選擇 **Properties** (屬性)。

1. 在 **Static website hosting** (靜態網站託管) 下，選擇 **Edit** (編輯)。

1. 選擇 **Redirect requests for an object (重新引導物件請求)**。

1. 在 **Target bucket (目標儲存貯體)** 方塊中，輸入您的根網域，例如 **example.com**。

1. 在 **Protocol (通訊協定)**中，選擇 **http**。

1. 選擇 **Save changes** (儲存變更)。

## 步驟 5：為網站流量設定記錄
<a name="root-domain-walkthrough-configure-logging"></a>

如果您想要追蹤存取您網站的訪客人數，則可以選擇性地為根網域儲存貯體啟用記錄。如需詳細資訊，請參閱「[使用伺服器存取記錄記錄要求](ServerLogs.md)」。如果您打算使用 Amazon CloudFront 加速您的網站，您也可以使用 CloudFront 日誌記錄。

**為您的根網域儲存貯體啟用伺服器存取記錄**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在建立設為靜態網站之儲存貯體的相同區域中，建立用於記錄的儲存貯體，例如 `logs.example.com`。

1. 為伺服器存取記錄日誌檔建立資料夾 (例如，`logs`)。

1. (選用) 如果您想要使用 CloudFront 來改善網站效能，請為 CloudFront 日誌檔案建立資料夾 (例如，`cdn`)。
**重要**  
當您建立或更新分佈並啟用 CloudFront 日誌記錄時，CloudFront 會更新儲存貯體存取控制清單 ACL 以為 `awslogsdelivery` 帳戶提供向儲存貯體寫入日誌的 `FULL_CONTROL` 許可。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[設定標準日誌記錄和存取日誌檔案所需的許可](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)。如果存放日誌的儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制設定來停用 ACL，則 CloudFront 無法將日誌寫入儲存貯體。如需詳細資訊，請參閱[控制物件的擁有權並停用儲存貯體的 ACL](about-object-ownership.md)。

1. 在**儲存貯體**清單中，選擇您的根網域儲存貯體。

1. 選擇 **Properties** (屬性)。

1. 在 **Server access logging** (伺服器存取記錄) 下，選擇 **Edit** (編輯)。

1. 選擇 **Enable** (啟用)。

1. 在**目的地儲存貯體**下，選擇伺服器存取日誌的儲存貯體和資料夾目的地：
   + 瀏覽至資料夾和儲存貯體位置：

     1. 選擇 **Browse S3** (瀏覽 S3)。

     1. 選擇儲存貯體名稱，然後選擇日誌資料夾。

     1. 選擇 **Choose path** (選擇路徑)。
   + 輸入 S3 儲存貯體路徑，例如 `s3://logs.example.com/logs/`。

1. 選擇 **Save changes** (儲存變更)。

   在您的日誌儲存貯體中，您現在可以存取您的日誌。Amazon S3 會每隔 2 小時，將網站存取日誌寫入您的日誌儲存貯體。

## 步驟 6：上傳索引和網站內容
<a name="upload-website-content"></a>

在此步驟中，您將索引文件和選用的網站內容上傳至根網域儲存貯體。

當您為儲存貯體啟用靜態網站託管時，請輸入索引文件的名稱 (例如，**index.html**)。為儲存貯體啟用靜態網站託管後，您可以將含有索引文件名稱的 HTML 檔案上傳到儲存貯體。

**設定索引文件**

1. 建立 `index.html` 檔案。

   如果您還沒有 `index.html` 檔案，您可以使用下列HTML 建立一個檔案。

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. 在本機儲存索引檔案。

   索引文件檔案名稱必須完全符合您在 **Static website hosting** (靜態網站託管) 對話方塊中輸入的索引文件名稱。索引文件名稱有區分大小寫。例如，如果您在 **Static website hosting** (靜態網站託管) 對話方塊的 **Index document** (索引文件) 名稱中輸入 `index.html`，您的索引文件檔案名稱也必須是 `index.html` 而非 `Index.html`。

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

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

1. 在儲存貯體清單中，選擇您要用於託管靜態網站的儲存貯體名稱。

1. 為您的儲存貯體啟用靜態網站，然後輸入索引文件的確切名稱 (例如，`index.html`)。如需詳細資訊，請參閱「[啟用網站託管](EnableWebsiteHosting.md)」。

   啟用靜態網路託管之後，請繼續執行步驟 6。

1. 若要將索引文件上傳至您的儲存貯體，請執行下列其中一項：
   + 將索引檔拖放到主控台儲存貯體清單中。
   + 選擇 **Upload** (上傳)，然後依照提示選擇並上傳索引檔案。

   如需逐步說明，請參閱「[上傳物件](upload-objects.md)」。

1. (選用) 將其他網站內容上傳到您的儲存貯體。

## 步驟 7：上傳錯誤文件
<a name="configure-error-document-root-domain"></a>

當您為儲存貯體啟用靜態網站託管時，請輸入錯誤文件的名稱 (例如 **404.html**)。為儲存貯體啟用靜態網站託管後，您可以將含有錯誤引文件名稱的 HTML 檔案上傳到儲存貯體。

**設定錯誤文件**

1. 建立錯誤文件，例如 `404.html`。

1. 將錯誤文件檔案儲存在本機。

   錯誤文件名稱區分大小寫，且須完全符合您在啟用靜態網站託管時所輸入的名稱。例如，如果您在 **Static website hosting** (靜態網站託管) 對話方塊的 **Error document** (錯誤文件) 名稱中輸入 `404.html`，您的錯誤文件檔案名稱也必須是 `404.html`。

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

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

1. 在儲存貯體清單中，選擇您要用於託管靜態網站的儲存貯體名稱。

1. 為您的儲存貯體啟用靜態網站託管，並輸入錯誤文件的確切名稱 (例如 `404.html`)。如需詳細資訊，請參閱[啟用網站託管](EnableWebsiteHosting.md)及[設定自訂錯誤文件](CustomErrorDocSupport.md)。

   啟用靜態網路託管之後，請繼續執行步驟 6。

1. 若要將錯誤文件上傳至您的儲存貯體，請執行下列其中一項：
   + 將錯誤文件檔案拖放至主控台儲存貯體清單中。
   + 選擇 **Upload** (上傳)，然後依照提示選擇並上傳索引檔案。

   如需逐步說明，請參閱「[上傳物件](upload-objects.md)」。

## 步驟 8：編輯 S3 封鎖公有存取設定
<a name="root-domain-walkthrough-configure-bucket-permissions"></a>

在此範例中，您可以編輯網域儲存貯體 (`example.com`) 的封鎖公有存取設定，以允許公有存取。

根據預設，Amazon S3 會封鎖對帳戶和儲存貯體的公開存取。如想要使用儲存貯體託管靜態網站，您可使用這些步驟編輯封鎖公有存取設定：

**警告**  
完成這些步驟之前，請檢閱[封鎖對 Amazon S3 儲存體的公開存取權](access-control-block-public-access.md)以確保您了解並接受允許公開存取所涉及的風險。當您關閉封鎖公開存取設定以公開儲存貯體時，網際網路上的任何人都可以存取您的儲存貯體。我們建議您封鎖對儲存貯體的所有公用存取權。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇已設定為靜態網站的儲存貯體名稱。

1. 選擇 **Permissions** (許可)。

1. 在 **Block public access (bucket settings) (封鎖公開存取 (儲存貯體設定))** (封鎖公開存取 (儲存貯體設定)) 下，選擇 **Edit** (編輯)。

1. 清除 **Block *all* public access** (封鎖所有公開存取)，然後選擇 **Save changes** (儲存變更)。  
![\[Amazon S3 主控台，顯示封鎖公開存取儲存貯體設定。\]](http://docs.aws.amazon.com/zh_tw/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3 會關閉儲存貯體的封鎖公開存取設定。若要建立公有靜態網站，在新增儲存貯體原則之前，可能還需要針對您的帳戶[編輯封鎖公開存取設定](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html)。如果目前已開啟帳戶的封鎖公開存取設定，您會在**封鎖公開存取 (儲存貯體設定)** 下看到附註。

## 步驟 9：連接儲存貯體政策
<a name="add-bucket-policy-root-domain"></a>

在此範例中，您將儲存貯體政策連接至網域儲存貯體 (`example.com`)，以允許公有讀取存取權。您可以將範例儲存貯體政策中的 *Bucket-Name* 取代為網域儲存貯體的名稱，例如 `example.com`。

編輯 S3 封鎖公用存取設定之後，您可以新增儲存貯體政策，以授予儲存貯體的公用讀取權限。當您授予公有讀取權限時，網際網路上的任何人都可以存取您的儲存貯體。

**重要**  
以下政策僅為範例，允許完整存取您儲存貯體的內容。繼續執行此步驟之前，請檢閱[如何保護 Amazon S3 儲存貯體中的檔案？](https://aws.amazon.com/premiumsupport/knowledge-center/secure-s3-resources/)，以確保您瞭解 S3 儲存貯體中檔案保護的最佳實務，以及授予公開存取權所涉及的風險。

1. 在 **Buckets**(儲存貯體) 下方，選擇儲存貯體的名稱。

1. 選擇 **Permissions** (許可)。

1. 在 **Bucket Policy** (儲存貯體政策) 下方，選擇 **Edit** (編輯)。

1. 若要授予您網站的公開讀取存取權，請複製以下儲存貯體政策，並將它貼上至 **Bucket policy editor (儲存貯體政策編輯器)**。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::Bucket-Name/*"
               ]
           }
       ]
   }
   ```

1. 將 `Resource` 更新為您的儲存貯體名稱。

   在上述範例儲存貯體政策中，*Bucket-Name* 是儲存貯體名稱的預留位置。若要使用此儲存貯體策略與您自己的儲存貯體搭配，您必須更新此名稱以符合您的儲存貯體名稱。

1. 選擇 **Save changes** (儲存變更)。

   顯示的訊息指出已成功新增儲存貯體原則。

   如果您看到指出 `Policy has invalid resource` 的錯誤，請確認儲存貯體政策中的儲存貯體名稱與您的儲存貯體名稱相符。如需有關新增儲存貯體原則的資訊，請參閱[如何新增 S3 儲存貯體原則？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)

   如果您收到錯誤訊息且無法儲存貯體原則，請檢查您的帳戶和儲存貯體的封鎖公開存取設定，以確認您允許公開存取儲存貯體。

在接下來的步驟中，您可以找出自己網站的端點，並測試自己網域的端點。

## 步驟 10：測試您的網域端點
<a name="root-domain-walkthrough-test-website"></a>

將網域儲存貯體設定為託管公有網站後，您就可以測試自己的端點。如需詳細資訊，請參閱「[網站端點](WebsiteEndpoints.md)」。您只能測試網域儲存貯體的端點，因為子網域儲存貯體已設置為網站重新導向，且不是靜態網站託管。

**注意**  
Amazon S3 不支援使用 HTTPS 存取網站。若要使用 HTTPS，您可以使用 Amazon CloudFront，為 Amazon S3 上託管的靜態網站提供服務。  
如需詳細資訊，請參閱[如何使用 CloudFront 為 Amazon S3 上託管的靜態網站提供服務？](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/)和[要求在檢視者與 CloudFront 間，使用 HTTPS 來進行通訊](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)。

1. 在 **Buckets (儲存貯體)** 下方，選擇儲存貯體的名稱。

1. 選擇 **Properties** (屬性)。

1. 在頁面底部的 **Static website hosting (靜態網站託管)** 下，選擇您的 **Bucket website endpoint (儲存貯體網站端點)**。

   您的索引文件會在不同的瀏覽器視窗中開啟。

在下一個步驟中，您會使用 Amazon Route 53，讓客戶可以同時使用您的自訂 URL 來導覽至您的網站。

## 步驟 11：為您的網域和子網域新增別名記錄
<a name="root-domain-walkthrough-add-record-to-hostedzone"></a>

在此步驟中，您會建立可新增至網域對應 `example.com` 與 `www.example.com` 的託管區域的別名記錄。別名記錄使用 Amazon S3 網站端點，而不是使用 IP 位址。Amazon Route 53 會在別名記錄與 Amazon S3 儲存貯體所在的 IP 位址之間保持對應。您會建立兩個別名記錄，一個為根網域使用，另一個為子網域使用。

### 為根網域和子網域新增別名記錄
<a name="add-alis-record"></a>

**新增根網域 (`example.com`) 的別名記錄**

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)開啟 Route 53 主控台。
**注意**  
如果您尚未使用 Route 53，請參閱*《Amazon Route 53 開發人員指南》*中的[步驟 1：註冊網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)。完成設定後，您可依說明繼續作業。

1. 選擇 **Hosted Zones** (託管區域)。

1. 在託管區域的清單中，選擇與您網域名稱相同的託管區域名稱。

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

1. 選擇 **Switch to wizard** (切換至精靈)。
**注意**  
如果您想要使用快速建立來建立別名記錄，請參閱[設定 Route 53 以將流量路由傳送至 S3 儲存貯體](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/RoutingToS3Bucket.html#routing-to-s3-bucket-configuring)。

1. 選擇**簡易路由**，然後選擇**下一步**。

1. 選擇**定義簡易記錄**。

1. 在 **Record name (記錄名稱)** 中，接受預設值，這是您的託管區域與網域的名稱。

1. 在 **Value/Route traffic to (值/路由傳送流量至)** 中，選擇 **Alias to S3 website endpoint (連至 S3 網站端點的別名)**。

1. 選擇 區域。

1. 選擇 S3 儲存貯體。

   儲存貯體名稱應與 **Name** (名稱) 方塊中顯示的名稱相符。在 **Choose S3 bucket** (選擇 S3 儲存貯體) 清單中，儲存貯體名稱會與建立儲存貯體之區域的 Amazon S3 網站端點一起顯示，例如 `s3-website-us-west-1.amazonaws.com (example.com)`。

   如果下列情況，則 **Choose S3 bucket** (選擇 S3 儲存貯體) 會列出儲存貯體：
   + 您將儲存貯體設定為靜態網站。
   + 儲存貯體與您要建立的記錄同名。
   + 目前 AWS 帳戶 已建立儲存貯體。

   如果您的儲存貯體未出現在 **Choose S3 bucket** (選擇 S3 儲存貯體) 清單中，請輸入建立儲存貯體之區域的 Amazon S3 網站端點，例如 **s3-website-us-west-2.amazonaws.com**。如需 Amazon S3 網站端點的完整清單，請參閱 [Amazon S3 網站端點](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)。如需別名目標的詳細資訊，請參閱*《Amazon Route 53 開發人員指南》*中的[值/將流量路由到](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)。

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

1. 在 **Evaluate target health (評估目標運作狀態)** 中，選擇 **No (否)**。

1. 選擇**定義簡易記錄**。

**新增子網域 (`www.example.com`) 的別名記錄**

1. 在 **Configure records** (設定記錄) 下，選擇 **Define simple record** (定義簡易記錄)。

1. 在子網域的 **Record name (記錄名稱)** 中，輸入 `www`。

1. 在 **Value/Route traffic to (值/路由傳送流量值)** 中，選擇 **Alias to S3 website endpoint (連至 S3 網站端點的別名)**。

1. 選擇區域。

1. 選擇 S3 儲存貯體，例如 `s3-website-us-west-2.amazonaws.com (www.example.com)`。

   如果您的儲存貯體未出現在 **Choose S3 bucket** (選擇 S3 儲存貯體) 清單中，請輸入建立儲存貯體之區域的 Amazon S3 網站端點，例如 **s3-website-us-west-2.amazonaws.com**。如需 Amazon S3 網站端點的完整清單，請參閱 [Amazon S3 網站端點](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)。如需別名目標的詳細資訊，請參閱*《Amazon Route 53 開發人員指南》*中的[值/將流量路由到](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)。

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

1. 在 **Evaluate target health (評估目標運作狀態)** 中，選擇 **No (否)**。

1. 選擇 **Define simple record (定義簡易記錄)**。

1. 在 **Configure records** (設定記錄) 頁面上，選擇 **Create records** (建立記錄)。

**注意**  
變更通常會在 60 秒內傳播至所有 Route 53 伺服器。當傳播完成，您就可以使用在此程序中建立的別名記錄名稱，將流量路由到 Amazon S3 儲存貯體。

### 新增根網域和子網域的別名記錄 (舊版 Route 53 主控台)
<a name="add-alis-record-old"></a>

**新增根網域 (`example.com`) 的別名記錄**

Route 53 主控台已重新設計。在 Route 53 主控台中，您可以暫時使用舊版主控台。如果您選擇使用舊版 Route 53 主控台，請使用下列程序。

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)開啟 Route 53 主控台。
**注意**  
如果您尚未使用 Route 53，請參閱*《Amazon Route 53 開發人員指南》*中的[步驟 1：註冊網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)。完成設定後，您可依說明繼續作業。

1. 選擇 **Hosted Zones** (託管區域)。

1. 在託管區域的清單中，選擇與您網域名稱相同的託管區域名稱。

1. 選擇 **Create Record Set (建立記錄集)**。

1. 指定下列值：  
**名稱**  
接受預設值，這是您的託管區域與網域的名稱。  
如為根網域，您不需要在 **Name (名稱)** 欄位中輸入任何額外的資訊。  
**類型**  
選擇 **A – IPv4 地址**。  
**別名**  
選擇 **Yes (是)**。  
**別名目標**  
在清單的 **S3 website endpoints (S3 網站端點)** 區段中，選擇您的儲存貯體名稱。  
儲存貯體名稱應與 **Name** (名稱) 方塊中顯示的名稱相符。例如，在**別名目標**清單中，儲存貯體名稱後面是建立儲存貯體區域的 Amazon S3 網站端點，例如 `example.com (s3-website-us-west-2.amazonaws.com)`。若為下列情況，**Alias Target (別名目標)** 會列出儲存貯體：  
   + 您將儲存貯體設定為靜態網站。
   + 儲存貯體與您要建立的記錄同名。
   + 目前 AWS 帳戶 已建立儲存貯體。
如果您的儲存貯體未出現在**別名目標**列表中，請輸入建立儲存貯體之區域的 Amazon S3 網站端點，例如 `s3-website-us-west-2`。如需 Amazon S3 網站端點的完整清單，請參閱 [Amazon S3 網站端點](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)。如需別名目標的詳細資訊，請參閱*《Amazon Route 53 開發人員指南》*中的[值/將流量路由到](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)。  
**路由政策**  
接受 **Simple (簡易)** 的預設值。  
**評估目標運作狀態**  
接受預設值 **No (否)**。

1. 選擇 **Create** (建立)。

**新增子網域 (`www.example.com`) 的別名記錄**

1. 在根網域 (`example.com`) 的託管區域裝，選擇 **Create Record Set (建立記錄集)**。

1. 指定下列值：  
**名稱**  
如為子網域，請在方塊中輸入 `www`。  
**類型**  
選擇 **A – IPv4 地址**。  
**別名**  
選擇 **Yes (是)**。  
**別名目標**  
在清單的 **S3 網站端點**部分中，選擇與**名稱**欄位中顯示的相同儲存貯體名稱 (例如，`www.example.com (s3-website-us-west-2.amazonaws.com)`)。  
**路由政策**  
接受 **Simple (簡易)** 的預設值。  
**評估目標運作狀態**  
接受預設值 **No (否)**。

1. 選擇 **Create** (建立)。

**注意**  
變更通常會在 60 秒內傳播至所有 Route 53 伺服器。當傳播完成，您就可以使用在此程序中建立的別名記錄名稱，將流量路由到 Amazon S3 儲存貯體。

## 步驟 12：測試網站
<a name="root-domain-testing"></a>

確認網站及重新導向可正常運作。在瀏覽器中輸入您的 URL。在此範例中，您可以嘗試以下 URL：
+ **網域** (`http://example.com`) – 顯示 `example.com` 儲存貯體中的索引文件。
+ **子網域** (`http://www.example.com`) – 將您的要求重新導向到 `http://example.com`。您在 `example.com` 儲存貯體中查看索引文件。

如果您的網站或重新導向連結無法運作，您可以嘗試下列方法：
+ **Clear cache** (清除快取) – 清除網頁瀏覽器的快取。
+ **Check name servers** (檢查名稱伺服器) – 如果您的網頁和重新導向連結在清除快取之後無法運作，您可以比較網域的名稱伺服器，以及託管區域的名稱伺服器。如果名稱伺服器不相符，您可能需要更新網域名稱伺服器，以符合您託管區域下列出的名稱伺服器。如需詳細資訊，請參閱[新增或變更網域的名稱伺服器和黏附記錄](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html)。

成功測試根網域和子網域後，您可以設定 [Amazon CloudFront](https://aws.amazon.com/cloudfront) 分發來改善網站效能，並提供可用來檢閱網站流量的日誌。如需詳細資訊，請參閱[使用 Amazon CloudFront 加速您的網站](website-hosting-cloudfront-walkthrough.md)。

# 使用 Amazon CloudFront 加速您的網站
<a name="website-hosting-cloudfront-walkthrough"></a>

您可以使用 [Amazon CloudFront](https://aws.amazon.com/cloudfront) 來提高 Amazon S3 網站的效能。CloudFront 可讓您網站的檔案 (例如 HTML、影像及影片) 能從全球各地的資料中心 (稱為*節點*) 存取。當訪客請求您網站的檔案時，CloudFront 會自動將請求重新導向至最接近節點的檔案複本。比起訪客向更遠處的資料中心要求內容，如此可以縮短下載時間。

CloudFront 會在您指定的期間，將節點內容放在快取記憶體中。若訪客請求的內容在快取中的時間超過了過期日，CloudFront 會查看原始伺服器中是否有較新版本的內容可供使用。若有提供較新的版本，CloudFront 會將新版本複製到節點。您對原始內容所做的變更，會在訪客要求內容時複寫到節點。

**使用 CloudFront 但不使用 Route 53**  
此頁面上的教學課程使用 Route 53 來指向您的 CloudFront 分發。然而，如果您想要使用 CloudFront 提供 Amazon S3 儲存貯體中託管的內容，但不使用 Route 53，請參閱 [Amazon CloudFront 教學課程：設定 Amazon S3 的動態內容分發](https://aws.amazon.com/cloudfront/getting-started/S3/)。當您使用 CloudFront 提供 Amazon S3 儲存貯體中託管的內容時，您可以使用任何儲存貯體名稱，而且同時支援 HTTP 和 HTTPS 兩者。

**使用 CloudFormation 範本自動化設定**  
如需使用 CloudFormation 範本設定建立 CloudFront 分佈以提供網站之安全靜態網站的詳細資訊，請參閱《*Amazon CloudFront 開發人員指南*》中的[安全靜態網站入門](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)。

**Topics**
+ [步驟 1：建立 CloudFront 分發](#create-distribution)
+ [步驟 2：更新網域與子網域的記錄集](#update-record-sets)
+ [(選用) 步驟 3：檢查日誌檔案](#check-log-files)

## 步驟 1：建立 CloudFront 分發
<a name="create-distribution"></a>

首先，請建立 CloudFront 分發。如此一來，即可從全球各地的資料中心取得您的網站。

**使用 Amazon S3 來源伺服器建立分發**

1. 在 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) 開啟 CloudFront 主控台。

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

1. 在**建立分發**頁面的**來源設定**區段中，針對**來源伺服器網域名稱**，輸入您儲存貯體的 Amazon S3 網站端點，例如 **example.com.s3-website.us-west-1.amazonaws.com**。

   CloudFront 會為您填入**原始伺服器 ID**。

1. 針對 **Default Cache Behavior Settings (預設快取行為設定)**，請保留預設值。

   透過**檢視器通訊協定政策**的預設設定，您可以將 HTTPS 用於您的靜態網站。如需這些組態選項的詳細資訊，請參閱*《Amazon CloudFront 開發人員指南》*中的[建立或更新 Web 分發時指定的值](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#DownloadDistValuesYouSpecify)。

1. 針對 **Distribution Settings (分佈設定)**，請執行下列作業：

   1. 將 **Price Class (價格方案)** 維持在設為 **Use All Edge Locations (Best Performance) (使用所有節點 (最佳效能))**。

   1. 將**替代網域名稱 (CNAME)** 設定為根網域和 `www` 子網域。在本教學課程中，有 `example.com` 和 `www.example.com`。
**重要**  
在執行此步驟前，請記下[使用替代網域名稱的需求](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements)，尤其是有效 SSL/TLS 認證的需求。

   1. 對於 **SSL 憑證**，請選擇**自訂 SSL 憑證 (example.com)**，然後選擇涵蓋網域和子網域名稱的自訂憑證。

      如需詳細資訊，請參閱*《Amazon CloudFront 開發人員指南》*中的 [SSL 憑證](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesSSLCertificate)。

   1. 在 **Default Root Object (預設根物件)** 中，輸入索引文件的名稱，例如 `index.html`。

      如果用來存取分發的 URL 不包含檔案名稱，則 CloudFront 分發會傳回索引文件。**Default Root Object (預設根物件)** 應該與您靜態網站的索引文件名稱完全相符。如需詳細資訊，請參閱[設定索引文件](IndexDocumentSupport.md)。

   1. 將 **Logging (記錄日誌)** 設為 **On (開啟)**。
**重要**  
當您建立或更新分佈並啟用 CloudFront 日誌記錄時，CloudFront 會更新儲存貯體存取控制清單 ACL 以為 `awslogsdelivery` 帳戶提供向儲存貯體寫入日誌的 `FULL_CONTROL` 許可。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的[設定標準日誌記錄和存取日誌檔案所需的許可](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)。如果存放日誌的儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制設定來停用 ACL，則 CloudFront 無法將日誌寫入儲存貯體。如需詳細資訊，請參閱[控制物件的擁有權並停用儲存貯體的 ACL](about-object-ownership.md)。

   1. 針對 **Bucket for Logs (日誌儲存貯體)**，選擇所建立的日誌記錄儲存貯體。

      如需配置日誌儲存貯體的詳細資訊，請參閱 [(選y用) 記錄 Web 流量](LoggingWebsiteTraffic.md)。

   1. 如果您要將流量產生的日誌儲存到資料夾中的 CloudFront 分發，請在**日誌前綴**中輸入資料夾名稱。

   1. 將其他所有設定保留為其預設值。

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

1. 若要查看分佈的狀態，請在主控台中尋找分佈並檢查 **Status (狀態)** 欄。

   `InProgress` 狀態表示尚未完整部署分散。

   部署分發之後，可以使用新的 CloudFront 網域名稱來參考您的內容。

1. 記錄 CloudFront 主控台中所顯示的**網域名稱**值，例如 `dj4p1rv6mvubz.cloudfront.net`。

1. 若要確認 CloudFront 分發運作正常，請在 Web 瀏覽器中輸入分發的網域名稱。

   如果您的網站是可見的，則 CloudFront 分發會正常運作。如果您的網站有已註冊 Amazon Route 53 的自訂網域，您將需要 CloudFront 網域名稱才能在下一個步驟中更新記錄集。

## 步驟 2：更新網域與子網域的記錄集
<a name="update-record-sets"></a>

現在您已成功建立 CloudFront 分發，請更新 Route 53 中的別名記錄，以指向新的 CloudFront 分發。

**若要更新別名記錄以指向 CloudFront 分發**

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)開啟 Route 53 主控台。

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

1. 在 **Hosted Zones** (託管區域) 頁面上，選擇您為子網域所建立的託管區域，例如 `www.example.com`。

1. 在 **Records** (記錄) 下，選取您為子網域建立的 *A* 記錄。

1. 在 **Record details** (記錄詳細資訊)下，選擇 **Edit record** (編輯記錄)

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

1. 在 **Choose distribution** (選擇分佈) 下，選擇 CloudFront 分發。

1. 選擇 **Save** (儲存)。

1. 若要將根網域的 *A* 記錄重新導向至 CloudFront 分佈，請針對根網域重複此程序，例如 `example.com`。

   對記錄集所做的更新，會在 2–48 小時內生效。

1. 若要查看新的 *A* 記錄是否已生效，請在網頁瀏覽器中輸入您的子網域 URL，例如 `http://www.example.com`。

   如果瀏覽器不再將您重新導向至根網域 (例如，`http://example.com`)，則表示 A 記錄已生效。當新的 *A* 記錄生效時，就不會將新的 *A* 記錄路由至 CloudFront 分發的流量重新導向至根網域。任何使用 `http://example.com` 或 `http://www.example.com` 參考網站的訪客，都會被重新導向至最近的 CloudFront 節點，如此有助於其縮短下載時間。
**提示**  
瀏覽器可快取重新導向設定。若您認為新的 *A* 記錄設定應該已經生效，但您的瀏覽器仍將 `http://www.example.com` 重新導向至 `http://example.com`，請嘗試清除瀏覽器的歷史記錄與快取、關閉瀏覽器應用程式再重新開啟，或使用不同的 Web 瀏覽器。

## (選用) 步驟 3：檢查日誌檔案
<a name="check-log-files"></a>

存取日誌能告知您瀏覽網站的人數。這些日誌也包含重要的商務資料，您可以使用 [Amazon EMR](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/) 等其他服務進行分析。

CloudFront 日誌會儲存在您建立 CloudFront 分發並啟用日誌時所選擇的儲存貯體和資料夾中。CloudFront 會在提出相應請求的 24 小時內，將日誌寫入您的日誌儲存貯體。

**查看網站的日誌檔**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇適用於您網站的記錄儲存貯體。

1. 選擇 CloudFront 資料夾。

1. 在開啟之前，請先下載由 CloudFront 撰寫的 `.gzip` 檔案。

   若您建立的網站僅供學習練習，則可先刪除原先已配置的資源，如此即不會再增加費用。若要這麼做，請參閱[清理範例資源](getting-started-cleanup.md)。刪除 AWS 資源之後，您的網站即不再可供使用。

# 清理範例資源
<a name="getting-started-cleanup"></a>

若建立的靜態網站僅供學習練習之用，您應先刪除已配置的 AWS 資源，如此即不會再產生費用。刪除 AWS 資源之後，您的網站即不再可供使用。

**Topics**
+ [步驟 1：刪除 Amazon CloudFront 分發](#getting-started-cleanup-cloudfront)
+ [步驟 2：刪除 Route 53 託管區域](#getting-started-cleanup-route53)
+ [步驟 3：停用記錄並刪除 S3 儲存貯體](#getting-started-cleanup-s3)

## 步驟 1：刪除 Amazon CloudFront 分發
<a name="getting-started-cleanup-cloudfront"></a>

刪除 Amazon CloudFront 分發之前，您必須先停用它。已停用的分佈如此即不再有用，也不會產生費用。您隨時都可以啟用之前停用的分佈。刪除停用的分佈之後，它即不再可供使用。

**停用和刪除 CloudFront 分發**

1. 在 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home) 開啟 CloudFront 主控台。

1. 選取您要停用的分佈，然後選擇 **Disable (停用)**。

1. 出現確認提示時，請選擇 **Yes, Disable (是，停用)**。

1. 選取已停用的分佈，然後選擇 **Delete (刪除)**。

1. 出現確認提示時，選擇 **Yes, Delete (是，刪除)**。

## 步驟 2：刪除 Route 53 託管區域
<a name="getting-started-cleanup-route53"></a>

刪除託管區域之前，必須先刪除您建立的記錄集。您不必刪除 NS 和 SOA 記錄，它們會在您刪除託管區域時自動刪除。

**刪除記錄集**

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)開啟 Route 53 主控台。

1.  從網域名稱清單中，選取您的網域名稱，然後選擇 **Go to Record Sets (前往記錄集)**。

1. 在記錄集清單中，選擇您建立的 *A* 記錄。

   每個記錄集的類型都會列在 **Type (類型)** 欄中。

1. 選擇 **Delete Record Set (刪除記錄集)**。

1. 出現確認提示時，選擇 **Confirm (確認)**。

**刪除 Route 53 託管區域**

1.  繼續前一程序，選擇 **Back to Hosted Zones (返回託管區域)**。

1.  選取您的網域名稱，然後選擇 **Delete Hosted Zone (刪除託管區域)**。

1.  出現確認提示時，選擇 **Confirm (確認)**。

## 步驟 3：停用記錄並刪除 S3 儲存貯體
<a name="getting-started-cleanup-s3"></a>

刪除 S3 儲存貯體之前，請務必停用儲存貯體的記錄。否則，在刪除日誌時， AWS 請繼續將日誌寫入您的儲存貯體。

**停用儲存貯體的記錄**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Buckets (儲存貯體)** 下，選擇儲存貯體名稱，然後選擇 **Properties (屬性)**。

1. 從 **Properties (屬性)** 選擇 **Logging (記錄日誌)**。

1. 清除 **Enabled (已啟用)** 核取方塊。

1. 選擇 **Save** (儲存)。

現在即可刪除儲存貯體。如需詳細資訊，請參閱[刪除一般用途儲存貯體](delete-bucket.md)。

# 從 S3 一般用途儲存貯體將靜態網站部署至 AWS Amplify 託管
<a name="website-hosting-amplify"></a>

建議您使用 [AWS Amplify 託管](https://docs.aws.amazon.com//amplify/latest/userguide/welcome.html.html)來託管儲存在 S3 上的靜態網站內容。Amplify 託管是一項全受管服務，可讓您輕鬆地在由 Amazon CloudFront 技術支援的全球可用內容交付網路 (CDN) 上部署網站，無需大量設定即可安全託管靜態網站。使用 AWS Amplify Hosting，您可以選取一般用途儲存貯體中物件的位置、將內容部署至受管 CDN，以及產生公有 HTTPS URL，讓您的網站可在任何地方存取。使用 Amplify 託管部署靜態網站，可為您提供下列優點和功能：
+ **部署至 Amazon CloudFront - CloudFront 支援 AWS 的內容交付網路 (CDN)** 是一種 Web 服務，可加速將靜態和動態 Web 內容分發給使用者。 CloudFront CloudFront 透過透過稱為節點的資料中心全球網路交付您的內容。當使用者請求您使用 CloudFront 提供的內容時，請求會被路由到可提供最低延遲 (時間延遲) 的邊緣節點，以便能以最佳的效能發佈內容，從而增加可靠性和可用性。如需詳細資訊，請參閱《Amazon CloudFront 開發人員指南》**中的 [CloudFront 如何交付內容](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html)。
+ **HTTPS 支援** - 提供網站與使用者 Web 瀏覽器之間的安全通訊和資料傳輸。
+ **自訂網域** - 輕鬆將網站連線到從網域註冊商購買的自訂 URL，例如 Amazon Route 53。
+ **自訂 SSL 憑證** - 在設定自訂網域時，您可以使用 Amplify 為您佈建的預設受管憑證，或者您可以使用從您選擇的第三方憑證授權機構購買的自訂憑證。
+ **內建指標和 CloudWatch 監控** - 監控網站的流量、錯誤、資料傳輸和延遲。
+ **密碼保護** - 在 Amplify 主控台中設定使用者名稱和密碼需求，以限制對網站的存取。
+ **重新導向和重寫 ** - 在 Amplify 主控台中建立重新導向和重寫規則，讓 Web 伺服器能夠變更導覽路徑，從一個 URL 重新路由到另一個 URL。

當您將應用程式從 Amazon S3 一般用途儲存貯體部署到 Amplify Hosting 時， AWS 費用會根據 Amplify 的定價模型而定。如需詳細資訊，請參閱[AWS Amplify 定價](https://aws.amazon.com/amplify/pricing/)。

**重要**  
Amplify 託管不適用於 Amazon S3 AWS 區域 提供的所有 。若要將靜態網站部署至 Amplify 託管，包含您網站的 Amazon S3 一般用途儲存貯體必須位於提供 Amplify 的區域。如需 Amplify 可用區域的清單，請參閱Amazon Web Services 一般參考**中的 [Amplify 端點](https://docs.aws.amazon.com/general/latest/gr/amplify.html#amplify_region)。

您可以從 Amazon S3 主控台、Amplify 主控台、CLI 或 AWS SDKs AWS 啟動部署程序。您只能從位於您帳戶中的一般用途儲存貯體部署到 Amplify。Amplify 不支援跨帳戶儲存貯體存取。

請使用以下指示，從 Amazon S3 一般用途儲存貯體將靜態網站部署至從 Amazon S3 主控台啟動的 Amplify 託管。

## 從 S3 主控台將靜態網站部署至 Amplify
<a name="DeployAmplify"></a>

**從 Amazon S3 主控台部署靜態網站**

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

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

1. 在**儲存貯體**清單中，選擇一般用途儲存貯體，其中包含您要部署至 Amplify 託管的網站。

1. 選擇**屬性**索引標籤。

1. 在**靜態網站託管**下，選擇**建立 Amplify 應用程式**。在此步驟中，部署流程將移至 Amplify 主控台繼續進行。

1. 在**使用 S3 進行部署**頁面上，執行下列步驟。

   1. 針對**應用程式名稱**，輸入應用程式或網站的名稱。

   1. 針對**分支名稱**，輸入應用程式後端的名稱。

   1. 對於**要託管物件的 S3 位置**，請輸入一般用途儲存貯體的目錄路徑，或選擇**瀏覽 S3** 來加以尋找並選取。

1. 選擇 **Save and deploy (儲存並部署)**。

**注意**  
 如果您更新 Amplify 上託管的一般用途儲存貯體中靜態網站的任何物件，您必須將應用程式重新部署到 Amplify 託管，以使變更生效。Amplify 託管不會自動偵測儲存貯體的變更。如需詳細資訊，請參閱《AWS Amplify 託管使用者指南》**中的[從 S3 儲存貯體更新部署至 Amplify 的靜態網站](https://docs.aws.amazon.com//amplify/latest/userguide/update-website-deployed-from-s3.html)。

若要直接從 Amplify 主控台開始，請參閱《AWS Amplify 託管使用者指南》**中的[使用 Amplify 主控台從 S3 部署靜態網站](https://docs.aws.amazon.com//amplify/latest/userguide/deploy--from-amplify-console.html)。

若要開始使用 AWS SDKs，請參閱*AWS 《Amplify 託管使用者指南*》中的[建立儲存貯體政策以使用 AWS SDKs 從 S3 部署靜態網站](https://docs.aws.amazon.com//amplify/latest/userguide/deploy-with-sdks.html)。