Elastic Load Balancin BP6 g ( - AWS DDoS弹性最佳实践

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Elastic Load Balancin BP6 g (

大型DDoS攻击可能会使单个 Amazon EC2 实例的容量不堪重负。借助 Elastic Load Balancing (ELB),您可以通过在多个后端实例之间分配流量来降低应用程序过载的风险。Elastic Load Balancing 可以自动扩展,允许您在出现意想不到的额外流量(例如由于闪电人群或DDoS攻击而导致的额外流量)时管理更大的容量。对于在 Amazon 内部构建的应用程序VPC,根据您的应用程序类型,ELBs需要考虑三种类型:应用程序负载均衡器 (ALB)、网络负载均衡器 (NLB) 和 Classic Load Balancer (CLB)。

对于 Web 应用程序,您可以使用 Application Load Balancer 根据内容路由流量,并且仅接受格式正确的 Web 请求。Application Load Balancer 可以阻止许多常见DDoS攻击,例如SYN洪水攻击或UDP反射攻击,从而保护您的应用程序免受攻击。当检测到这些类型的攻击时,Application Load Balancer 会自动扩展以吸收额外的流量。由于基础设施层攻击而导致的扩展活动对 AWS 客户来说是透明的,不会影响您的账单。

有关使用 Application Load B alancer 保护 Web 应用程序的更多信息,请参阅应用程序负载均衡器入门

对于非HTTP/HTTPS应用程序,您可以使用 Network Load Balancer 以超低的延迟将流量路由到目标(例如 Amazon EC2 实例)。Network Load Balancer 的一个关键考虑因素是,通过有效侦听器到达负载均衡器的任何TCPSYN或UDP流量都将路由到您的目标,而不是被吸收,但这不适用于终止连接的 TLS-listeners。TCP对于带有TCP侦听器的网络负载均衡器,我们建议部署全球加速器来防范SYN洪水。

您可以使用 Shield Advanced 为弹性 IP 地址配置DDoS保护。将每个可用区的弹性 IP 地址分配给网络负载均衡器时,Shield Advanced 将对网络负载均衡器流量应用相关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),这样就可以根据安全组规则而不是跟踪信息来允许响应流量。 使用此配置,Classic 和 Application Load Balancer 不受可能影响与其负载均衡器节点建立新连接的耗尽连接跟踪限制,并且允许其在DDoS发生攻击时根据流量的增加进行扩展。 有关未跟踪连接的更多信息,请访问:安全组连接跟踪:未跟踪的连接

只有当DDoS流量来自安全组允许的来源时,避免安全组连接跟踪才会有所帮助——来自安全组中不允许的来源的DDoS流量不会影响连接跟踪。在这种情况下,无需重新配置安全组以避免连接跟踪,例如,如果您的安全组允许列表由您高度信任的 IP 范围组成,例如公司公司防火墙或可信VPN出口IPs或。CDNs