Elastic Load Balancing (BP6) - AWS DDoS恢復能力的最佳做法

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Elastic Load Balancing (BP6)

大型DDoS攻擊可能會壓倒單一 Amazon EC2 執行個體的容量。使用 Elastic Load Balancing (ELB),您可以將流量分散到許多後端執行個體,以降低應用程式過載的風險。Elastic Load Balancing 可以自動擴展,允許您在出現意想不到的額外流量(例如由於人群或DDoS攻擊)時管理更大的磁碟區。對於在 Amazon 內建置的應用程式VPC,視您的應用程式類型而定,需ELBs要考慮三種類型:Application Load Balancer (ALB)、Network Load Balancer (NLB) 和 Classic Load Balancer (CLB)。

對於 Web 應用程式,您可以使用應用 Application Load Balancer 根據內容路由流量,並只接受格式良好的 Web 要求。Application Load Balancer 會封鎖許多常見的DDoS攻擊,例如SYN洪水或UDP反射攻擊,保護您的應用程式免受攻擊。當偵測到這些類型的攻擊時,Application Load Balancer 會自動擴展以吸收額外的流量。由於基礎架構層攻擊而導致的擴展活動對 AWS 客戶來說是透明的,不會影響您的帳單。

如需有關使用應用程式負載平衡器保護 Web 應用程式的詳細資訊,請參閱應用程式負載平衡器入門

對於非HTTP/HTTPS應用程式,您可以使用 Network Load Balancer 以超低延遲將流量路由到目標 (例如 Amazon EC2 執行個體)。Network Load Balancer 的一個主要考慮因素是,TCPSYN任何到達有效接TLS聽程式上負載平衡器的UDP流量都會路由到達您的目標,而不會被吸收,但這不適用於終止TCP連線的-listener。對於具有TCP接聽程式的網路負載平衡器,我們建議部署全域加速器以防止SYN洪水。

您可以使用防 Shield 進階來設定彈性 IP 位址的DDoS保護。將每個可用區域的彈性 IP 位址指派給 Network Load Balancer 時,「Shield 牌進階」會針對 Network Load Balancer 流量套用相關DDoS保護。

如需有關使用 Network Load Balancer 保護TCP和UDP應用程式的詳細資訊,請參閱開始使用網路負載平衡器。

注意

視安全性群組組態而定,它需要使用安全性的資源群組才能使用連線追蹤來追蹤流量的相關資訊,這可能會影響負載平衡器處理新連線的能力,因為追蹤的連線數目有限。 

安全群組組態包含接受來自任何 IP 位址 (例如0.0.0.0/0::/0) 之流量的輸入規則,但沒有允許回應流量的對應規則的輸入規則,會導致安全性群組使用連線追蹤資訊來允許傳送回應流量。發生DDoS攻擊時,可能會用盡最大追蹤連線數目。若要改善面向公開的 Application Load Balancer 或 Classic Load Balancer 的DDoS彈性,請確定與負載平衡器關聯的安全性群組設定為不使用連線追蹤 (未追蹤的連線),因此流量流程不受連線追蹤限制的限制。 

為此,請使用允許輸入規則接受來自任何 IP 位址 (0.0.0.0/0::/0) 的TCP流程,並在輸出方向新增對應規則,允許此資源傳送回應流量 (允許任何 IP 位址的輸出範圍0.0.0.0/0::/0) 所有連接埠 (0-65535),因此會根據安全性群組規則傳送回應流量,而非追蹤資訊允許回應流量。 使用此組態時,傳統和 Application Load Balancer 不會受到耗盡連線追蹤限制的限制,這些限制可能會影響到其負載平衡器節點的建立新連線,並允許其根據發生DDoS攻擊時的流量增加進行調整。 有關未追蹤連線的詳細資訊,請參閱:安全性群組連線追蹤:未追蹤的連線。

只有在DDoS流量源自安全性群組允許的來源時,避免安全性群組連線追蹤才有幫助 — 來自安全性群組中不允許的來源的DDoS流量不會影響連線追蹤。在這些情況下,不需要重新設定安全性群組以避免連線追蹤,例如,如果您的安全性群組允許清單包含您具有高度信任的 IP 範圍,例如公司企業防火牆或受信任的VPN輸出IPs或。CDNs