交付個人化動態 Web 內容,無需額外的費用,也無需撰寫新程式碼

典型的網站通常由靜態和動態內容組合而成。靜態內容包含圖片或樣式表;動態內容或應用程式產生的內容則包含您的網站為不同瀏覽者設計的個人化元素。在過去,想要提升動態內容效能和可靠性的開發人員選擇有限,因為傳統 CDN 提供的解決方案費用昂貴、難以設定且管理困難。


earth-networks-thumbnail
video-thumb-dynamic-content-02

使用 Amazon CloudFront 時,除了 Amazon CloudFront 的現有低價資料傳輸和請求費用外,為動態內容提供服務無需額外的費用,也無需簽訂長期使用合約。既不必預先支付費用與每月平台使用費,也無需高薪聘請顧問協助設定。

開始免費使用 AWS

建立免費帳戶

AWS 免費方案包括 50 GB 的資料傳出以及 2,000,000 個針對 Amazon CloudFront 的 HTTP 和 HTTPS 請求。

查看 AWS 免費方案詳細資訊 »

下載 AWS 贊助發佈的 Frost & Sullivan 白皮書,了解 amazon.com 選擇 Amazon CloudFront 傳遞絕大部分全球 CDN 流量的原因。下載 Amazon CloudFront CDN 白皮書

Amazon CloudFront 提供簡單且經濟實惠的方法,同時針對靜態內容和依每位最終使用者而變更的網站動態部分,提升整個網站的效能、可靠性並將觸角延伸到全球。

Amazon CloudFront 可與 Amazon EC2 中執行的動態 Web 應用程式或 AWS 外執行的原始伺服器無縫配合,無需任何自訂編碼或專屬組態,因此您可以輕鬆的部署和管理此服務。您可以使用單一 Amazon CloudFront 分發交付整個網站,同時包含靜態和動態 (或互動) 內容。這表示您可以繼續在整個網站使用單一網域名稱 (如,www.example),而無須區分靜態和動態內容,或在網站管理多個網域名稱。

Amazon CloudFront 還可讓您加入查詢字串參數或 Cookie,協助每個瀏覽者自訂網頁。您也可以根據網站上的 URL 模式,針對 Web 分發設定多種快取行為。這些快取行為讓您能夠精細控制 Amazon CloudFront 快取網站不同部分的方式。

以下是這些功能的詳細描述:

快取行為是您根據副檔名、檔案名稱或網站上 URL 路徑的任意部分 (例如 *.jpg) 為指定 URL 模式設定的規則集。您可以為 Web 分發設定多種快取行為。Amazon CloudFront 會將傳入的檢視器請求與您的 URL 模式清單比對;如果相符,服務將遵守您為該 URL 模式設定的快取行為。每一個快取行為可以包含下列 Amazon CloudFront 組態值:原始伺服器名稱、檢視器連線協定、最短過期時段、查詢字串參數、Cookie 以及私有內容的可信任簽署者。

Amazon CloudFront 節點可以查看使用者代理器標頭的數值,以偵測所有內送要求的裝置類型。Amazon CloudFront 可判斷最終使用者要求來自桌上型電腦、平板電腦、智慧型電視或行動裝置,並將該資訊以新的 HTTP 標頭形式傳遞到您的原始伺服器 – Amazon EC2、Elastic Load Balancing 或您的自訂原始伺服器。原始伺服器可以使用裝置類型資訊,根據新標頭產生不同的內容版本。Amazon CloudFront 也會在該節點快取不同的內容版本。

Amazon CloudFront 也可以偵測存取您內容的最終使用者所在國家。然後,Amazon CloudFront 可以將國家的相關資訊以新 HTTP 標頭傳遞給您的自訂原始伺服器。原始伺服器可以為不同國家的使用者產生不同的內容版本,並在節點快取這些不同版本,為來自相同國家瀏覽網站的後續使用者提供服務。

Amazon CloudFront 可配置為轉發原始標頭值,讓原始伺服器 (Amazon S3 或自訂原始伺服器) 可透過 CORS (跨來源資源共享) 支援跨來源存取。CORS 定義了一個方式,在一個網域載入的用戶端 Web 應用程式可以與不同網域中的資源互動。

您可以為 Amazon CloudFront 下載分發設定一或多個原始伺服器。原始伺服器可以是 AWS 資源,如 Amazon S3、Amazon EC2、Elastic Load Balancing,或者是 AWS 外的自訂原始伺服器。Amazon CloudFront 會比對瀏覽者請求的 URL 與您為分發設定的規則,從每個原始伺服器請求內容。此功能讓您能夠依照每個 AWS 資源的設計目的靈活地使用資源,例如 Amazon S3 用於儲存、Amazon EC2 用於運算等等。無需建立多個分發,也無需在網站管理多個網域名稱。您還可以繼續使用已經設定的原始伺服器,不需要移動資料或重新部署應用程式碼。

Amazon CloudFront 使用您在檔案設定的過期時段 (透過快取控制標頭),判斷是否需要檢查原始伺服器上有無檔案的更新版本。如果您預期檔案會頻繁更新,可以在檔案設定較短的過期時段。Amazon CloudFront 接受最短為 0 秒的過期時段 (設為此值時,Amazon CloudFront 會向原始伺服器重新驗證每一個檢視器請求)。Amazon CloudFront 也遵守特殊的快取控制指示詞,如 private、no-store 等。當交付無法在節點快取的動態內容時,使用這些指示詞通常很有用。

查詢字串參數通常用於傳回原始伺服器上執行的指令碼產生的自訂內容。您可以選擇將查詢字串設定為轉發到原始伺服器,並包含在快取物件的唯一身分中。您可以針對所設定的每個唯一快取行為分別啟用此功能。查詢字串參數以此協助您為各個瀏覽者自訂網頁,同時仍能充分利用在 Amazon CloudFront 節點快取內容提供的效能和擴展優勢。

Amazon CloudFront 支援使用 HTTP Cookie 自訂或個人化的動態內容交付。要使用此功能,您需要指定是否希望 Amazon CloudFront 將部分或全部 Cookie 轉發到自訂原始伺服器。您也可以在 Cookie 名稱中指定萬用字元,以轉發符合某個字串格式的多個 Cookie。Amazon CloudFront 就會在識別其快取中的唯一物件時考慮轉發 Cookie 的值。利用這種方式,最終使用者不但可以透過 Cookie 取得個人化的內容,還能獲得 Amazon CloudFront 的效能優勢。

您可以使用 Amazon CloudFront 轉發所有 (或屬於白名單) 的請求標頭至您原始伺服器。這些標頭包含訪客所使用的裝置或存取內容的訪客所在國家等資訊。您可以將 CloudFront 設定為根據標頭中的值快取內容,這樣就可以將自訂內容交付給您的瀏覽者。例如,如果在相同的 Web 伺服器託管多個網站,您可以將 Amazon CloudFront 設定為轉發託管標頭至您的原始伺服器。當原始伺服器根據託管標頭中的值傳回相同物件的不同版本時,Amazon CloudFront 將根據這些值分別快取物件。

自訂 SSL 憑證支援可讓您使用自己的網域名稱和 SSL 憑證透過 HTTPS 交付內容。除了更低的延遲和更高的可靠性之外,透過使用自己網域名稱的 SSL 連線,可為您的網站訪客提供 CloudFront 的安全優勢。您還可以將 CloudFront 設定為使用來源擷取的 HTTPS 連線,這樣您的資料就會從原始檔到最終使用者都經過端對端加密。設定自訂 SSL 憑證支援很簡單,您無需學習任何專屬程式碼或聘請顧問為您設定。開始使用前請先參閱 CloudFront 自訂 SSL 詳細資訊頁面,並選擇最符合需求的自訂 SSL 功能。

您可以在幾分鐘內佈建 SSL/TLS 憑證並將它們與 CloudFront 分發關聯。只需使用新的 AWS Certificate Manager (ACM) 佈建憑證,再按幾下滑鼠部署到 CloudFront 分發,然後讓 ACM 為您管理憑證更新。ACM 可讓您佈建、部署和管理憑證,不需另外付費。

您可以使用 CloudFront 從根網域或網站的 "Zone Apex" 交付內容。例如,您可將 http://www.example.com 和 http://example.com 設定為指向相同的 CloudFront 分發,並不會有管理重新導向服務的效能影響或可用性風險。若要使用此功能,您需要建立 Amazon Route 53 別名記錄,將您的網域根目錄映射到 CloudFront 分發。

您可以設定 Amazon CloudFront 包含最終使用者請求的協定 (HTTP 與 HTTPS) 做為快取金鑰的一部分,以唯一識別快取中的物件。這讓您能根據最終使用者用於存取內容的協定來自訂內容。

Amazon CloudFront 支援以下 HTTP 方法:GET、HEAD、POST、PUT、DELETE、OPTIONS 和 PATCH。這表示您可以提升具備 Web 表單、評論和登入方塊、「新增至購物車」按鈕或從最終使用者上傳資料等其他功能的動態網站效能。也表示您現在可以使用單一網域名稱透過 CloudFront 傳遞整個網站,藉此加快網站的下載和上傳速度。在預設的情況下,對 GET 和 HEAD 方法的回應將在 CloudFront 節點快取。您可以選擇設定 Amazon CloudFront 分發快取 OPTIONS 請求的回應。其他 HTTP 方法 (POST、PUT、DELETE、OPTIONS 和 PATCH) 不會快取,只會由 Amazon CloudFront 節點代理傳回原始伺服器。您可能需要使用 AWS 管理主控台或 CloudFront API,針對現有的 CloudFront 分發啟用這些額外 HTTP 方法的支援。

此外,當您設定 Amazon CloudFront 傳遞動態網站時,可使用完整的 Amazon CloudFront 功能。這些功能包括服務私有內容、確保內容的安全交付、物件版本控制和快取失效、使用報告和監控的存取日誌等。要進一步了解所有 Amazon CloudFront 的功能,請參閱 Amazon CloudFront Developer Guide

如果客戶的每月正常執行時間百分比在任何帳單週期內低於我們的服務承諾,Amazon CloudFront 服務水準協議 (SLA) 將提供服務補償。如需更多資訊,請參閱 Amazon CloudFront SLA 頁面。

除了此頁面,您可能有興趣的頁面包括 Amazon CloudFront 產品頁面和 Amazon CloudFront Developer Guide

Amazon CloudFront 已實作許多效能優化,加快從原始伺服器到最終使用者的整個網站交付 (包括動態和靜態內容)。這些效能提升包括維持與原始伺服器的一致性連線,以及其他加速動態內容交付的網路路徑優化。尤其是以降低網際網路延遲而言,每個最終使用者都會被路由到離他們最近的 Amazon CloudFront 節點。然後,他們的請求會轉回在 AWS 中執行的原始伺服器,並且 Amazon 會監控此連線並優化其效能。

Amazon CloudFront 也會重複使用 Amazon CloudFront 節點和原始伺服器之間的現有連線,以降低每個原始請求的連線設定延遲。另外也會套用其他連線優化,以避免網際網路瓶頸,並充分利用節點和檢視器之間的可用頻寬。這表示 Amazon CloudFront 可加快動態內容交付,並能在您的瀏覽者瀏覽 Web 應用程式時提供一致、可靠且個人化的體驗。Amazon CloudFront 還會將應用到下載動態內容請求的相同效能優勢,也應用到上傳請求。

關於 Amazon CloudFront 效能的 Frost & Sullivan 白皮書,AWS 最近委託 Frost & Sullivan 針對 Amazon CloudFront 效能與其他最高層級 CDN 的比較撰寫白皮書。此白皮書由 CDN 專家 Dan Rayburn 編寫,其中提供效能比較的資料,獲得的結論是 Amazon CloudFront 在多個延遲測試中是最佳 CDN 中速度最快的,而且在所有測試中其平均延遲都優於其他最佳 CDN。此白皮書也提供在 Amazon.com 網站上執行的測試結果 (在許多最佳 CDN 上執行效能測試),並解釋 Amazon.com 網站上的大部分 CDN 流量目前都由 Amazon CloudFront 處理的原因,下載白皮書

Amazon CloudFront 可與 Amazon EC2 中執行的動態 Web 應用程式或 AWS 外執行的原始伺服器無縫配合,無需任何自訂編碼或專屬組態,因此您可以輕鬆的部署和管理此服務。您可以使用單一 Amazon CloudFront 分發交付整個網站,同時包含靜態和動態或互動內容。這表示您可以繼續在整個網站使用單一網域名稱 (如,www.example),而無須區分靜態和動態內容,或在網站管理多個網域名稱。

您可以透過 AWS 管理主控台簡單明瞭的圖形使用者界面與 Amazon CloudFront 互動。或者,您只需要單一 API 呼叫,就能透過 Amazon CloudFront 網路從 Amazon S3 儲存貯體或 Amazon EC2 執行個體或者其他原始伺服器開始分配內容。您所做的任何現有配置變更,幾分鐘內就能傳遍整個全球網路,並立即生效。此外,由於您並不需要與銷售人員協調,因此 Amazon CloudFront 能讓您快速地傳遞整個網站內容。

在 AWS 管理主控台設定 Amazon CloudFront

console

Amazon CloudFront 也是專為與其他 Amazon Web Services 配合使用所設計。將 Amazon EC2 作為 Amazon CloudFront 原始伺服器時,您可以在設定和管理整個 Web 應用程式交付時使用相同的工具集。此外,與 Amazon CloudFront 相同,Amazon EC2 也是隨需求付費和按用量付費的定價模式。還會持續監控 Amazon CloudFront 節點和 Amazon EC2 資料中心之間的路由,並針對效能和可用性進行優化。這些網路路由的任何問題都會快速偵測和修復,或將瀏覽者自動路由到其他 Amazon 監控的網路路由,將對應用程式瀏覽者的影響減至最低。

這些 Web 應用程式都經過高度個人化 (例如,推薦),而且能快速找到產品 (透過搜尋和瀏覽) 非常重要。這些應用程式的效能提升會直接轉換為收益和最終使用者的忠誠度。

因為新聞和運動應用程式對於最終使用者來說注意廣度較短,所以必須為每一個最終使用者自訂。然而,此內容可以在短時間內快取 (例如,幾秒鐘),有助於最終使用者提升可擴展性和效能。

這些 Web 應用程式有地理焦點,針對最終使用者自訂內容。可以根據內容類型,在節點快取不同時間長度的內容。例如,每小時天氣更新最長可快取一小時,而緊急天氣提醒可能只快取幾秒鐘,確保最終使用者始終掌握最新資訊。

針對性廣告是根據 Cookie 或查詢字串資料即時計算,而廣告商一般需要以低延遲播放廣告。Amazon CloudFront 可協助達到此類應用程式所需的效能和個人化需要。

這些應用程式也有整合使用者設定檔、偏好、好友和活動的個人化和互動式內容。這些功能的結果就是需要經常存取原始伺服器的長尾內容。CloudFront 的網路和路徑優化可加快這類內容的交付速度,有助於讓社交媒體應用程式的執行更加流暢。

Earth Networks 為消費者和企業提供氣象和大氣資料。數百萬使用者使用該公司的 WeatherBug 產品,其中包含行動與桌面應用程式以及 www.weatherbug.com 網站。

Earth Networks 使用 CDN,所以他們能夠以非常低延遲且高效能回應時間,將動態的個人化 Web 內容快速提供給使用者。特別是,他們需要能夠即時將當地資訊提供給最終使用者,且需要可讓他們調整存留時間、查詢字串及 Cookie 資訊的 CDN,才能將所有資訊傳回原始伺服器並只提取使用者所需的資訊。

「作為鄰里層級的氣象資訊供應商,我們絕不會使用無法提供動態內容和優化查詢字串、Cookie 和低 TTL 的 CDN。我們的使用案例包含 CloudFront 所提供的全部功能。」Earth Networks – WeatherBug 的 Web 和桌面開發主管 Andy Rosenbaum 說。「我們之前使用 CDN 時遇到的其中一個難題是,需要特別針對 CDN 撰寫程式碼,這會提高開發成本。我們能夠達到相同水準的效能,且無需撰寫自訂程式碼。以同等基準效能與之前的 CDN 相較之下,我們看到減少了約 50% 的成本,我們預期使用 CloudFront 支援的 Amazon EC2 原始執行個體時,成本還會下降 20%。

您可以瀏覽 Earth Networks 的網站:www.earthnetworks.com,或查看公司的 WeatherBug 產品:www.weatherbug.com

2012 年 8 月 5 日,NASA 的好奇號火星探測器降落在這個紅色星球,整個登陸過程透過 mars.jpl.nasa.gov 網站呈現在全世界的觀眾眼前。NASA JPL (噴射推進實驗室) 使用 Amazon CloudFront 提供整個登陸網站體驗。這包含部落格和狀態更新的一般 HTTP 網站內容、來自火星的靜態影像和圖片以及互動式單一遊戲引擎下載內容,訪客可以在家中駕駛火星探測器與來自火星的即時資料互動。

效能和可擴展性對於 JPL 非常重要,他們使用多個 Amazon CloudFront 功能,如查詢字串、低 TTL、多個原始伺服器和多種快取行為,協助傳送整個 http://mars.jpl.nasa.gov/ 網站,同時也繼續使用其他的 AWS 服務作為網站上其他類型內容的原始伺服器。

NASA/JPL 的技術長 Tom Soderstrom 表示,因為有太多的未知性,所以他們最終使用許多 CloudFront 可擴展性和即時調校的功能。他進一步說明,在登陸期間,好奇號登陸比奧運更受關注,服務的使用流量也更大,因此調校功能確實非常重要,而且效果非常好。

您可以瀏覽此網站:http://mars.jpl.nasa.gov/

Amazon CloudFront 有助於讓高價出售和優質且創新的其他 CDN 內容交付功能變得更便宜、更容易使用。除了 Amazon CloudFront 的現有低價資料傳輸和請求費用外,為動態內容提供服務無需額外的費用,也無需簽訂長期使用合約。既不必預先支付費用與每月平台使用費,也無需高薪聘請顧問協助設定。

您只需在此網站註冊,並建立一個為靜態和動態內容提供服務的 Amazon CloudFront 分發,就可以在短時間內立即開始使用。您也可以與 Amazon CloudFront 銷售團隊的成員討論您的使用量及進一步節省資金的方法,採用承諾 12 個月或更長時間每月用量級別的選項。您可以在以下網站提交此表單與 Amazon CloudFront 銷售團隊聯絡:http://aws.amazon.com/contact-us/aws-sales/。

如果客戶的每月正常執行時間百分比在任何帳單週期內低於我們的服務承諾,Amazon CloudFront 服務水準協議 (SLA) 將提供服務補償。如需更多資訊,請參閱 Amazon CloudFront SLA 頁面。

按使用量付費。沒有最低費用。使用 AWS 每月成本簡易計算器估算每月的帳單。

您可以在我們的定價頁面查看 Amazon CloudFront 定價:http://aws.amazon.com/cloudfront/pricing/。