什麼是 CDN?

內容交付網路 (CDN) 是一種互連伺服器網路,可加快資料密集型應用程式的網頁載入速度。CDN 可代表內容交付網路或內容分發網路。當使用者造訪網站時,來自該網站伺服器的資料必須透過網際網路傳輸到使用者的電腦中。如果使用者距離該伺服器較遠,則載入大型檔案 (例如影片或網站影像) 會需要很長的時間。相反,存放在 CDN 伺服器上的網站內容在地理位置上靠近使用者,便能更快地到達他們的電腦。

為什麼 CDN 很重要?

內容交付網路 (CDN) 的主要目的是減少延遲,或減少由網路設計造成的通訊延遲。由於網際網路的全球性和複雜性,網站 (伺服器) 與其使用者 (用戶端) 之間的通訊流量必須要跨越長距離傳輸。通訊也是雙向的,即從用戶端到伺服器的請求和傳回的回應。

CDN 透過在用戶端和網站伺服器之間引入中介伺服器來提高效率。這些 CDN 伺服器要管理部分用戶端-伺服器通訊。它們可減少到 Web 伺服器的 Web 流量,減少頻寬耗用,並改善應用程式的使用者體驗。

CDN 具有哪些優勢?

內容交付網路 (CDN) 提供了許多優勢,可以提高網站效能並支援核心網路基礎設施。例如,CDN 可以執行下列任務:

縮短頁面載入時間

如果您的頁面載入時間太慢,網站流量可能會減少。CDN 可以降低退信率並增加使用者在您的網站上花費的時間。

降低頻寬成本

頻寬成本是一筆巨額的費用,因為每個傳入的網站請求都會消耗網路頻寬。透過快取和其他最佳化,CDN 可以減少原始伺服器必須提供的資料量,從而降低網站擁有者的託管成本。

提高內容可用性

一次太多訪客或網路硬體故障可能導致網站當機。CDN 服務可以處理更多的 Web 流量並減少 Web 伺服器的負載。此外,如果一台或多台 CDN 伺服器離線,其他營運伺服器可予以取代,以確保服務不中斷。

提高網站安全性

分散式拒絕服務 (DDoS) 攻擊試圖透過向網站傳送大量虛假流量來關閉應用程式。CDN 可以透過在多個中介伺服器之間分佈負載來處理此類流量高峰,從而減少對原始伺服器的影響。

CDN 技術的發展歷程?

內容交付網路 (CDN) 技術誕生於 20 世紀 90 年代末,主要專注於透過網際網路更快地交付內容:

第一代

第一代 CDN 服務專注於智慧網路流量管理和資料中心複寫的聯網原則。

第二代

第三代 CDN 仍在不斷發展。作為全球領先的 CDN 服務供應商之一,AWS 在不斷推動創新。由於大多數 Web 服務集中在雲端中,現在的重點是邊緣運算 – 使用可智慧通訊的智慧型裝置管理頻寬耗用。自治和自我管理的邊緣網路可能是 CDN 技術的下一步。

第三代

一次太多訪客或網路硬體故障可能導致網站當機。CDN 服務可以處理更多的 Web 流量並減少 Web 伺服器的負載。此外,如果一台或多台 CDN 伺服器離線,其他營運伺服器可予以取代,以確保服務不中斷。

CDN 可以提供哪些網際網路內容?

內容交付網路 (CDN) 可以交付兩種內容類型:靜態內容和動態內容。

靜態內容

靜態內容是不會因使用者而異的網站資料。網站標題影像、標誌和字型樣式在所有使用者中保持不變,並且企業不會頻繁對其進行變更。靜態資料無需進行修改、處理或產生,非常適合存放在 CDN 上。

動態內容

諸如社交媒體饋送、氣象報告、登入狀態和聊天訊息等動態內容因網站使用者而異。這些資料會根據使用者的位置、登入時間或使用者偏好而變化,並且網站必須為每個使用者和每次使用者互動產生資料。

CDN 如何運作?

內容交付網路 (CDN) 透過在多個地理位置建立一個連接點 (POP) 或一組 CDN 邊緣伺服器來進行運作。此分佈於各地的網路是以快取、動態加速和邊緣邏輯運算為依據運作的。

快取

快取是存放相同資料的多個複本以加快資料存取的程序。在運算中,快取的原則可套用於所有類型的記憶體和儲存管理。在 CDN 技術中,該術語是指將靜態網站內容存放在網路中的多個伺服器上的過程。 CDN 中的快取的運作方式如下:

  1. 地理位置偏遠的網站訪客從您的網站發出的首個靜態 Web 內容請求。
  2. 請求到達您的 Web 應用程式伺服器或原始伺服器。原始伺服器將回應傳送給遠端訪客。同時,它還將回應的複本傳送到在地理位置上距離該訪客最近的 CDN POP。
  3. CDN POP 伺服器將複本儲存為快取檔案。
  4. 下次該訪客或該位置的任何其他訪客發出相同的請求時,則快取伺服器 (而非原始伺服器) 會傳送回應。 

動態加速

動態加速是由於 Web 應用程式和用戶端之間的中介 CDN 伺服器而減少了對動態 Web 內容請求的伺服器回應時間。快取不適用於動態 Web 內容,因為內容會隨著每個使用者請求而變更。CDN 伺服器必須為每個動態請求重新連接原始伺服器,但它們會透過最佳化自己與原始伺服器之間的連線來加速該過程。

如果用戶端透過網際網路直接向 Web 伺服器傳送動態請求,則該請求可能會由於網路延遲而丟失或延遲。還可能要花費時間打開和關閉連線以進行安全驗證。另一方面,如果附近的 CDN 伺服器將請求轉送至原始伺服器,它們便已經建立了一個持續的、受信任的連線。例如,以下功能可以進一步最佳化它們之間的連線:

  •  智慧路由演算法
  • 接近原始伺服器的地理位置
  • 處理用戶端請求的能力,從而減小其大小

邊緣邏輯運算

您可以對 CDN 邊緣伺服器進行程式設計,以執行簡化用戶端和伺服器之間通訊的邏輯運算。例如,此伺服器可以執行下列任務:

  • 檢查使用者請求並修改快取行為。
  • 驗證和處理不正確的使用者請求。
  • 在回應之前修改或最佳化內容。
 
Web 伺服器和網路邊緣之間的應用程式邏輯分佈有助於開發人員卸載原始伺服器的運算需求並提高網站效能。

CDN 的用途是什麼?

內容交付網路 (CDN) 改善了正常的網站功能並提升了客戶滿意度。以下是一些範例使用案例。

高速內容交付

透過結合靜態和動態網際網路內容交付,您可以使用 CDN 為您的客戶提供全球、高效能、整體網站體驗。例如,Reuters 是 BBC、CNN、《紐約時報》和 Washington Post 等頂級頻道的全球最大新聞批發商。Reuters 面臨的新聞媒體挑戰是及時向全球客戶提供新聞內容。Reuters 使用 Amazon 的 CDN 服務 Amazon CloudFront 和 Amazon Simple Storage Service (Amazon S3) 來最大程度地減少對衛星連結通訊的依賴,並建立一個更便宜、高度可用且安全的全球分散式網路平台。

即時串流

CDN 有助於以可靠且經濟實惠的方式交付豐富且高品質的媒體檔案。串流影片和音訊的公司使用 CDN 來克服三個挑戰:降低頻寬成本、增加規模和減少交付時間。例如,Hulu 是 Walt Disney Company 旗下的線上影片串流平台。它使用 Amazon CloudFront 來向其不斷增長的客戶群持續傳輸超過 20 GBps 的資料。

多使用者擴展

CDN 有助於支援大量並行使用者。網站資源一次只能管理有限數量的用戶端連線。CDN 可以承擔應用程式伺服器的一些負載,進而快速增加數量。例如,King 是一家製作社交連線跨平台遊戲的遊戲公司,玩家可隨時隨地從任何裝置玩遊戲。King 在任何時段皆擁有超過 3.5 億玩家,他們每天在平台上玩的遊戲超過 106 億場。

King 的遊戲應用程式將使用者的遊戲資料記錄在中央資料中心,從而允許他們在不同的裝置上玩遊戲而不會丟失進度。資料中心旨在為使用者提供一致的體驗,即使使用者在頻寬有限的舊機器上加入遊戲也是如此。

King 使用 Amazon CloudFront 每天交付數百 TB 的內容,當它推出新遊戲或啟動大規模行銷計畫時,峰值會達到 0.5 PB 或以上。

什麼是 Amazon CloudFront?

Amazon CloudFront 是一項內容交付網路 (CDN) 服務,專為實現高效能、安全性和開發人員便利性而建置。您可以使用 Amazon CloudFront 執行以下任務:

  • 透過具有自動化網路映射和智慧路由的逾 275 多個全球分散的連接點 (POP) 提供資料。
  • 透過流量加密和存取控制來改善安全性,並使用 AWS Shield Standard 防禦分散式拒絕服務 (DDoS) 攻擊,無需額外費用。
  • 使用無伺服器運算功能,自訂您在 AWS 網路邊緣執行的程式碼,以平衡成本、效能和安全性。
  • 自動擴展,以高傳輸速率交付軟體、遊戲修補程式和 IoT 更新。
 
開始在 AWS CloudFront 上進行建置,並在 12 個月內免費傳輸 50 GB 資料。立即建立 免費 AWS 帳戶

使用 AWS 的 CDN 後續步驟

Standard Product Icons (Features) Squid Ink
查看額外的產品相關資源
進一步了解 AWS CloudFront 
Sign up for a free account
註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
Standard Product Icons (Start Building) Squid Ink
開始在主控台進行建置

開始在 AWS 管理主控台使用機器學習進行建置。

登入