本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon 加速您的網站 CloudFront
您可以使用 Amazon CloudFront
CloudFront 會在您指定的一段時間內快取邊緣位置的內容。如果訪客請求快取的內容超過過期日期, 會 CloudFront 檢查原始伺服器以查看是否有較新版本的內容可用。如果有較新的版本可用,請將新版本 CloudFront 複製到邊緣位置。您對原始內容所做的變更,會在訪客要求內容時複寫到節點。
在沒有 Route 53 CloudFront 的情況下使用
本頁面上的教學課程使用 Route 53 指向您的 CloudFront 分佈。不過,如果您想要使用 提供託管在 Amazon S3 儲存貯體中的內容, CloudFront 而不使用 Route 53,請參閱 Amazon CloudFront 教學課程:設定 Amazon S3 的動態內容分發
使用 AWS CloudFormation 範本自動設定
如需使用 AWS CloudFormation 範本設定安全靜態網站以建立 CloudFront 分佈來提供網站的詳細資訊,請參閱 Amazon CloudFront 開發人員指南 中的安全靜態網站入門。
步驟 1:建立 CloudFront 分佈
首先,您可以建立 CloudFront 分佈。如此一來,即可從全球各地的資料中心取得您的網站。
使用 Amazon S3 來源伺服器建立分發
-
在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
選擇 Create Distribution (建立分佈)。
-
在建立分發頁面的來源設定區段中,針對來源伺服器網域名稱,輸入您儲存貯體的 Amazon S3 網站端點,例如
example.com.s3-website.us-west-1.amazonaws.com
。CloudFront 會為您填入 Origin ID。
-
針對 Default Cache Behavior Settings (預設快取行為設定),請保留預設值。
使用檢視器通訊協定政策 的預設設定,您可以將 HTTPS用於靜態網站。如需這些組態選項的詳細資訊,請參閱 Amazon CloudFront 開發人員指南 中的您在建立或更新 Web 分佈時指定的值。
-
針對 Distribution Settings (分佈設定),請執行下列作業:
-
將 Price Class (價格方案) 維持在設為 Use All Edge Locations (Best Performance) (使用所有節點 (最佳效能))。
-
將替代網域名稱 (CNAMEs) 設定為根網域和
www
子網域。在本教學課程中,有example.com
和www.example.com
。重要
在您執行此步驟之前,請注意使用替代網域名稱 的需求,特別是需要有效 SSL/TLS 憑證。
-
針對SSL憑證 ,選擇自訂SSL憑證 (example.com),然後選擇涵蓋網域和子網域名稱的自訂憑證。
如需詳細資訊,請參閱 Amazon CloudFront 開發人員指南 中的SSL憑證。
-
在 Default Root Object (預設根物件) 中,輸入索引文件的名稱,例如
index.html
。如果URL用於存取分發的 不包含檔案名稱, CloudFront 分發會傳回索引文件。Default Root Object (預設根物件) 應該與您靜態網站的索引文件名稱完全相符。如需詳細資訊,請參閱設定索引文件。
-
將 Logging (記錄日誌) 設為 On (開啟)。
重要
當您建立或更新分佈並啟用 CloudFront 記錄時, 會 CloudFront 更新儲存貯體存取控制清單 (ACL),以授予
awslogsdelivery
帳戶將日誌寫入儲存貯體的FULL_CONTROL
許可。如需詳細資訊,請參閱 Amazon CloudFront 開發人員指南 中的設定標準記錄和存取日誌檔案所需的許可。如果儲存日誌的儲存貯體使用 S3 物件擁有權的儲存貯體擁有者強制執行設定來停用 ACLs, CloudFront 將無法將日誌寫入儲存貯體。如需詳細資訊,請參閱控制物件的擁有權,並停用儲存貯體的 ACLs 。 -
針對 Bucket for Logs (日誌儲存貯體),選擇所建立的日誌記錄儲存貯體。
如需配置日誌儲存貯體的詳細資訊,請參閱 (選y用) 記錄 Web 流量。
-
如果您想要將流量產生的日誌存放在 CloudFront 資料夾中,請在日誌字首 中輸入資料夾名稱。
-
將其他所有設定保留為其預設值。
-
-
選擇 Create Distribution (建立分佈)。
若要查看分佈的狀態,請在主控台中尋找分佈並檢查 Status (狀態) 欄。
InProgress
狀態表示尚未完整部署分散。部署分佈之後,您可以使用新的 CloudFront網域名稱來參考內容。
記錄 CloudFront 主控台中顯示的網域名稱值,例如
dj4p1rv6mvubz.cloudfront.net
。-
若要確認您的 CloudFront 分佈是否正常運作,請在 Web 瀏覽器中輸入分佈的網域名稱。
如果您的網站可見,則 CloudFront 分發會運作。如果您的網站有向 Amazon Route 53 註冊的自訂網域,則需要 CloudFront 網域名稱,才能在下一個步驟中更新記錄集。
步驟 2:更新網域與子網域的記錄集
現在您已成功建立 CloudFront 分佈,請更新 Route 53 中的別名記錄,以指向新的 CloudFront 分佈。
更新別名記錄以指向 CloudFront 分佈
-
在 開啟 Route 53 主控台https://console.aws.amazon.com/route53/
。 -
在左側導覽窗格中,選擇 Hosted zones (託管區域)。
-
在 Hosted Zones (託管區域) 頁面上,選擇您為子網域所建立的託管區域,例如
www.example.com
。 -
在 Records (記錄) 下,選取您為子網域建立的 A 記錄。
-
在 Record details (記錄詳細資訊)下,選擇 Edit record (編輯記錄)
-
在將流量路由至 下,選擇要 CloudFront 分發 的別名。
-
在選擇分佈 下,選擇 CloudFront 分佈。
-
選擇 Save (儲存)。
-
若要將根網域的 A 記錄重新導向至 CloudFront分佈,請對根網域重複此程序,例如
example.com
。對記錄集所做的更新,會在 2–48 小時內生效。
-
若要查看新的 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 寫入您的日誌儲存貯體。
查看網站的日誌檔
-
在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/
。 -
選擇適用於您網站的記錄儲存貯體。
-
選擇 CloudFront 日誌資料夾。
-
請先下載 寫入
.gzip
的檔案, CloudFront 然後再開啟。若您建立的網站僅供學習練習,則可先刪除原先已配置的資源,如此即不會再增加費用。若要這麼做,請參閱清理範例資源。刪除 AWS 資源之後,您的網站即不再可供使用。