開始使用 AWS 邊緣服務

涵蓋基本概念的實作教程與內容。

AWS 邊緣服務

AWS 區域是 AWS 叢集資料中心以及營運 EC2 及 S3 等區域服務的實體位置。在線上應用程式的特定情況下,使用者流量可能會經過多個公共網路才達到區域基礎架構。如果您想在效能、可靠性及安全性方面解決穿越不受控制網路的缺點,您應考慮將 AWS 邊緣服務新增至您的架構。AWS 邊緣服務,例如 Amazon CloudFront 及 AWS Global Accelerator,可在 AWS 區域以外的數百個全球分散式連接點 (PoP) 運作。使用者平均可在 20 至 30 毫秒內從這些 PoP 提供服務,並在需要時,他們的流量會透過 AWS 全球網路傳回您的區域基礎架構,而不是透過公用網際網路來傳回。AWS 全球基礎架構是專門建置、具有高可用性且低延遲的私有基礎架構,以全球性、完全冗餘的地鐵光纖網路為基礎構建,該網路透過地面與跨海纜線連接到全球。

以低延遲和高傳輸速度安全地交付內容。

保護您的 Web 應用程式免受常見 Web 入侵程式的危害。

透過 DDoS 保護,盡可能提高應用程式可用性及回應能力。

集中設定和管理帳戶的防火牆規則。

使用 AWS 全球網路提高應用程式可用性、效能與安全性。

Amazon CloudFront,AWS 的 CDN

CloudFront 是 Amazon 的內容交付網路 (CDN)。CloudFront 用於加速以 HTTP(S) 為基礎的 Web 應用程式,並增強其可用性與安全性。CloudFront 可用於完整網站交付、API 保護及加速、自適應視訊串流以及軟體下載等使用案例。若要使用此服務,請建立 CloudFront 發布、設定您的來源 (具有公開存取網域名稱的任何來源)、使用 Amazon Certificate Manager 發出並附加有效的 TLS 憑證,然後設定您的授權 DNS 伺服器,以將 Web 應用程式的網域名稱指向發布的產生網域名稱 (xyz.cloudfront.net)。在 DNS 解析階段,當使用者瀏覽至您的 Web 應用程式時,HTTP(S) 請求會動態路由到延遲及可用性方面最佳的 CloudFront PoP。選取 PoP 之後,使用者會終止其中一部 PoP 伺服器上的 TCP 連線 (包括 TLS 握手),然後傳送 HTTP 請求。如果內容快取在 CloudFront 的快取層之一,則請求將由 CloudFront 在本機完成。否則,請求將轉送到來源。CloudFront 在其基礎架構有兩層。第一層基於邊緣節點,使用者的連線被終止,並緩解第 3/4 層 DDoS 攻擊。邊緣節點提供快取功能,如果已設定,則執行 CloudFront Functions,並套用 WAF 規則。第二層基於在 AWS 區域託管的區域邊緣快取。區域邊緣快取提供更長的快取保留時間,提高快取命中率,並在設定時執行 Lambda@Edge 函數。CloudFront 根據每個 HTTP 的性質動態最佳化這兩層的使用。例如,標記為動態的 HTTP 請求 (例如:停用快取、POST/PUT/DELETE 請求、使用 Cache-Control 回應標頭標記為不可快取的物件的請求等) 會跳過快取層,因此會從邊緣節點直接傳送到您的來源。
最後,CloudFront 會依特定順序執行邏輯。CloudFront 會先執行其原生安全控制 (例如 TLS 政策、HTTP 到 HTTPS 重新導向、地理鎖定、已簽署的 URL),然後執行 AWS WAF WebACL 的規則 (如果已配置),如果針對查看器請求事件進行設定,它會執行邊緣函數的程式碼,接著,它會檢查其快取請求是否可快取。然後,如果針對來源請求事件進行設定,它就會執行 Lambda@Edge 的程式碼。最後,將請求傳送到來源 (如果需要)。若要進一步了解 CloudFront 各層 HTTP 請求的生命週期,請觀看下列 re:Invent 演講。請注意,在錄製本演講時,CloudFront Functions 功能尚未啟動。

AWS WAF 保護第 7 層的 Web 應用程式

AWS WAF 是 Web 應用程式防火牆,可用來保護 Web 應用程式免受應用程式層級威脅的侵害。應用程式層級威脅包括:

  • DDoS 攻擊 (例如 HTTP 洪水攻擊),其目標是消耗應用程式資源,使其無法供合法使用者使用。 
  • 試圖利用應用程式層級漏洞進行惡意活動的攻擊,例如竊取資料或以未經授權的方式使用您的資源 (例如比特幣挖礦)。 
  • 由自動化機器人進行的攻擊可能會以不同方式損害您的業務,例如帳戶盜用及內容抓取。 

若要使用 AWS WAF,請在 WebACL 建立規則,然後將其附加到需要保護的資源。全域 WebACL 可以附加到 CloudFront 發布,而區域 WebACL 可以附加到相同區域的資源,例如 ALB 和 API 閘道。當 WAF WebACL 附加到資源時,資源的基礎服務 (例如 CloudFront 或 ALB) 會將 HTTP 請求的副本傳送給 AWS WAF 服務,以便在幾毫秒內評估設定的規則。根據規則評估結果,AWS WAF 服務會指示基礎服務如何處理請求 (例如封鎖、轉寄、挑戰等)。請注意,AWS WAF 邏輯僅基於 HTTP 請求屬性 (與回應屬性)。

新建的 WAF WebACL 僅包含一條允許所有請求的預設規則,您可以在該規則新增多個不同類型的規則。首先,您可以根據檢查的 HTTP 請求的屬性 (例如 IP、標頭、Cookie、URL 等) 建立自訂規則。規則也可以被分為多個規則群組,以便於管理。其次,您可以新增來自 AWS 或 AWS Marketplace 的供應商的受管規則,這些規則將作為可設定規則群組新增至您的 WebACL。例如,您可以新增 AWS 受管群組,例如核心規則集及匿名 IP 清單。更進階的受管規則,例如機器人控制功能及帳戶盜用預防,需要用戶端 SDK 整合。比對時,可以使用以下動作設定規則:允許及計數 (可以向上傳送標頭)、封鎖 (可以使用自訂回應進行回應)、速率限制,以及最後使用 CAPTCHA 或靜默挑戰進行挑戰。規則 (例如 AWS 受管規則) 會發出標籤,如果透過 WAF 評估達到,可以在後續規則的邏輯中使用這些標籤。您可以設定自己的規則以發出標籤,這些標籤將可用於 WAF 日誌記錄。

AWS Global Accelerator,加速網路層級

AWS Global Accelerator 是一項網路服務,可使用 AWS 全球基礎架構來提高線上應用程式的效能、可靠性與安全性。由於 AWS Global Accelerator 在 OSI 模型的第 4 層運作,因此可與任何 TCP/UDP 應用程式一起使用。 範例使用案例包括:基於 UDP/TCP 的多玩家遊戲、IP 語音與視訊、物聯網、視訊擷取及 FTP 上傳,以及其他使用案例,例如 VPN、Git 和 AdTech 出價。 

AWS Global Accelerator 可部署在您的 Network Load Balancer、Application Load Balancer、AWS EC2 執行個體及 Elastic IP 前面,任何一個都可作為應用程式的區域端點。若要使用此服務,請建立加速器,該加速器提供兩個全域靜態任播 IPv4 地址,這兩個地址可作為應用程式的固定入口點。使用 Global Accelerator 後,您就可以在單一或多個 AWS 區域存有多個應用程式端點,而它們都可以透過相同的任播 IP 地址進行存取。然後,您可以將授權 DNS 伺服器設定為將 Web 應用程式的網域名稱指向加速器的專用靜態 IP。這些任播 IP 在所有 Global Accelerator PoP 公佈,以將使用者流量路由到最近的 PoP,然後透過 AWS 全球網路將其轉送到區域端點。

開發人員學習資源

  • 優先順序
1

本頁對您是否有幫助?