用于运行作业的AWS服务

时间:2017-07-12 02:14:23

标签: amazon-web-services amazon-ec2 elastic-beanstalk autoscaling

我有一个每5分钟运行一次的NodeJS作业,查询数据库(MySql和PostgreSQL)并根据结果 - 准备并向收件人发送电子邮件。

目前,每隔5分钟就有一个EC2运行良好。现在我想让解决方案更加强大并为任何中断做好准备(例如,如果第一个EC2发生故障,另一个区域中的相同代码和逻辑将准备另一个EC2)。

哪种AWS服务最适合这种情况?目前正在考虑Auto Scaling Group(如果第一个EC2关闭,它可以使用相同的代码检测并旋转另一个EC2),Elastic Beanstalk甚至可能是Lambda(每5分钟触发一次)..

假设可以在停电期间将服务最多停留5-10分钟,这对于此是什么是明智的服务。

1 个答案:

答案 0 :(得分:1)

我建议您使用AWS Lambda作为服务功能。由于您编写了nodejs代码,因此您只需将其转换为AWS Lambda函数即可。

Lambda提供高可用性,高可扩展性。您可以安排一个cloudwatch事件,每5分钟触发一次这个lambda,这是您的要求。

目前lambda可以处理运行300秒的任务。因此,如果您的函数可以在时间范围内执行,这将是一个很好的解决方案。