跨多个AWS EC2映像的单个cron作业



我们有Ruby on Rails应用程序在EC2上运行,并启用了自动缩放功能。我们一直在使用"每当"来管理cron。因此,带有主实例图像的新实例会在峰值时自动创建,并在流量较低时丢弃。但这也将cron作业复制到新创建的实例中。

我们有一个特定的需求,我们希望将cron限制在一个实例中。

我发现了一块宝石,看起来像是满足了这一特定要求,但我对此持怀疑态度,原因是它是用于弹性豆茎,不再维护。

作为一种变通方法,您可以在cron中设置一个条件,指定cron作业应基于在自动缩放组中选择单个实例的条件执行。例如,只有运行cron的最旧实例,或者只有具有"最低"实例ID的实例,或者任何你喜欢的条件。您可以通过让实例调用AWS API来实现这一点。

作为一个更合适的解决方案,您也许可以使用单个cronized lambda访问您的实例?根据此页面,这现在是可能的

最好是设置保护中的比例。它可以防止在缩放事件期间终止实例。

您可以在AWS上找到更多信息https://aws.amazon.com/blogs/aws/new-instance-protection-for-auto-scaling/

最新更新