亚马逊EC2自动缩放下来正常关机?(Amazon EC2 autoscaling down with

2019-07-30 02:49发布

我们正在使用EC2自动缩放以应对负荷高峰。 在我们的例子中,我们想扩大基于一个SQS队列大小实例,然后打倒队列大小规模得到控制回来。 每个SQS消息定义一个潜在的长时间运行的工作(有时高达每一个用于消息20分钟为单位)必须完成实例可以被终止之前。

我们的软件处理关机过程正常,所以发行sudo service ourapp stop将等待应用程序完成后才返回。

我的问题; 自动缩放开始时缩小它发出终止(这显然是像打了电源按钮),将它等待我们的应用程序完全实例之前退出是“关机”?

https://forums.aws.amazon.com/message.jspa?messageID=180674 < -这和其他的东西,我发现似乎表明,它不

Answer 1:

在大多数较新的AMI的,机器被赋予相当于一个“停止”(或“shutdown -h now中”命令,以使服务正常关闭。只要你的程序与启动/关机脚本很好的发挥,你应该没事的 - 但是,如果你的程序需要超过20秒终止,您可能会遇到,亚马逊将彻底杀灭实例。

亚马逊的文档有关于他们的自动缩放不指定进程终止,但是,AWS的文档在一般EC2不包含关于在端接过程会发生什么-那机器被赋予了“关机”命令,默认的关机时间在大多数系统中是30秒。



Answer 2:

在2014年中期引入AWS“生命周期钩”,其允许终止过程的完全控制。

我们的高级别向下规模过程是:

  • 自动缩放将消息发送到一个SQS队列对实例ID
  • 控制器应用拾取消息
  • 控制器应用程序发出“停止实例的要求
  • 控制器应用程序重新排队的SQS消息,而实例停止
  • 如果该实例已停止(或重新队列消息稍后重试)控制器应用程序再次拾取消息,支票
  • 控制器应用程序通知自动缩放到“PROCEED”与终止
  • 控制器应用程序将删除从SQS队列消息

更多细节: http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html



Answer 3:

使用自动缩放replaceunhealty选项。

参考: http://alestic.com/2011/11/ec2-schedule-instance

特别是看到此评论 。



文章来源: Amazon EC2 autoscaling down with graceful shutdown?