我目前有一个lambda函数,可以停止我的EC2实例(4个虚拟服务器),并且已经使用Cloudwatch创建了一个时间表来启动这个lambda函数,以便在周一到周五下午6:30停止我的服务器。这一部分工作得很好。
但是,如果我在服务器上运行特定于应用程序的分析批处理,例如下午3点,运行分析的应用程序有时需要4-5个小时才能完成,这意味着CloudWatch实际上会在分析过程中的下午6:30停止服务器。有没有办法内置一个异常来检查服务器上的CPU利用率是否超过10%,从而延迟cloudwatch事件?
我尝试在CloudWatch中创建一个警报事件,以便在CPU利用率指标小于10%时关闭特定的EC2服务器,但如果不使用,这实际上会在工作日关闭它们,而这并不是我所需要的。
最终,我希望能够编写一个脚本(lambda函数)来检查周一到周五6:30 it的CPU利用率是否低于10%,如果是,则停止服务器。如果没有,那就每小时检查一次。在这一点上,我希望有任何和所有的建议。提前感谢您的帮助!
发布于 2019-04-24 17:28:40
我相信你可以用AWS Step functions来定义它,你可以创建一个worflow:
CPU每小时运行一次(请参阅documentation
https://stackoverflow.com/questions/51329777
复制相似问题