Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 用于运行作业的AWS服务_Amazon Web Services_Amazon Ec2_Amazon Elastic Beanstalk_Autoscaling - Fatal编程技术网

Amazon web services 用于运行作业的AWS服务

Amazon web services 用于运行作业的AWS服务,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,autoscaling,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,Autoscaling,我有一个NodeJS作业,每5分钟运行一次,查询DB(MySql和PostgreSQL),并根据结果准备并向收件人发送电子邮件 目前作业每5分钟在一个EC2上运行良好。现在,我想让解决方案更加健壮,并为任何停机做好准备(例如,在另一个区域准备另一个EC2,如果第一个EC2停机,该区域将接管相同的代码和逻辑) 哪种AWS服务最适合这种情况?目前正在考虑自动缩放组(如果第一个EC2关闭,它可以检测并旋转另一个具有相同代码的EC2)、Elastic Beanstalk甚至Lambda(每5分钟触发一次

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

目前作业每5分钟在一个EC2上运行良好。现在,我想让解决方案更加健壮,并为任何停机做好准备(例如,在另一个区域准备另一个EC2,如果第一个EC2停机,该区域将接管相同的代码和逻辑)

哪种AWS服务最适合这种情况?目前正在考虑自动缩放组(如果第一个EC2关闭,它可以检测并旋转另一个具有相同代码的EC2)、Elastic Beanstalk甚至Lambda(每5分钟触发一次)


假设在大修期间最多可以让服务下降5-10分钟,那么什么样的服务是可取的。

我建议您使用哪种功能作为服务。因为您编写了一个nodejs代码,所以您可以简单地将其转换为AWS Lambda函数

Lambda提供高性能、高可用性和高可扩展性。您可以根据需要,每5分钟安排一次cloudwatch事件来触发此lambda


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

谢谢您的确认!万一它不适合Lambda(例如,如果需要运行超过300秒或任何其他原因),建议第二种解决方案是什么?谢谢。如果需要300秒以上,除了在ASG中使用EC2实例外,您可以将应用程序容器化并使用Amazon ECS服务。然而,ECS仍然在底层使用EC2,但允许您最大限度地利用资源,并将繁重的工作提升到一定的水平。如果您熟悉Docker,ECS可能是下一个最佳选择。希望这有帮助