Ale*_*nko 7 amazon-ec2 amazon-sqs amazon-web-services amazon-sns autoscaling
当SQS队列很短时,我想使用AWS AutoScaling来扩展一组实例.这些实例做了一些繁重的工作,有时需要5-10分钟才能完成.我希望在实例终止之前完成这项工作.
我知道很多人应该遇到同样的问题.在实际终止实例之前,EC2是否可以处理AWS终止请求并完成所有正在运行的进程?对此最好的方法是什么?
您还可以使用Lifecycle hooks。您将需要一种远程控制特定工作人员的方法,因为 AWS 将选择一个特定实例以置于Terminating:Wait
状态,而您需要管理该实例。您可能希望采取以下措施:
AWS 将为您处理剩下的事情。
附:如果您使用celery为您的员工供电,那么您可以远程要求员工正常关机。除非它完成了它开始执行的任务,否则它不会关闭。
假设您使用的是 Linux,您可以创建一个预烘焙的 AMI,并在附加到 Auto Scaling 组的启动配置中使用。
在 AMI 中,您可以将脚本放在/etc/init.d
say下/etc/init.d/servicesdown
。该脚本将执行您需要关闭的任何内容,/usr/share/services
例如下面的脚本。
要点如下:
当正常关闭时它总是会被执行。
然后假设在 Ubuntu/Debian 上你会执行类似的操作将其添加到你的关闭序列中:
/usr/sbin/update-rc.d servicesdown stop 25 0 1 6 .
Run Code Online (Sandbox Code Playgroud)
在 CentOS/RedHat 上,您可以使用该chkconfig
命令将其添加到正确的关闭运行级别。
归档时间: |
|
查看次数: |
4580 次 |
最近记录: |