我目前拥有一个lambda函数,该函数可以停止我的EC2实例(4个虚拟服务器),并且已经使用Cloudwatch创建了一个时间表来启动该lambda函数,以在周一至周五的6:30 PM停止我的服务器。那部分效果很好。
但是,如果我在例如3PM的服务器上运行特定于应用程序的分析批处理,则有时运行分析的应用程序需要4-5个小时才能完成,这意味着CloudWatch实际上将在6点停止服务器:在分析过程中处于下午30点。有没有一种方法可以内置异常来检查服务器上的CPU使用率是否大于10%,从而延迟cloudwatch事件?
我尝试在CloudWatch中创建警报事件,以在CPU利用率指标<10%时关闭特定的EC2服务器,但是如果不使用它,这实际上会在工作日将其关闭,这不是我所需要的。
最终,我希望能够编写一个脚本(lambda函数)来检查周一至周五下午6:30的CPU利用率是否低于10%(如果是),然后停止服务器。如果不是,则保持每小时检查一次。在这一点上,我很乐意提出任何建议。预先感谢您的帮助!
答案 0 :(得分:0)
我相信您可以使用AWS Step functions进行定义 您可以创建一个工作流程,