AWS是否可以定期自动终止并为自动扩展组重新创建新实例?

时间:2016-07-29 19:05:06

标签: amazon-web-services autoscaling

我们有一个AWS扩展组,在负载均衡器后面有10-20台服务器。运行几周之后,这些服务器变坏了。我们不知道为什么服务器会变坏,我们需要一些时间才能进入可以调试此问题的阶段。

在过渡期间,有一种方法可以告诉AWS以受控方式(逐个)终止扩展组中的所有实例,直到每周都将所有实例替换为新实例?

4 个答案:

答案 0 :(得分:1)

您可以使用数据管道非常有效地实现这一目标。

这是How do I stop and start Amazon EC2 Instances at scheduled intervals with AWS Data Pipeline?

的开发人员指南

答案 1 :(得分:0)

Auto Scaling中没有任何功能可以告诉它自动终止和替换实例。但是,您可以编写此类功能的脚本。

假设:

  • 终止超过特定小时数的实例
  • 一次一个地做,以避免影响可用容量
  • 您希望立即更换它们

合适的脚本将执行以下操作:

可以使用AWS Command-Line Interface (CLI)或Python等编程语言创建脚本。

或者,您可以通过简单地调用操作系统来关闭实例,在一段给定的时间后(例如72小时)将实例编程为自毁。这将导致自动缩放以终止实例并替换它。

答案 2 :(得分:0)

有两种方法可以实现您正在寻找的内容,预定的Auto Scaling操作或将其中一个实例带出ASG。

  

预定缩放

     

根据计划进行扩展允许您扩展应用程序以响应可预测的负载变化。例如,每周网络应用程序的流量在周三开始增加,周四仍然很高,并在周五开始减少。您可以根据Web应用程序的可预测流量模式规划扩展活动。

https://docs.aws.amazon.com/autoscaling/latest/userguide/schedule_time.html

你很可能想要这个。

  

Auto Scaling使您可以将处于InService状态的实例置于Standby状态,更新或对实例进行故障排除,然后将实例返回到服务。处于待机状态的实例仍然是Auto Scaling组的一部分,但它们不会主动处理应用程序流量。

https://docs.aws.amazon.com/autoscaling/latest/userguide/as-enter-exit-standby.html

答案 3 :(得分:0)

截至 2019 年 11 月 20 日,EC2 AutoScaling 支持最大实例生命周期:https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-ec2-auto-scaling-supports-max-instance-lifetime/

来自:

<块引用>

最大实例生命周期指定最大时间量(在 秒)实例可以在服务中。最长持续时间 适用于组中的所有当前和未来实例。作为 实例接近其最长持续时间,它被终止并 已更换,不能再次使用。

为 Auto Scaling 配置最长实例生命周期时 组,您必须指定一个至少为 86,400 秒(1 天)的值。到 清除先前设置的值,指定新值 0。