AWS Beanstalk Auto-scaling Scaling Triggers with HealthyHostCount 或 UnhealthyHost count

Posted

技术标签:

【中文标题】AWS Beanstalk Auto-scaling Scaling Triggers with HealthyHostCount 或 UnhealthyHost count【英文标题】:AWS Beanstalk Auto-scaling Scaling Triggers with HealthyHostCount or UnhealthyHost count 【发布时间】:2015-05-04 02:50:12 【问题描述】:

我有 Elastic Beanstalk 环境,我需要设置自动缩放策略,例如如果 Elastic Loadbalancer 有不健康的实例,它将启动新实例我现在使用的策略如下

【问题讨论】:

【参考方案1】:

将第一个选项“HealthyInstanceCount”更改为 UnHealthyInstanceCount,如果有 1 个或多个不健康,则添加 +1 个实例。如果 UnHealthyInstanceCount 为 0,则添加 -1 个实例(带走一个)。确保您的最小值设置为 1 或更多(建议至少为 2,在两个单独的可用区中以实现高可用性)。

【讨论】:

非常感谢 Max。这里我做了什么请让我知道所有选项都是fineTrigger 测量:UnhealthHostCount 触发统计:最大测量单位:计数测量周期(分钟):5 违规持续时间(分钟):5 上限阈值:1 上限违规规模增量:-1 下限阈值:0 较低的违规规模增量:1 交换下突破比例增量和上突破比例增量。如果有 >=1 个不健康的服务器,您想添加更多 (+1)。如果您有 0 台运行状况不佳的服务器,您希望删除 服务器 (-1) 这里我现在做了什么 请让我知道所有选项都很好触发测量:UnhealthHostCount 触发统计:最大测量单位:计数 测量周期(分钟):5 违反持续时间(分钟):5 上限阈值: 1 上违规规模增量:1 下阈值:0 下违规规模增量:-1 我觉得不错。现在你可以测试它了! SSH 进入实例并手动停止 nginx (sudo service nginx stop),它会在负载均衡器中变得不健康。您应该会在 5 分钟后看到放大率【参考方案2】:

跟进这件事,因为我刚刚遇到了同样的问题。 @Max 提出的解决方案在正确的轨道上,但需要对数字稍作调整。

1) 确保设置最小实例数和最大实例数以防万一

2) 设置以下参数 触发测量:UnHealthyHostCount 触发统计:最大值 计量单位:计数 上限阈值:0 上突破规模增量:1 下限:1 较低的破坏规模增量:-1

【讨论】:

【参考方案3】:

EB console > Configuration > Capacity 中的缩放触发器有点受限,因为没有<=>= 的选项。要完全控制触发器,请转至 AWS Console > EC2 > Auto Scaling Groups

在此处选择您的 Beanstalk 应用程序的 Auto Scaling 组(如果您无法识别您的 Beanstalk 应用程序的 Auto Scaling 组,那么这里有一个提示:默认情况下,Auto Scaling 组将以这种方式命名awseb-e-<Environment ID>-stack-AWSEBAutoScalingLaunchConfiguration-XXXXXXXXXXX。您可以找到我们从应用仪表板获取您的 beanstalk 应用的环境 ID)

在选择应用的 Auto Scaling 组时,选择底部的 Scaling Policies。在那里,您可以用简单的英语阅读您的放大和缩小触发器。

您会注意到awseb-e-<Environment ID>-stack-AWSEBAutoScalingScaleDownPolicy-YYYYYYYYYYawseb-e-<Environment ID>-stack-AWSEBAutoScalingScaleUpPolicy-ZZZZZZZZZZ 形式的2 个策略。对于每个策略,都会有一个 CloudWatch 警报,格式为 awseb-e-<Environment ID>-stack-AWSEBCloudwatchAlarm***-AAAAAAAAAA,关联为触发器。

然后,如果您想微调触发器,请转到 AWS CloudWatch > 警报并选择您的警报。在这里,您将获得更多用于编辑触发器的选项。您可以选择<=>= 等阈值并添加SNS 主题等。更多选项。

编辑和更新警报并返回到您的 Auto Scaling 组的 Scaling 策略。您将在那里看到新的更新,同样是简单的英语,非常容易理解和理解。

【讨论】:

以上是关于AWS Beanstalk Auto-scaling Scaling Triggers with HealthyHostCount 或 UnhealthyHost count的主要内容,如果未能解决你的问题,请参考以下文章

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Beanstalk 和 IPset

无法延长 AWS 中 beanstalk 的超时时间

拒绝 aws_beanstalk/ubuntu 的请求访问

[AWS] Elastic Beanstalk

AWS Beanstalk Tomcat 和 Terraform