使用 Amazon CloudFront 加速您的網站 - Amazon Simple Storage Service

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

使用 Amazon CloudFront 加速您的網站

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

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

使用 CloudFront 但不使用 Route 53

此頁面上的教學課程使用 Route 53 來指向您的 CloudFront 分發。然而,如果您想要使用 CloudFront 提供 Amazon S3 儲存貯體中託管的內容,但不使用 Route 53,請參閱 Amazon CloudFront 教學課程:設定 Amazon S3 的動態內容分發。當您使用 CloudFront 提供 Amazon S3 儲存貯體中託管的內容時,您可以使用任何儲存貯體名稱,而且同時支援 HTTP 和 HTTPS 兩者。

使用 AWS CloudFormation 範本自動化設定

如需使用 AWS CloudFormation 範本設定安全靜態網站以建立 CloudFront 分佈來提供網站的詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的安全靜態網站入門

步驟 1:建立 CloudFront 分發

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

使用 Amazon S3 來源伺服器建立分發
  1. https://console.aws.amazon.com/cloudfront/v4/home 開啟 CloudFront 主控台。

  2. 選擇 Create Distribution (建立分佈)

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

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

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

    透過檢視器通訊協定政策的預設設定,您可以將 HTTPS 用於您的靜態網站。如需這些組態選項的詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的建立或更新 Web 分發時指定的值

  5. 針對 Distribution Settings (分佈設定),請執行下列作業:

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

    2. 替代網域名稱 (CNAME) 設定為根網域和 www 子網域。在本教學課程中,有 example.comwww.example.com

      重要

      在執行此步驟前,請記下使用替代網域名稱的需求,尤其是有效 SSL/TLS 認證的需求。

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

      如需詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的 SSL 憑證

    4. Default Root Object (預設根物件) 中,輸入索引文件的名稱,例如 index.html

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

    5. Logging (記錄日誌) 設為 On (開啟)

      重要

      當您建立或更新分佈並啟用 CloudFront 日誌記錄時,CloudFront 會更新儲存貯體存取控制清單 ACL 以為 awslogsdelivery 帳戶提供向儲存貯體寫入日誌的 FULL_CONTROL 許可。如需詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的設定標準日誌記錄和存取日誌檔案所需的許可。如果存放日誌的儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制設定來停用 ACL,則 CloudFront 無法將日誌寫入儲存貯體。如需詳細資訊,請參閱控制物件的擁有權並停用儲存貯體的 ACL

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

      如需配置日誌儲存貯體的詳細資訊,請參閱 (選y用) 記錄 Web 流量

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

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

  6. 選擇 Create Distribution (建立分佈)

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

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

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

  8. 記錄 CloudFront 主控台中所顯示的網域名稱值,例如 dj4p1rv6mvubz.cloudfront.net

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

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

步驟 2:更新網域與子網域的記錄集

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

若要更新別名記錄以指向 CloudFront 分發
  1. 請在 https://console.aws.amazon.com/route53/開啟 Route 53 主控台。

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

  3. Hosted Zones (託管區域) 頁面上,選擇您為子網域所建立的託管區域,例如 www.example.com

  4. Records (記錄) 下,選取您為子網域建立的 A 記錄。

  5. Record details (記錄詳細資訊)下,選擇 Edit record (編輯記錄)

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

  7. Choose distribution (選擇分佈) 下,選擇 CloudFront 分發。

  8. 選擇 Save (儲存)。

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

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

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

    如果瀏覽器不再將您重新導向至根網域 (例如,http://example.com),則表示 A 記錄已生效。當新的 A 記錄生效時,就不會將新的 A 記錄路由至 CloudFront 分發的流量重新導向至根網域。任何使用 http://example.comhttp://www.example.com 參考網站的訪客,都會被重新導向至最近的 CloudFront 節點,如此有助於其縮短下載時間。

    提示

    瀏覽器可快取重新導向設定。若您認為新的 A 記錄設定應該已經生效,但您的瀏覽器仍將 http://www.example.com 重新導向至 http://example.com,請嘗試清除瀏覽器的歷史記錄與快取、關閉瀏覽器應用程式再重新開啟,或使用不同的 Web 瀏覽器。

(選用) 步驟 3:檢查日誌檔案

存取日誌能告知您瀏覽網站的人數。這些日誌也包含重要的商務資料,您可以使用 Amazon EMR 等其他服務進行分析。

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

查看網站的日誌檔
  1. 開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

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

  3. 選擇 CloudFront 資料夾。

  4. 在開啟之前,請先下載由 CloudFront 撰寫的 .gzip 檔案。

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