CloudFront 與全球加速器

在現代網路應用程式中,如何提升內容分發效能、優化全球使用者體驗,同時確保高可靠性和安全性,是開發者和架構師必須關注的核心問題。 AWS 提供了兩項強大的全球服務—CloudFrontGlobal Accelerator,它們透過不同的工作機制滿足了多樣化的需求。從內容傳遞網路(CDN)到跨區域的快速流量路由,這兩項服務在優化效能和應對災難復原方面展現出獨特的優勢。

  • 全球服務。
  • AWS CloudFront 是一個CDN(內容傳遞網路)
  • 提高讀取效能,內容緩存在邊緣,減少原點的負載。
  • 全球216 個接入點(邊緣位置)。
  • DDoS 保護(因為是全球性的)、與Shield、AWS Web 應用程式防火牆整合。
  • 邊緣位置位於VPC 之外,因此必須設定原點的SG 以允許來自所有邊緣位置的公共IP 清單的入站請求。
  • 支援HTTP/RTMP協定(不支援UDP協議)。
  • 地理限制功能。
  • 提高可快取內容(如映像和影片)和動態內容(如API 加速和動態網站交付)的效能。
  • 若要在CloudFront 層級封鎖特定IP,請在CloudFront 上部署WAF。
  • 支援伺服器名稱指示(SNI)以允許SSL 流量到多個域。

CloudFront – 起源

  • 用於分發文件並將其緩存在邊緣位置。
  • 來源存取身分(OAl) 或來源存取控制(OAC)允許S3 儲存桶僅由CloudFront 存取
  • OAC 正在取代OIA(原始存取標識)。
  • CloudFront 可作為入口(將檔案上傳至S3)。
  • 需要透過邊緣位置的公共IP 在HTTP 上公開訪問
    • EC2 執行個體
    • 緊急負載平衡
    • S3 網站(可能包含客戶端腳本)
    • 本地後端

CloudFront – 地理限制

  • 您可以限制誰可以存取您的分發。
    • 允許列表:僅當您的使用者位於批准國家/地區清單中的國家/地區之一時才允許您的使用者存取您的內容。
    • 封鎖清單:如果您的使用者位於被禁國家/地區清單中的國家/地區,則阻止他們存取您的內容。
  • 「國家」是使用第三方Geo-IP 資料庫確定的。
  • 用例:版權法控制內容存取。

CloudFront 與S3 跨區域複製

  • 全球邊緣網絡
      • 文件緩存的TTL(可能是一天)
      • 非常適合必須在任何地方都可用的靜態內容)
  • 必須為要進行複製的每個區域進行設置
      • 檔案幾乎是即時更新
      • 只讀
      • 非常適合需要在少數地區以低延遲提供的動態內容
  • CloudFront 是一個CDN,用於快取世界各地的內容。而S3 跨區域複製實際上是將整個儲存桶複製到另一個區域。

CloudFront – 定價

  • CloudFront 邊緣站點遍佈世界各地。
  • 每個邊緣位置的資料輸出成本各不相同。

CloudFront – 價格類別

  • 您可以減少邊緣位置的數量以降低成本。
  • 三種價格等級:
    • 價格等級全部:所有地區– 最佳表現
    • 價格等級200:大多數地區,但不包括最昂貴的地區。
    • 價格等級100:僅最便宜的地區。
  • 如果您更新後端原點,CloudFront 不知道這一點,並且僅在TTL 過期後才會取得刷新的內容。
  • 但是,您可以透過執行CloudFront 失效來強制整個或部分快取刷新(從而繞過TTL)
  • 您可以使所有檔案(*) 或特殊路徑(/images/*) 無效。

  • 單播IP:一台伺服器擁有一個IP位址。
  • 任播IP:所有伺服器都擁有相同的IP 位址,客戶端被路由到最近的伺服器。
  • 全球服務。
  • 提高應用程式對全球用戶的可用性
  • 利用私有AWS 網路將請求路由到應用程式(更快)
    • 支援全球分佈的應用程式端點
    • 不在邊緣位置快取任何內容
    • 端點可以是公共的也可以是私有的(可以跨越多個區域)
      • 彈性IP
      • EC2 執行個體
      • 白蛋白
      • 國家法律顧問委員會
    • 藍綠部署使用端點權重流量撥號
    • 不受客戶端DNS 快取的影響,因為2 個任播IP 是靜態的(流量撥號和端點權重變更在幾秒鐘內生效
    • 適合
      • 非HTTP 用例:
        • 遊戲(UDP)
        • 物聯網(MQTT)
        • IP 語音(VoIP)
      • 需要靜態IP 位址或快速區域故障轉移的HTTP 用例
  • 為您的應用程式在全球範圍內創建2 個任播公用IP(靜態) 。來自這些IP 的客戶端的請求將自動路由到最近的邊緣站點。邊緣站點透過私有AWS 網路將流量傳送到您的應用程式。
  • 流量撥號用於控制定向到端點群組(部署應用程式的AWS 區域)的流量百分比
  • 端點權重用於確定定向到端點組中端點的流量比例
  • Global Accelerator為應用程式執行健康檢查
  • 不到1 分鐘即可對不健康端點進行故障轉移
  • 客戶端只需將2 個靜態IP 列入白名單
  • 可以與AWS Shield 整合以實現DDoS保護

  • 它們都使用AWS 全球網路及其遍布全球的邊緣站點。
  • 這兩種服務都與AWS Shield 整合以提供DDoS 防護。
  • CloudFront

    • 提高可快取內容(如圖像和影片)的效能。
    • 動態內容(例如API 加速和動態網站交付)。
    • 內容在邊緣提供。
  • AWS 全球加速器

    • 提高TCP 或UDP 上各種應用程式的效能。
    • 將邊緣資料包代理到在一個或多個AWS 區域中運行的應用程式。
    • 非常適合非HTTP 用例,例如遊戲(UDP)、物聯網(MQTT)或IP 語音。
    • 適用於需要靜態IP 位址的HTTP 用例。
    • 適用於需要確定性、快速區域故障轉移的HTTP 用例。

無論是需要高效快取靜態內容的CloudFront,或是需要快速區域故障轉移和靜態IP 位址支援的Global Accelerator,AWS 的全球基礎設施為各種場景提供了靈活、可靠的解決方案。結合這些服務,可以顯著提高應用程式的效能、擴展能力和全球可用性,從而滿足現代業務對低延遲、高可用的嚴格要求。

更多探索

Tell me what you need