Amazon web services AWS Beanstalk自动缩放触发HealthyHostCount或UnhealthyHost计数

Amazon web services AWS Beanstalk自动缩放触发HealthyHostCount或UnhealthyHost计数,amazon-web-services,amazon-elastic-beanstalk,autoscaling,Amazon Web Services,Amazon Elastic Beanstalk,Autoscaling,我有Elastic Beanstalk环境,我需要设置自动缩放策略,就像Elastic Loadbalancer有不健康的实例一样,它会带来新实例我现在使用的策略如下 将第一个选项“HealthyInstanceCount”更改为UnHealthyInstanceCount,如果有1个或多个不健康,则添加+1个实例。如果UnHealthyInstanceCount为0,则添加-1个实例(去掉一个)。确保最小值设置为1或更多(建议在两个单独的可用性区域中至少设置2个,以实现高可用性) 我也遇到了同

我有Elastic Beanstalk环境,我需要设置自动缩放策略,就像Elastic Loadbalancer有不健康的实例一样,它会带来新实例我现在使用的策略如下

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


我也遇到了同样的问题,所以继续跟进。@Max提出的解决方案是正确的,但需要对数字稍加调整

1) 确保将最小实例数和最大实例数设置为预防措施

2) 设置以下参数 触发测量:不健康HOSTCOUNT 触发统计:最大值 计量单位:计数 上限:0 上限违约率增量:1 下限:1
较低的违约比例增量:-1

电子商务控制台>配置>容量
中的比例触发器有点有限,因为
=
没有选项。要完全控制触发器,请转到
AWS Console>EC2>自动缩放组

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

在选择应用程序的自动缩放组时,选择底部的
scalingpolicies
。在那里,您可以用简单的英语阅读放大和缩小的触发器

您将注意到以下两种策略的形式:
awseb-e--stack-awseb自动缩放DownPolicy-yyyyyyyyyyy
awseb-e--stack-awseb自动缩放缩放策略-ZZZZZZZZZZ
。对于每个策略,都会有一个云监视警报,其形式为
awseb-e--stack-AWSEBCloudwatchAlarm***-aaaaaa
,作为触发器

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


编辑并更新报警,然后返回到您的自动缩放组的缩放策略。您将在那里看到新的更新,同样是简单易懂的英语。

非常感谢Max。这里我所做的请让我知道所有选项都是fineTrigger measurement:UnhealthHostCount触发器统计:最大度量单位:Count度量周期(分钟):5个违约持续时间(分钟):5个上限阈值:1个上限违约规模增量:-1个下限阈值:0个下限违约规模增量:1跳过下限违约规模增量和上限违约规模增量。如果存在>=1个不健康服务器,则要添加更多(+1)。如果您有0台不健康的服务器,您希望删除服务器(-1)此处我现在所做的操作请让我知道所有选项都是fineTrigger度量:UnhealthHostCount触发器统计:最大度量单位:计数度量周期(分钟):5违反持续时间(分钟):5上限阈值:1上限违约规模增量:1下限阈值:0下限违约规模增量:-1我认为这很好。现在您可以测试它!SSH进入实例并手动停止nginx(
sudo service nginx stop
),它将在负载平衡器中变得不健康。您应该会在5分钟后看到一个扩展