将 LB 添加到 AWS Autoscaling 组
Adding an LB to an AWS Autoscaling Group
我之前设置了一个 AWS Classic Load Balancer,其中有一个实例为我的节点应用程序提供服务。但是,我正在尝试向 LB 添加自动缩放,以便在高需求时,LB 将在 1 个或多个实例之间分配流量。
我已尝试按照文档执行此操作 here,但是当我在控制台中查看自动缩放组时,似乎没有实例 运行(附有屏幕截图)然而,当我查看在控制台中的 LB,我看到正在提供一个健康的实例(附截图)。我的应用确实可以通过 LB url.
访问
在设置我的自动缩放组时,我已确保将我的负载均衡器添加到 Load Balancer
属性。
我如何找出不连续的地方? 为什么 AWS 在我的 LB 控制台中显示健康的 运行 实例,但我的 Autoscaling 组控制台显示 0
实例数?
(负载均衡器控制台)
(启动配置控制台)
(自动缩放组控制台)
当您将 Auto Scaling 组与 Elastic Load Balancer 关联时,实例由 Auto Scaling 组管理,而不是相反。
因此 Auto Scaling Group 将创建 EC2 实例,然后自动将它们与 Elastic Load Balancer 关联。
Auto Scaling 组无法 "absorb" 不是由该组创建的 EC2 实例。因此,对于预先存在的 EC2 实例,您有 2 个选项:
- 继续允许它存在"outside the auto scaling group"。它仍将作为您的 Elastic Load Balancer 的目标运行,但 Auto Scaling Group 永远不会 "own" 它。
- 终止旧的 EC2 实例,让 Auto Scaling Group 管理您的 ELB 后面的所有 EC2 实例。
关于这张图片:
"Instances" 列下的“0”表示 Auto Scaling 组没有任何 EC2 实例受其控制。但是,它旁边的那个 (!) 图标意味着这个事实可能正在改变。如果您将鼠标悬停在它上面,它应该会告诉您新的 EC2 实例可能正在启动等。
接下来,使用 t2.micro 个实例进行 Auto Scaling 需要时间。我不知道截取这些屏幕截图的时间跨度,也不知道您的期望是什么,但很多时候 t2.micro 在 ELB 后面变得活跃可能需要 30 分钟。
最后,执行以下操作:
监控您的 Auto Scaling 组。它最终应该在 "Instances" 列下显示“1”。这意味着它根据您的启动配置启动了 1 个新的 EC2 实例。如果没有发生,请查看 Auto Scaling Group 的事件和历史以找出原因。
只有当 ASG 说“1”时,您才能查看 ELB。它后面应该有 2 个 EC2 实例(1 个原始实例,1 个来自 ASG)。如果没有,那么您可以查看 ASG 配置以确保它正在向您的 ELB 注册 EC2 实例。
选择保留您的原始 EC2 实例或终止它。但它永远不会落入您的 ASG 的控制之下。无论如何,只要它存在并在您的 ELB 中注册,它就会继续为来自您的 ELB 的请求提供服务。
我之前设置了一个 AWS Classic Load Balancer,其中有一个实例为我的节点应用程序提供服务。但是,我正在尝试向 LB 添加自动缩放,以便在高需求时,LB 将在 1 个或多个实例之间分配流量。
我已尝试按照文档执行此操作 here,但是当我在控制台中查看自动缩放组时,似乎没有实例 运行(附有屏幕截图)然而,当我查看在控制台中的 LB,我看到正在提供一个健康的实例(附截图)。我的应用确实可以通过 LB url.
访问在设置我的自动缩放组时,我已确保将我的负载均衡器添加到 Load Balancer
属性。
我如何找出不连续的地方? 为什么 AWS 在我的 LB 控制台中显示健康的 运行 实例,但我的 Autoscaling 组控制台显示 0
实例数?
(负载均衡器控制台)
(启动配置控制台)
(自动缩放组控制台)
当您将 Auto Scaling 组与 Elastic Load Balancer 关联时,实例由 Auto Scaling 组管理,而不是相反。
因此 Auto Scaling Group 将创建 EC2 实例,然后自动将它们与 Elastic Load Balancer 关联。
Auto Scaling 组无法 "absorb" 不是由该组创建的 EC2 实例。因此,对于预先存在的 EC2 实例,您有 2 个选项:
- 继续允许它存在"outside the auto scaling group"。它仍将作为您的 Elastic Load Balancer 的目标运行,但 Auto Scaling Group 永远不会 "own" 它。
- 终止旧的 EC2 实例,让 Auto Scaling Group 管理您的 ELB 后面的所有 EC2 实例。
关于这张图片:
"Instances" 列下的“0”表示 Auto Scaling 组没有任何 EC2 实例受其控制。但是,它旁边的那个 (!) 图标意味着这个事实可能正在改变。如果您将鼠标悬停在它上面,它应该会告诉您新的 EC2 实例可能正在启动等。
接下来,使用 t2.micro 个实例进行 Auto Scaling 需要时间。我不知道截取这些屏幕截图的时间跨度,也不知道您的期望是什么,但很多时候 t2.micro 在 ELB 后面变得活跃可能需要 30 分钟。
最后,执行以下操作:
监控您的 Auto Scaling 组。它最终应该在 "Instances" 列下显示“1”。这意味着它根据您的启动配置启动了 1 个新的 EC2 实例。如果没有发生,请查看 Auto Scaling Group 的事件和历史以找出原因。
只有当 ASG 说“1”时,您才能查看 ELB。它后面应该有 2 个 EC2 实例(1 个原始实例,1 个来自 ASG)。如果没有,那么您可以查看 ASG 配置以确保它正在向您的 ELB 注册 EC2 实例。
选择保留您的原始 EC2 实例或终止它。但它永远不会落入您的 ASG 的控制之下。无论如何,只要它存在并在您的 ELB 中注册,它就会继续为来自您的 ELB 的请求提供服务。