【问题标题】:What's the best method for creating a scheduler for running EC2 instances?为运行 EC2 实例创建调度程序的最佳方法是什么?
【发布时间】:2017-08-09 01:54:23
【问题描述】:

我想为我的组织创建一个 Web 应用程序,用户可以在其中提前安排他们希望 EC2 实例启动和停止的时间(例如在日历中创建事件),这些实例将自动启动或在那个时候停了下来。我遇到了四种不同的选择:

  1. AWS 数据管道
  2. 在 EC2 实例上运行的 Cron
  3. Auto Scaling 组的计划扩展
  4. AWS Lambda 计划事件

在我看来,我需要一个数据库来存储用户为自动启动和自动停止实例的计划时间,并且我必须定期从数据库中提取该数据(以确保这是最新更新的计划)。对于我的用例,上述四个选项中哪个是最好的?

编辑:Auto Scaling 似乎只用于启动和终止实例,所以我可以排除这种情况。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 ec2-api-tools


    【解决方案1】:

    简单!

    1. 要求用户向他们的实例添加标签,指示他们应该何时开始和停止(找出某种格式,以便他们可以轻松地指定周一至周五或每天)
    2. 创建一个 AWS Lambda 函数,扫描实例的标签并根据标签内容启动/停止它们
    3. 创建一个 Amazon CloudWatch 事件规则,每 15 分钟触发一次 Lambda 函数(或任何您想要的分辨率)

    如果您搜索 AWS Stopinator,您可能会找到一些示例代码。

    【讨论】:

    • 在 Boto3 和 cloudwatch 规则中使用 Lambda 函数非常简单: ec2 = boto3.client('ec2') ec2.stop_instances( InstanceIds = ['XXXXXXXXXX',XXXXXXXX] ) 这里有一个完整的例子:dbigcloud.com/cloud-computing/…
    【解决方案2】:

    如果您正在寻找可以帮助您的用户轻松安排(或覆盖该安排)您的 EC2、RDS 和 ASG 实例的外部 SaaS 应用程序,请查看 ParkMyCloud。它还连接到 SSO,提供 API,并向您显示跨区域/帐户/云的所有资源。如果您想测试一下,可以免费试用。

    披露:我为 ParkMyCloud 工作。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 2023-03-27
    • 2021-04-24
    相关资源
    最近更新 更多