在多个EC2实例上运行预定命令的最有效方法是什么?

时间:2019-10-16 20:16:29

标签: amazon-web-services amazon-ec2 aws-lambda ssm

当前正在满足一个环境要求,即我们要将相同文件按计划的时间间隔推送到运行Windows的多个EC2实例。就目前情况而言,我看到了一些选项,并尝试了每个选项:

Windows Task Manager: run a basic task on a set schedule invoking the S3 Sync CLI tool

我在这里看到的缺点包括:在每个EC2实例上设置任务(有很多)。

Lambda: scheduled lambda job that utilizes SSM to run commands on each server in a resource group

缺点:引入执行此任务所需的另一层。

Run Command: using an AWS-RunRemoteScript document, run the script (stored in S3) bucket on target instances.

缺点:我不认为您可以在不添加其他层的情况下按计划自动执行这些命令。

最可扩展的前进方向是什么?预先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在这里,结合使用AWS Systems Manager的Run Command功能和AWS Systems Manager的Maintenance Window功能或使用CloudWatch Events安排Run Command的执行时间将很有用。

如果您还适当标记了实例,则可以使用Run Command的标记定位功能来确保所有实例都运行命令(包括将来只要被标记的新实例)。

/垫子