使用 Spot 实例时如何在 Amazon EC2 上保存中间结果?

How to save intermidiate results on Amazon EC2 when spot instance used?

我做了一些科学计算,每次迭代都有一些中间结果,所以我认为我可以使用 spot 实例来降低处理成本。

如何保存每次迭代的中间结果?

如何在实例终止时从上一个检查点自动重新运行实例?

当 Amazon EC2 实例的现货价格上涨超过您的出价时,您的 Amazon EC2 实例将被终止。通过元数据界面提供 2 分钟通知。您可以使用此通知作为保存工作的触发器,或者您可以简单地定期保存工作,而不考虑通知期限。

不要保存您的工作"locally",因为 Amazon EBS 卷将被删除(例如引导卷)或断开连接(例如数据卷)。我建议您将工作保存在持久性数据存储中,例如数据库或 Amazon S3。

一个选项是将文件保存到本地磁盘,但使用 AWS Command-Line Interface (CLI) 使用 aws s3 sync 命令将文件复制到 Amazon S3。

然后,如果您配置了持久性 Spot 实例,只需在启动新的 Amazon EC2 Spot 实例时从 Amazon S3 复制文件即可。

参见: