【问题标题】:What is the most efficient way to run scheduled commands on multiple EC2 instances?在多个 EC2 实例上运行计划命令的最有效方法是什么?
【发布时间】:2019-10-17 11:01:50
【问题描述】:

目前正在处理一个环境要求,我们将按计划的时间间隔将相同的文件推送到运行 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.

缺点:我不肯定您可以按计划自动执行这些命令,而无需添加其他层。

什么是最具扩展性的前进道路?提前感谢您的帮助。

【问题讨论】:

  • 不确定 Lambda 将如何帮助您 - 它不能在 EC2 实例上运行。任务调度器似乎是最明显的解决方案,如果有很多实例,您应该已经对它们进行自动化更改;如果你不是,现在似乎是开始的好时机。

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


【解决方案1】:

在这里使用 AWS Systems Manager 的 Run Command 功能和 AWS Systems Manager 的维护时段功能或使用 CloudWatch Events 来安排 Run Command 的执行应该很有用。

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

/垫子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2021-07-24
    • 2016-06-02
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多