用于日常处理任务的 EC2 现货实例

用于日常处理任务的 EC2 现货实例

我没有太多作为系统管理员或使用亚马逊 AWS 的经验,所以我希望有人可以用简单的术语解释或给我推荐一个关于如何实现以下目标的良好指南。

我有一个在 ec2 和 amazon rds 上运行的系统,获取数据并将其保存到数据库。

我需要每天(在一天结束时)运行一次脚本来处理所有数据并准备每日报告。此过程大约需要一个小时才能运行。它需要在高内存实例上运行。

从我目前所读的内容来看,我猜最好的方法是每天运行一个高内存现货实例,将其设置为在启动时执行脚本,并在完成后关闭。

这是正确的做法吗?如果是,怎么做?如何告诉 Spot 实例每天运行?通过其他服务器上的 cron 作业,还是有更好的方法?如何将其设置为在启动时运行脚本?通过 cloudinit?

任何帮助,将不胜感激。

最后一件事,只要每天运行,这项工作就对时间不太敏感。

谢谢

答案1

竞价型实例可能不是您最佳的选择。您需要每天执行该流程,并且一旦启动就必须完成执行。

竞价型实例可能无法按您希望的时间运行。如果您的出价太低,或者容量不够,那么您将无法获得实例。此外,一旦您的实例启动,如果出价高于您的最高价格,则实例将在完成之前终止。

您可以使用较高的最高出价来尝试避免其中一些问题,但这并不能保证。

根据成本,您可以查看预留实例(在您的情况下,轻量级预留实例可能就足够了)或只是在一天结束时运行的按需实例。

亚马逊没有任何实例启动/停止的计划,因此您需要使用类似 cron 或其他自动调度工具。

亚马逊现在计划预留实例这可能在成本方面有帮助,但它不会为您起到实际的启动作用。

答案2

可以使用带有计划的自动缩放来安排每日处理任务。指南可在此处获取。使用 Auto Scaling 按计划定期运行 EC2 实例

相关内容