AWS实例调度程序和自动扩展组

时间:2018-03-01 13:35:27

标签: amazon-web-services autoscaling

我为我的AWS账户配置了新的AWS实例调度程序https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/

问题似乎是,通过扩展组标记ec2-instance,ec2-instances被正确停止,但由于我的扩展组将Min编号设置为2,AWS扩展组无论如何都会重新启动它们。

我不想将Min编号设置为0,因为在应用程序重新部署期间非常有用。

如何让2项服务正常运作?

2 个答案:

答案 0 :(得分:1)

当你停止由Auto Scaling控制的EC2实例时,Auto Scaling会将它们视为"不健康"它将继续终止并替换它们。

您有2个选项。

选项1:在您的EC2实例停止时暂停Auto Scaling处理。通过这样做,Auto Scaling不会关心您的EC2实例已停止并且不会终止它们。请记住在重新启动EC2实例后继续处理。

但是,AWS Instance Scheduler不会为您管理此问题,因此您需要找到另一种方法来安排您的EC2实例停止&重新启动。

选项2:将Auto Scaling组扩展为0并返回2.这将导致终止您的EC2实例(当您不需要它们时)并重新创建它们(当你想要他们的时候)。这仅适用于您的EC2实例是短暂的。

同样,AWS Instance Scheduler不会为您管理此事。 Auto Scaling计划的操作可能可以帮助您解决此问题。

答案 1 :(得分:0)

另一个选择是在aws实例调度程序之前和之后使用asg待机功能。这也可以让你在关机前使用相同的Ami。

如此高水平的解决方案如下:

  1. 使用aws instance scheduler
  2. 定义ec2实例计划
  3. 定义获取关闭计划的lambda,并在计划关闭之前将ec2置于待机模式。
  4. 定义获取启动计划的lambda,并在ec2计划重启后将ec2实例置于待机状态。