我偶尔会遇到高CPU密集型任务。它们被发送到一个单独的high-intensity
队列,由一台非常大的机器(大量的CPU,大量的RAM)消耗。但是,这台机器每天只需要运行一个小时。
我想在AWS上自动部署此映像,由high-intensity
队列中的未完成消息触发,然后在不忙时安全停止。有点像:
x > x_threshold
个新工作要完成(例如,如果有5个未完成的“大”工作,我想触发“ )t > t_idle
(例如,超过10分钟),机器就会关闭。我是否可以使用任何工具来简化自动化过程,或者我是否需要自行引导所有工具?
答案 0 :(得分:5)
您可以public a custom metric访问AWS CloudWatch,然后根据自定义指标设置autoscale trigger和scaling policy。 Autoscale可以为您启动实例,并根据您的策略将其终止。您必须在launch configuration中包含适当的用户数据以引导主机。就像任何EC2实例的userdata一样,它可以是bash脚本或ansible playbook,也可以是你选择的配置管理工具。
答案 1 :(得分:0)
对于您的方案可能有些过分,但作为起点,您可能需要查看AWS OpsWorks。
http://aws.amazon.com/opsworks/ http://aws.amazon.com/opsworks/faqs/
如果确实比你需要的水平更高,你可以使用aws cloudformation - 也许有点'更接近金属'来满足你的需要。