Amazon web services AWS EC2自动标定,无持续报警?

Amazon web services AWS EC2自动标定,无持续报警?,amazon-web-services,amazon-ec2,autoscaling,Amazon Web Services,Amazon Ec2,Autoscaling,我为自动缩放组创建了以下两个警报: 如果“CPUUUtilization>=75%”更改为状态报警,则向上缩放一个实例 如果“CPUUUtilization>=30%”更改为状态OK 我已选择在OK上触发缩放事件,以便在负载低于30%时在Cloudwatch中不出现持续报警。另一方面,这正是问题所在。当出现高标度时,组的平均负载介于30%和75%之间,状态设置为报警 有没有办法将Cloudwatch配置为正确触发缩放事件,而不会在缩放发生后留下报警状态?应将“缩放”操作设置为“CPUUUti

我为自动缩放组创建了以下两个警报:

  • 如果“CPUUUtilization>=75%”更改为状态报警,则向上缩放一个实例
  • 如果“CPUUUtilization>=30%”更改为状态OK
我已选择在OK上触发缩放事件,以便在负载低于30%时在Cloudwatch中不出现持续报警。另一方面,这正是问题所在。当出现高标度时,组的平均负载介于30%和75%之间,状态设置为报警


有没有办法将Cloudwatch配置为正确触发缩放事件,而不会在缩放发生后留下报警状态?

应将“缩放”操作设置为“CPUUUtilization<75%”(状态正常),不要担心组中没有机器,虽然你有最少的实例数,但并不超过这个数。

应该是这样的:当CPU>=30%时,警报会触发,所以当状态变为OK(CPU<30%)时,我需要缩小规模。@kev你找到什么了吗?“我还想要一个更好的解决方案。”Musik不幸的是,如果我这样做的话,我会让机器不断地上下旋转。假设我有一台CPU=80%->向上扩展->两台CPU=40%->向下扩展->返回到一台CPU=80%的机器,等等。我在生产环境中有一个运行组,其工作方式如下:cloudwatch中有一个警报,阈值CPUUutilization>=70,持续10分钟,因此如果CPUUtilization>=70,则状态警报,如果CPUUtilization<70,则说明OK。在报警状态下添加6个实例,在正常状态下在5分钟内删除1个实例,直到达到最小值。我建议您直接在Cloudwatch中设置报警,然后在设置缩放策略时使用它,而不是在策略中设置新的报警。这也不起作用。假设我最多有4个箱子。从80%警报的一个箱子开始->旋转所有4个箱子,每个箱子装载20%。每5分钟一个盒子被移除,直到2个盒子剩下40%,这仍然可以,所以另一个盒子被移除。这让我们回到一个80%的盒子,整个过程重新开始。如果你确信你会在半小时内回到70%以下的一个盒子,那么你的方法可以工作在突发负载中。如果你总是有一台机器超过80%,那么至少考虑一下这两种选择:A)使用一台更大更好的机器,这样CPU的使用率就开始降低了。或b)使用2-3台机器的基本最小值,以始终从较低的CPU使用率开始运行。在我们的例子中,我们必须同时使用垂直和水平扩展,以确保安全和低CPU使用率。扩展策略和报警周期应基于应用程序的负载和负载性质。例如:如果负载是突发性的,并且寿命很短,那么您可以更积极地伸缩,如果负载增加更为缓慢,那么您的伸缩策略应该更为保守。此外,使用简单缩放策略的冷却期(或使用步进或目标跟踪缩放策略的预热期)也可用于防止频繁的伸缩活动。