我有一个很长的批处理工作,我想在AWS EC2竞价型实例上运行,以节省资金。但是,我无法找到两个看似关键问题的答案:
创建新实例时,我需要将代码上传到其中,配置它并运行代码。如何自动创建并且不受欢迎的竞价型实例?
当一个实例停止时,我会更喜欢具有某种类型的通知,以便可以保存状态。 (这并不重要,因为如果突然终止批处理作业将正常运行 - 但最好是干净关闭。)
部署专案实例的标准方法是什么?有没有办法进行手动设置,将其转换为现场实例,然后让它休眠直到现货价格可用?
答案 0 :(得分:6)
对于#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
顺便说一句:您可以通知实例已终止,但只有 后才会终止。您无法通知实例即将关闭并正常保存状态 - 您需要设计解决方案,以便在意外关闭时正常运行。
无论您的出价有多高,您的竞价总会存在风险 实例将被中断。我们强烈建议不要出价 高于按需价格或使用Spot不适用于应用程序 容忍中断。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-protect-interruptions.html
答案 1 :(得分:1)
您可以使用用户数据设置从特定存储库下载脚本,并在第一次启动时运行它。
作为E.J.布伦南说:你可以使用SNS