AWS 实例调度程序和自动缩放组

AWS instance scheduler and autoscaling group

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

问题似乎是,通过缩放组标记 ec2 实例时,ec2 实例已正确停止,但由于我的缩放组将最小值设置为 2,AWS 缩放组无论如何都会重新启动它们。

我不想将最小值设置为 0,因为在重新部署应用程序时有用。

如何让2个服务正常工作?

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

您有 2 个选择。

选项 1: 在您的 EC2 实例停止时暂停 Auto Scaling 处理。通过这样做,Auto Scaling 不会关心您的 EC2 实例是否已停止,也不会终止它们。请记住在重启 EC2 实例后恢复处理。

但是,AWS Instance Scheduler 不会为您管理这个,因此您需要找到另一种方法来安排 EC2 实例停止和重启。

选项 2: 将您的 Auto Scaling 组缩放到 0 然后再缩放到 2。这将导致终止您的 EC2 实例(当您不需要它们时)并且 re-creating 他们(当你想要他们的时候)。这仅在您的 EC2 实例是临时的时才有效。

同样,AWS Instance Scheduler 不会为您管理这个。 Auto Scaling 计划操作或许可以帮助您。

另一种选择是在 aws 实例调度程序之前和之后使用 asg 备用功能。这也将让您在关机前在同一个 Ami 上工作。

高级解决方案如下:

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