我有Elastic Beanstalk环境,我需要设置自动调节策略,就像Elastic Loadbalancer有不健康实例一样,它会调出新实例我现在使用的策略是
答案 0 :(得分:7)
将第一个选项“HealthyInstanceCount”更改为UnHealthyInstanceCount,如果有1个或更多不健康,请添加+1实例。如果UnHealthyInstanceCount为0,则添加-1实例(取一个)。确保将最小值设置为1或更高(建议最少2个,在高可用性的两个单独可用区域中)。
答案 1 :(得分:2)
跟进这个因为我遇到了同样的问题。 @Max提出的解决方案是正确的,但需要对数字进行轻微调整。
1)确保将最小实例数和最大实例数设置为注意事项
2)设置以下参数 触发测量:UnHealthyHostCount 触发统计:最大值 计量单位:计数 上限阈值:0 上部突破比例增量:1 降低阈值:1 较低的违规规模增量:-1
答案 2 :(得分:1)
在EB console > Configuration > Capacity
和<=
没有选择的意义上,>=
中的缩放触发器有些受限。要完全控制触发器,请转到AWS Console > EC2 > Auto Scaling Groups
。
选择您的Beanstalk应用程序的Auto Scaling组(如果您无法识别Beanstalk应用程序的Auto Scaling组,那么这里有个提示:默认情况下,自动扩展组将以awseb-e-<Environment ID>-stack-AWSEBAutoScalingLaunchConfiguration-XXXXXXXXXXX
的方式命名。可以从应用程序的信息中心找到我们的beantalk应用程序的环境ID)
在选择应用程序的Auto Scaling组时,选择底部的Scaling Policies
。在那里,您可以用普通的英语阅读放大和缩小的触发器。
您会注意到awseb-e-<Environment ID>-stack-AWSEBAutoScalingScaleDownPolicy-YYYYYYYYYY
和awseb-e-<Environment ID>-stack-AWSEBAutoScalingScaleUpPolicy-ZZZZZZZZZZ
形式的2条策略。对于每个策略,将有一个awseb-e-<Environment ID>-stack-AWSEBCloudwatchAlarm***-AAAAAAAAAA
形式的CloudWatch警报,被关联为触发器。
然后,如果您想微调触发器,请转到AWS CloudWatch>警报,然后选择警报。在这里,您将获得更多选项来编辑触发器。您可以选择阈值,例如<=
和>=
并添加SNS主题等。还有更多选项。
编辑和更新警报,然后返回到Auto Scaling组的扩展策略。您将在那里看到新的更新,再次以纯正的英语,非常易于遵循和理解。