为什么要在AWS中通过网络负载均衡器使用applicationi负载均衡器?

时间:2020-08-26 01:26:08

标签: amazon-web-services amazon-ec2 amazon-elb

我正在设置一个AWS负载均衡器,并查看两个选项。看起来,网络负载平衡器能够执行应用程序负载平衡器能够执行的所有操作,同时具有更全面的功能 和每个LCU更低的定价成本,这让我想知道为什么应用程序负载平衡器甚至可以提供。我可以看到的唯一可能的优势是稍微简化了配置,但是对于我来说,我已经拥有功能更强大的负载平衡器,以防万一需要进行更复杂的平衡,我认为应用负载平衡器无法做到这一点实施成本略有增加。

我缺少的Application Load Balancer优势吗?

1 个答案:

答案 0 :(得分:0)

ALB和NLB具有不同的目的。在下面,我将列出一些关键选项。

ALB用于HTTP / HTTPS通信(第7层),因此它可以检查HTTP标头,基于路径,查询字符串和其他HTTP特定功能进行重定向。在用于TCP / UDP / TLS通信(第4层)的NLB中,以上所有内容均不可行。因此,ALB为网站或任何其他HTTP / HTTPS应用程序提供服务,提供了更多功能,并针对这些用例进行了专门设计。

ALB的另一个重要优点是它支持安全组(SG)。 NLB不支持它们,因此您必须基本上完全将其开放给互联网。使用SG,您可以将ALB访问限制为仅特定IP范围或单个端口(例如80或443)。在NACL中执行相同操作会影响子网中的所有其他内容,不仅会影响NLB。控制访问NLB的唯一方法是通过NACL,其功能要比SG少得多,例如,您不能在另一个中引用一个NACL,并且它们是无状态的。

说到安全性,ALB支持WAF,而NLB不支持。这样可以保护您的网站免受多种攻击,例如跨站点脚本或SQL注入。

与NLB不同,

ALB还支持 lambda目标。因此,您也可以基于lambda函数构造您的负载平衡应用程序。这通常非常有用。

基于cookie的

粘性会话是ALB的另一个功能,NLB中不存在。如果您有需要保持用户会话处于活动状态的应用程序,这将非常有用。

还有更多区别,它们的NLB和ALB比较表为here