Amazon web services 使用CloudWatch事件触发EC2实例上的cron作业是否过度杀戮?

Amazon web services 使用CloudWatch事件触发EC2实例上的cron作业是否过度杀戮?,amazon-web-services,cron,amazon-cloudwatch,Amazon Web Services,Cron,Amazon Cloudwatch,我们有一个运行cronjobs的EC2服务器。当前,该服务器上有一个crontab保存cronjob设置。在这台服务器上一切都运行得很好 使用AWS Cloudwatch事件来触发cron会不会有些过火?ie创建一个cloudwatch事件,调用lambda在EC2实例上运行shell命令 我的想法是这些可能的好处: 无需在EC2服务器上管理crontab文件 更容易激活/停用特定作业 根据AWS文件,看起来确实有好处: 解耦作业计划和AMI:如果您的cron作业是AMI的一部分,则每次计

我们有一个运行cronjobs的EC2服务器。当前,该服务器上有一个crontab保存cronjob设置。在这台服务器上一切都运行得很好

使用AWS Cloudwatch事件来触发cron会不会有些过火?ie创建一个cloudwatch事件,调用lambda在EC2实例上运行shell命令

我的想法是这些可能的好处:

  • 无需在EC2服务器上管理crontab文件
  • 更容易激活/停用特定作业

根据AWS文件,看起来确实有好处:

  • 解耦作业计划和AMI:如果您的cron作业是AMI的一部分,则每次计划更改都需要您创建新的AMI版本,并更新使用该AMI运行的现有实例。这既麻烦又耗时。使用调度Lambda函数,可以将作业调度保持在AMI之外,并动态更改调度

  • 灵活定位EC2实例:通过从AMI和EC2实例抽象作业计划,您可以根据标记或其他条件灵活定位EC2实例群的子集。在本例中,我们使用“Environment=Dev”标记将EC2实例作为目标

  • 智能调度:通过调度Lambda函数,您可以向抽象作业调度程序添加自定义逻辑


根据AWS文件,看起来确实有好处:

  • 解耦作业计划和AMI:如果您的cron作业是AMI的一部分,则每次计划更改都需要您创建新的AMI版本,并更新使用该AMI运行的现有实例。这既麻烦又耗时。使用调度Lambda函数,可以将作业调度保持在AMI之外,并动态更改调度

  • 灵活定位EC2实例:通过从AMI和EC2实例抽象作业计划,您可以根据标记或其他条件灵活定位EC2实例群的子集。在本例中,我们使用“Environment=Dev”标记将EC2实例作为目标

  • 智能调度:通过调度Lambda函数,您可以向抽象作业调度程序添加自定义逻辑


以我的经验,这根本不是一种过度杀戮。我使用了相同的设置,成功地运行了工作量大的作业(大约50个不同的作业)

我的设置略有不同

cloudwatch调度事件调用了一个lambda,该lambda反过来将一条消息放在一个sqs上,而运行在ec2实例上的应用程序从sqs获取消息并对其进行处理

sqs只是为了健壮性而添加的


但这在您的用例中可能有意义,也可能没有意义。

根据我的经验,这一点都不过分。我使用了相同的设置,成功地运行了工作量大的作业(大约50个不同的作业)

我的设置略有不同

cloudwatch调度事件调用了一个lambda,该lambda反过来将一条消息放在一个sqs上,而运行在ec2实例上的应用程序从sqs获取消息并对其进行处理

sqs只是为了健壮性而添加的


但这在您的用例中可能有意义,也可能没有意义。

您还可以检查system manager服务。它还支持在EC2上执行命令,并可能由cloud watch事件触发。您还可以检查system manager服务。它还支持在EC2上执行命令,并可能由cloud watch事件触发。