本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon CloudFront 加速您的網站
您可以使用 Amazon CloudFront
CloudFront 會在您指定的期間,將節點內容放在快取記憶體中。若訪客請求的內容在快取中的時間超過了過期日,CloudFront 會查看原始伺服器中是否有較新版本的內容可供使用。若有提供較新的版本,CloudFront 會將新版本複製到節點。您對原始內容所做的變更,會在訪客要求內容時複寫到節點。
使用 CloudFront 但不使用 Route 53
此頁面上的教學課程使用 Route 53 來指向您的 CloudFront 分發。然而,如果您想要使用 CloudFront 提供 Amazon S3 儲存貯體中託管的內容,但不使用 Route 53,請參閱 Amazon CloudFront 教學課程:設定 Amazon S3 的動態內容分發
使用 AWS CloudFormation 範本自動化設定
如需使用 AWS CloudFormation 範本設定安全靜態網站以建立 CloudFront 分佈來提供網站的詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的安全靜態網站入門。
步驟 1:建立 CloudFront 分發
首先,請建立 CloudFront 分發。如此一來,即可從全球各地的資料中心取得您的網站。
使用 Amazon S3 來源伺服器建立分發
-
在 https://console.aws.amazon.com/cloudfront/v4/home
開啟 CloudFront 主控台。 -
選擇 Create Distribution (建立分佈)。
-
在建立分發頁面的來源設定區段中,針對來源伺服器網域名稱,輸入您儲存貯體的 Amazon S3 網站端點,例如
example.com.s3-website.us-west-1.amazonaws.com
。CloudFront 會為您填入原始伺服器 ID。
-
針對 Default Cache Behavior Settings (預設快取行為設定),請保留預設值。
透過檢視器通訊協定政策的預設設定,您可以將 HTTPS 用於您的靜態網站。如需這些組態選項的詳細資訊,請參閱《Amazon CloudFront 開發人員指南》中的建立或更新 Web 分發時指定的值。
-
針對 Distribution Settings (分佈設定),請執行下列作業:
-
將 Price Class (價格方案) 維持在設為 Use All Edge Locations (Best Performance) (使用所有節點 (最佳效能))。
-
將替代網域名稱 (CNAME) 設定為根網域和
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 物件擁有權的儲存貯體擁有者強制設定來停用 ACL,則 CloudFront 無法將日誌寫入儲存貯體。如需詳細資訊,請參閱控制物件的擁有權並停用儲存貯體的 ACL。 -
針對 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 分發
-
請在 https://console.aws.amazon.com/route53/
開啟 Route 53 主控台。 -
在左側導覽窗格中,選擇 Hosted zones (託管區域)。
-
在 Hosted Zones (託管區域) 頁面上,選擇您為子網域所建立的託管區域,例如
www.example.com
。 -
在 Records (記錄) 下,選取您為子網域建立的 A 記錄。
-
在 Record details (記錄詳細資訊)下,選擇 Edit record (編輯記錄)
-
在 Route traffic to (將流量路由至) 下,選擇 Alias to CloudFront distribution (CloudFront 分佈的別名)。
-
在 Choose distribution (選擇分佈) 下,選擇 CloudFront 分發。
-
選擇 Save (儲存)。
-
若要將根網域的 A 記錄重新導向至 CloudFront 分佈,請針對根網域重複此程序,例如
example.com
。對記錄集所做的更新,會在 2–48 小時內生效。
-
若要查看新的 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:檢查日誌檔案
存取日誌能告知您瀏覽網站的人數。這些日誌也包含重要的商務資料,您可以使用 Amazon EMR 等其他服務進行分析。
CloudFront 日誌會儲存在您建立 CloudFront 分發並啟用日誌時所選擇的儲存貯體和資料夾中。CloudFront 會在提出相應請求的 24 小時內,將日誌寫入您的日誌儲存貯體。
查看網站的日誌檔
-
開啟位於 https://console.aws.amazon.com/s3/
的 Amazon S3 主控台。 -
選擇適用於您網站的記錄儲存貯體。
-
選擇 CloudFront 資料夾。
-
在開啟之前,請先下載由 CloudFront 撰寫的
.gzip
檔案。若您建立的網站僅供學習練習,則可先刪除原先已配置的資源,如此即不會再增加費用。若要這麼做,請參閱清理範例資源。刪除 AWS 資源之後,您的網站即不再可供使用。