创建用于运行EC2实例的调度程序的最佳方法是什么?

时间:2017-08-07 21:54:54

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

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

  1. AWS Datapipeline
  2. Cron在EC2实例上运行
  3. Auto Scaling组的预定比例
  4. AWS Lambda预定活动
  5. 在我看来,我需要一个数据库来存储用户自动启动和自动停止实例的预定时间,并且我必须定期从数据库中提取数据(以确保这是最新更新的时间表) )。对于我的用例,哪四个选项中最好的选项?

    编辑:Auto Scaling似乎只是用于启动和终止实例,因此我可以将其排除在外。

2 个答案:

答案 0 :(得分:3)

简单!

  1. 要求用户为他们的实例添加标签,指明他们何时应该开始和停止(找出一些格式,以便他们可以轻松指定周一至周五或每天)
  2. 创建 AWS Lambda函数,扫描实例的标签,并根据标记内容启动/停止它们
  3. 创建 Amazon CloudWatch事件规则,每15分钟(或您想要的任何分辨率)触发Lambda函数
  4. 如果您搜索 AWS Stopinator ,您可能会找到一些示例代码。

答案 1 :(得分:0)

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

披露:我为ParkMyCloud工作。