将LB添加到AWS Autoscaling组

时间:2017-04-24 14:33:58

标签: amazon-web-services load-balancing autoscaling

我以前使用单个实例设置 AWS Classic Load Balancer ,该实例为我的节点应用提供服务。但是,我正在尝试向LB添加自动缩放,以便在需求较高时,LB将在1个或更多实例之间分配流量。

我已经尝试按照文档执行此操作here,但是当我在控制台中查看Autoscaling Group时,似乎没有实例正在运行(附带屏幕截图)但是,当我在控制台中查看LB时,我看到一个健康的实例正在服务(截图附件)。我的应用程序确实可以通过LB网址访问。

设置我的Autoscaling Group时,我确保将我的load Balancer添加到INDEX(B:D;MATCH(TRUE;INDEX(B:D;MATCH(F1;A:A;0);0)>=F2;0)) 属性。

如何找出不连续性的位置?为什么AWS在我的LB控制台中显示健康的运行实例,但我的Autoscaling组控制台显示Load Balancer实例数?

(负载均衡器控制台) enter image description here

(启动配置控制台) enter image description here

(Autoscaling组控制台) enter image description here

1 个答案:

答案 0 :(得分:2)

将Auto Scaling组与Elastic Load Balancer关联时,实例由Auto Scaling组管理,而不是相反。

因此Auto Scaling Group将创建EC2实例,然后自动将它们与Elastic Load Balancer关联。

Auto Scaling组无法“吸收”未由该组创建的EC2实例。因此,对于预先存在的EC2实例,您有两个选项:

  1. 继续允许它“存在于自动缩放组之外”。它仍将作为Elastic Load Balancer的目标,但Auto Scaling Group永远不会“拥有”它。
  2. 终止旧的EC2实例,让Auto Scaling Group管理ELB背后的所有EC2实例。
  3. 至于这张图片:

    enter image description here

    “实例”列下的“0”表示Auto Scaling组在其控制下没有任何EC2实例。但是,它旁边的(!)图标意味着这个事实可能正在发生变化。如果你将鼠标悬停在它上面,它应该告诉你新的EC2实例可能正在启动等等。

    接下来,使用t2.micro实例进行Auto Scaling需要时间。我不知道拍摄这些截图的时间跨度,以及您的期望是什么,但很多时候可能需要30分钟才能让t2.micro在ELB后面变得活跃。

    最后,请执行以下操作:

    1. 监控Auto Scaling组。它应该最终在“Instances”列下说“1”。这意味着它基于您的启动配置启动了1个新的EC2实例。如果没有发生这种情况,请查看Auto Scaling Group的事件和历史记录,找出原因。

    2. 只有当ASG说“1”时,您才能看到ELB。然后它应该有2个EC2实例(1个原始,1个来自ASG)。如果没有,那么您可以查看ASG配置以确保它使用您的ELB注册EC2实例。

    3. 选择离开原始EC2实例或终止它。但它永远不会落在你的ASG的控制之下。无论如何,只要ELB存在并在ELB注册,它将继续提供ELB的请求。