What does this AWS Solution do?
This solution helps you proactively track resource usage and send notifications when you approach quotas. It leverages the AWS Trusted Advisor Service Limits checks and Service Quotas to help you display your usage and quotas for specific AWS services, and centrally manage your quotas.
Track resource usage
Notifications via email or Slack
AWS Solution overview
The diagram below presents the Quota Monitor on AWS architecture flow you can deploy in minutes using the solution's implementation guide and accompanying AWS CloudFormation template.
Quota Monitor on AWS solution architecture
The Quota Monitor on AWS includes a template that you deploy in your primary account. This template launches the following workflow:
- An AWS Lambda function that runs once every 24 hours. The Lambda function refreshes the AWS Trusted Advisor Service Limits checks to retrieve the most current utilization and quota data through API calls. Trusted Advisor calculates usage against the quota 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 quota data for every AWS Region. The function calculates vCPU usage against quotas 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 activate Slack notifications during initial deployment, the solution launches a Lambda function that sends notifications to your existing Slack channel. An AWS Systems Manager Parameter Store is also deployed to provide highly available, secure, durable storage for your Slack WebHook URL which is used to send messages to the Slack channel.
- Amazon SQS receives all the OK, WARN, and ERROR status. The Limit Summarizer Lambda function ingests the messages from the queue and stores them on the Amazon DynamoDB table for historical view of all quota related events in your accounts. The dead-letter queue stores all messages that couldn't be read by the Limit Summarizer function. By default, Amazon SNS and Slack receive only WARN and ERROR status events. However, you can customize the notifications for your specific needs.
The solution also includes a secondary template you can deploy in secondary accounts. For more information, refer to the implementation guide.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Browse our library of AWS Solutions Implementations to get answers to common architectural problems.
Find AWS certified consulting and technology partners to help you get started.
Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.