【问题标题】:Configuring auto scaling with multiple target groups使用多个目标组配置 Auto Scaling
【发布时间】:2020-08-13 08:43:21
【问题描述】:

为多个目标组设置 1 个自动缩放是否是一种好习惯。所有目标组注册到同一个负载均衡器。

场景是应用负载均衡器 LB1 监听 80 和 443,有目标组:

“打开”端口是http/80

“安全”。端口是 https/443

如果 Auto Scaling 组有针对平均 CPU 利用率的目标跟踪策略,如果“开放”目标组的 CPU 利用率高于“安全”目标组。那么就没有自动缩放了?

如果违反警报,Auto Scaling 组如何确定哪个目标组应该拥有新实例?

我是否必须创建单独的自动缩放。每个目标组的组。对于 1 个 Auto Scaling 组下的多个目标组的这种情况,我找不到任何亚马逊文档。

请告诉我

【问题讨论】:

  • ASG 中的所有实例都将位于两个 TG 中。所以没关系。横向扩展将同时向两个 TG 注册一个新实例。
  • @Marcin 如果来自一个目标组的实例变得不健康但来自其他仍然 ASG 的健康实例将不会被替换,因为健康计数与所需计数匹配,则这里存在问题,除非两个 TG 保持健康检查模式与实例永远不会被替换。如果相同的自动缩放必须监控两个 TG,那么这两个 TG 必须以某种方式相互依赖。
  • 有趣的地方。不知道。但这对于某些灭绝者来说是个好问题。我的猜测是任何不健康的行为都会导致实例终止。有时间我会尝试用两个 TG 创建 ASG 并检查它是如何工作的。但我认为最好有两个 ASG。 Aws 文档似乎也没有解释 ASG 中的多 TG 是如何工作的。
  • 我试过了,即使被一个目标群体标记为不健康,实例仍然保留
  • 感谢您告诉我。所以两个 ASG 是首选。

标签: amazon-web-services amazon-ec2 aws-auto-scaling


【解决方案1】:

根据AWS Documentation

如果您将多个负载均衡器目标组或 Classic Load Balancer 附加到该组,它们都必须报告该实例运行状况良好,以便它认为该实例运行状况良好。如果其中任何一个将实例报告为不健康,Auto Scaling 组将替换该实例,即使其他人将其报告为健康。

我的测试证实了这种行为,但有一个例外。通常人们开始使用默认设置配置自动伸缩组,这意味着健康检查默认设置为EC2。为了使附加到一个自动缩放组的多个目标组正常工作,应将运行状况检查设置为 ELB。如果您 ASG 启动后更改它,现有实例将不遵守此新设置并保留在组中。

可能会导致这样的错误结论:

我已经尝试过了,即使从一个目标群体@prassank 标记为不健康,实例也会保留

所以答案是:

除非您想要更严格的乘法健康检查,否则将多个目标组附加到单个自动缩放组不是一个好方法

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 2022-06-29
    • 1970-01-01
    • 2018-09-30
    • 2018-03-29
    • 2016-12-08
    • 2023-04-05
    • 2018-03-25
    • 2014-06-08
    相关资源
    最近更新 更多