The goal of this project is to provide a CLI to supplement the Service Quotas API/CLI, so that hard limits can be checked in an automated manner.
While AWS provides soft limit information through the Service Quotas API, they do not provide information about the hard limits for these quotas. While soft limits are important for making small adjustments, they don't tell you when you are getting close to a critical threshold.
The structure of the data and the provided CLI interface intentionally mimics that of the Service Quotas CLI list-service-quotas command.
The goal (at least initially) is to capture the hard limits for quotas that are adjustable. If a quota is not adjustable, then the hard limit and the default value are the same. This information is already available from the service-quotas API/CLI.
The aws-hard-limits.sh script reads the data from GitHub for a given service code and returns it, optionally filtered by a quota code.
./aws-hard-limits.sh --service-code iam --quota-code L-C07B4B0D
The data returned by the CLI comes directly from GitHub. The structure of the repository is simple. There is one JSON file for each service code:
/aws-services/{service-code}.json
Each JSON file defines an array which includes the ServiceCode, ServiceName, QuotaCode, QuotaName, MaxValue, and Source.
[
{
"ServiceCode": "iam",
"ServiceName": "AWS Identity and Access Management (IAM)",
"QuotaCode": "L-C07B4B0D",
"QuotaName": "Role trust policy length",
"MaxValue": 4096,
"Source": "https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html"
}
]
- Lambda Burst Limit (per account-region) -- 500, 1000, 3000 depending on region.
- EKS max 13,500 nodes per cluster - "We’ve also increased the capacity of groups and their default service quotas, allowing for 30 groups of 450 nodes each." (see here).
- MSK max 3 serverless clusters per account.
Since the data supporting this interface must be manually scraped from various AWS documentation sources, contributions are greatly appreciated. The values may become obsolete without regular updates.
Suggest Googling for "aws" "quota" "up to a maximum"
or some variant thereof. These are not advertised in any consistent manner and sometimes require direct communication with AWS support to discover. That's exactly what this project aims to solve.