AWS Limit Monitor
Limits can be frustrating and now and then we encounter them in life. Be it Speed Limit or Credit Card spending limit. Well you may not do much with them but you can obviously track your AWS usages limits programmatically and get prepare yourself well in advance.
In this article we will talk about an end to end AWS Solution which will help you manage your AWS resource limits across accounts with notifications over email or in a Slack channel.
What does this AWS Solutions Implementation do?
The AWS Limit Monitor solution automatically provisions the services necessary to proactively track resource usage and send notifications as you approach limits. The solution is easy to deploy and leverages the AWS Trusted Advisor Service Limits checks and Service Quotas to help you display your usage and limits for specific AWS services, and centrally manage your limits.
With AWS Limit Monitor, you can receive notifications over email or in a Slack channel, enabling you to request limit increases or shut down resources before the limit is reached.
AWS Solutions Implementation overview
AWS offers a solution that automatically checks service usage against limits and sends an email or Slack notification when usage approaches a service limit. The diagram below presents the AWS Limit Monitor architecture you can deploy in minutes using the solution's implementation guide and accompanying AWS CloudFormation template.
AWS Limit Monitor architecture
This solution uses AWS Lambda to automatically refresh the AWS Trusted Advisor Service Limits checks to retrieve the most current utilization and limit data through API calls. Trusted Advisor calculates usage against the limit to determine whether the
- Status is OK (less than 80% utilization),
- WARN (between 80% and 99% utilization), or
- ERROR (100% utilization).
If you opt in to monitor Amazon Elastic Compute Cloud (Amazon EC2) virtual central processing unit-based (vCPU-based) limits, the template launches another Lambda function that runs every five minutes. The function checks Service Quotas to retrieve vCPU usage and limit data for every AWS Region. The function calculates vCPU usage against limits to determine whether the status is OK (less than 80% utilization), WARN (between 80% and 99% utilization), or ERROR (100% utilization).
Amazon CloudWatch Events captures the status events from Trusted Advisor and the vCPU monitoring Lambda function, and uses a set of CloudWatch Events rules to send the status events to all the targets you choose during initial deployment of the solution: an Amazon Simple Queue Service (Amazon SQS) queue, an Amazon Simple Notification Service (Amazon SNS) topic (optional), or a Lambda function for Slack notifications (optional). If you enable Slack notifications during initial deployment, the solution will launch a Lambda function that sends notifications to your existing Slack channel.
Deployment resources
Estimated deployment time: 5 min
AWS Solutions Implementation resources ?
AWS Limit Monitor & Service Quotas ?