

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

# 教學課程：使用向 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)。