EC2竞价实例:如何启动任务,如何阻止它们?
我有一个长时间的批处理工作,我想在AWS EC2竞价型实例上运行,以节省资金。 但是,我无法找到两个看似关键的问题的答案:
当创建一个新实例时,我需要将代码上传到它,配置它并运行代码。 竞价实例是如何完成的,而竞价实例是自动创建的并且是非常规的?
当一个实例停止时,我宁愿有某种类型的通知,以便可以保存状态。 (这并不重要,因为如果突然终止,批处理作业将运行良好 - 但首选干净关闭)。
部署斑点实例的标准方式是什么? 有没有办法做手动设置,把它变成现货实例,然后让它休眠直到现货价格可用?
至于#1,如果您创建了AMI(亚马逊机器映像),则可以将所需的所有内容预先安装在“休眠”映像上,您可以使用该映像作为启动的专色映像的基础:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-getting-started.html
对于#2,当专题实例使用SNS终止时可以通知您:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-autoscaling-notifications.html http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/ASGettingNotifications.html
顺便说一句:你可以通知实例被终止,但只有在它终止后。 您无法获知有关实例即将关闭并正常保存状态的通知 - 您需要设计解决方案,以确保意外关闭。
无论您出价多高,您的竞价型实例都会被中断。 我们强烈建议不要使用高于按需价格的出价,或对不能容忍中断的应用使用竞价。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-protect-interruptions.html
您可以使用用户数据设置从特定存储库下载脚本并在第一次启动时运行它。
正如EJ Brennan所说:你可以使用SNS
上一篇: EC2 Spot instances: How to start tasks, how to stop them?
下一篇: AWS: cancel spot instance request within a spot instace