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

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

使用 Amazon 加速您的網站 CloudFront

您可以使用 Amazon CloudFront 來改善 Amazon S3 網站的效能。 CloudFront 製作您可從全球資料中心 (稱為邊緣位置 ) 取得的網站檔案 (例如 、HTML影像和影片)。當訪客從您的網站請求檔案時, CloudFront 會自動將請求重新導向至最近的邊緣位置的檔案副本。比起訪客向更遠處的資料中心要求內容,如此可以縮短下載時間。

CloudFront 會在您指定的一段時間內快取邊緣位置的內容。如果訪客請求快取的內容超過過期日期, 會 CloudFront 檢查原始伺服器以查看是否有較新版本的內容可用。如果有較新的版本可用,請將新版本 CloudFront 複製到邊緣位置。您對原始內容所做的變更,會在訪客要求內容時複寫到節點。

在沒有 Route 53 CloudFront 的情況下使用

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

使用 AWS CloudFormation 範本自動設定

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

步驟 1:建立 CloudFront 分佈

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

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

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

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

    CloudFront 會為您填入 Origin ID

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

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

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

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

    2. 替代網域名稱 (CNAMEs) 設定為根網域和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 物件擁有權的儲存貯體擁有者強制執行設定來停用 ACLs, CloudFront 將無法將日誌寫入儲存貯體。如需詳細資訊,請參閱控制物件的擁有權,並停用儲存貯體的 ACLs

    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. 在 開啟 Route 53 主控台https://console.aws.amazon.com/route53/

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

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

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

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

  6. 在將流量路由至 下,選擇要 CloudFront 分發 的別名

  7. 選擇分佈 下,選擇 CloudFront 分佈。

  8. 選擇 Save (儲存)。

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

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

  10. 若要查看新的 A 記錄是否已生效,請在 Web 瀏覽器中輸入子網域 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:檢查日誌檔案

存取日誌能告知您瀏覽網站的人數。它們也包含您可以與其他 服務一起分析的寶貴商業資料,例如 Amazon EMR

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

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

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

  3. 選擇 CloudFront 日誌資料夾。

  4. 請先下載 寫入.gzip的檔案, CloudFront 然後再開啟。

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