Amazon Web Services recently announced an enhancement to its CloudWatch monitoring application. Thus far, CloudWatch empowered users to track metrics such as CPU usage and instance requests in both numeric and visual formats. Additionally, CloudWatch provided notifications if a certain metric exceeded a customer-defined threshold. As of January 8, however, CloudWatch enables users to suspend or terminate instances when the system achieves a customer-defined metric. For example, CloudWatch now enables users to suspend or terminate an instance if CPU usage has reached 100% for > 5 minutes, memory usage exceeds a certain number of MB or disk space utilization exceeds a specified percentage. The enhancement enables users to terminate unused instances via a rule that identifies low instance loads over an extended time period, thereby saving money. Similarly, a rule that terminates instances with near 100% CPU usage can be used to suspend instances that appear to have caught themselves in an infinite loop of some kind. Thus far, the CloudWatch enhancement is limited to the Amazon EC2 platform even though CloudWatch’s purview does span EBS, Elastic Load Balancers and the Amazon Relational Database Service.
The graphic below illustrates CloudWatch’s capability to “Stop” or “Terminate” a specific instance given the achievement of a pre-defined rule: