为什么EC2 Autoscaling仅支持经典负载均衡器?

时间:2018-02-15 15:39:22

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

here我得到了这样的声明: 要在Auto Scaling组中的实例之间分配流量,您可以在架构中引入负载均衡器

所以我创建了ALB(应用程序负载均衡器)。 令我惊讶的是,在创建Auto Scaling组的过程中,它特别要求“经典负载均衡器”。真的好奇为什么aws文档提到了this Elastic Load Balancing支持三种类型的负载均衡器:应用程序负载均衡器,网络负载均衡器和经典负载均衡器。您可以将任何类型的负载均衡器附加到Auto Scaling组。

我错过了什么吗?请更正。

问题:为什么只有CLB才能创建Auto Scaling,为什么不是ALB或NLB?为什么亚马逊坚持要CLB?

3 个答案:

答案 0 :(得分:0)

ALB以不同的方式工作,您需要创建目标组,然后在Autoscaling设置中选择目标组。

以下是attach an ALB to Autoscaling group.的确切步骤。

  
      
  1. 执行以下操作之一:

         

    一个。 [经典负载均衡器]对于负载均衡器,请选择负载   平衡器。

         

    湾[目标群组]对于目标群组,请选择目标群组。

  2.   

您可以在此处详细了解how ALB works

答案 1 :(得分:0)

这让我非常困惑,但后来我找到了相关的文档(最终):

  

如果要通过实例ID注册目标,则可以将负载均衡器与Auto Scaling组一起使用。将目标组附加到Auto Scaling组后,Auto Scaling在启动目标时会向目标组注册目标。有关更多信息,请参阅Amazon EC2 Auto Scaling用户指南中的将负载均衡器附加到您的Auto Scaling组。

来自这里:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html

因此,基本上,自动缩放组管理目标组的成员。然后,负载均衡器目标组进行均衡。因此,当自动伸缩组进行放大或缩小时,会在目标组中添加成员或从中删除成员,该目标组是负载均衡器< / strong>正在使用。

我尝试了一下,它按预期工作。因此:

  1. 创建目标组。
  2. 创建您的自动缩放组并将其指向目标组。
  3. 创建您的应用程序负载均衡器,并将其指向目标组。
  4. 在步骤3的“注册目标”页面上,您将看到您的自动伸缩组节点,并放心:)。

答案 2 :(得分:0)

AWS中的经典负载均衡器和应用程序负载均衡器的工作原理不同。

经典负载均衡器不了解更改基于URL路径或基于域的路由的条件。因此,您可以将实例直接附加在Classic Load Balancer下。由于在经典负载均衡器下所有请求都被视为相同,因此在EC2 Auto-Scaling组下确实显示为一个实体。

应用程序负载平衡器旨在了解路由流量的各种条件。这些条件是基于路径的路由和基于域的路由。因此,您不能直接在应用程序负载平衡器下附加EC2实例,为此,您需要创建目标组并在目标组下附加EC2实例。

由于这一点,我可以说,您可以在Auto-Scaling组下看到Classic Load Balancer选项,但不能直接看到Application Load Balancer。要在Application Load Balancer上使用Autoscaling组,您需要更改实现方案的方法。

将AutoScaling组与Application Load Balancer一起使用
1.创建目标组。请参阅AWS提供的Creating Target Group
2.创建应用程序负载平衡器,并在其下引用上面创建的目标组。您可以参考AWS提供的Create application Load balancer页面
3.创建自动缩放组。请参阅Create autoscaling group using launch templateCreate autoscaling group using launch configurationCreate launch configuration using EC2 Instancecreate autoscaling group using launch wizard
4.将负载均衡器连接到自动伸缩组。请按照this链接

的第4和5a步进行操作

通过上述操作,您将可以将自动扩展组与应用程序负载平衡器一起使用。 谢谢