Service Quotas and Limits¶
7-minute read. Assumes you've read Regions and availability zones.
The one-line answer¶
Every cloud caps how much of each thing an account can use: instances, IP addresses, API calls per second. Hit a cap and creation fails with an error. Most caps can be raised by request, but not instantly, so find out before launch day.
Why limits exist¶
Providers set defaults to stop abuse and accidental over-spend, and to protect shared capacity. AWS calls them quotas, also called limits: "the maximum values for the resources, actions, and items in your AWS account". Each service defines its quotas and sets default values.
π What is Service Quotas? - AWS's central quota service
Two kinds of limit¶
| Kind | Meaning | Example |
|---|---|---|
| Capacity (allocation) | How much you can hold at once | VPCs per Region, IAM roles per account |
| Rate | How fast you can use it | API requests per second |
Google Cloud uses these two names. Its allocation quotas limit how much of a resource you can hold, and you free room by deleting unused resources. Rate quotas limit speed and reset on their own: per-day quotas reset at midnight Pacific Time.
π Cloud Quotas overview - Google Cloud's quota types
Scope matters¶
An AWS quota can apply per account or per Region. The docs give IAM roles per account and VPCs per Region as examples. Raising a quota in one Region does not raise it in another. A global quota applies at account level in all Regions, and you request an increase from a specific Region (US East, N. Virginia in the public partition).
flowchart TB
Acct[Account] --> G[Global quota: IAM roles]
Acct --> R1[Region us-east-1: VPCs]
Acct --> R2[Region eu-west-1: VPCs] Account-wide quotas are counted once; Regional quotas are counted separately in each Region.
AWS terms¶
From the AWS terminology list:
- Default value: the initial value set by AWS.
- Applied quota: the updated value after an increase.
- Adjustable: whether it can be increased at all. Check the Adjustable column in the console.
- Utilization: percent of the quota in use. 150 used of 200 is 75 percent.
Asking for more¶
In the console, pick the service and quota, then choose Request quota increase. AWS says increases take time to review and process, and support may approve, deny or partially approve. You can also use the API or the CLI. This example is from the AWS CLI documentation, where quota L-20F13EBD is "Running Dedicated c5n Hosts" (not run here: it files a real request in a real account):
aws service-quotas request-service-quota-increase \
--service-code ec2 --quota-code L-20F13EBD --desired-value 2
Then check on it with aws service-quotas get-requested-service-quota-change --request-id <id>.
π Service Quotas CLI examples - request and status commands
Google Cloud works similarly: you request a quota adjustment, most requests are evaluated automatically and some go to human review, and a higher quota may cost more. Its quota adjuster can request increases for you as usage nears the limit.
Watching for the wall¶
- View utilization in Service Quotas, once the account has been active for a while.
- Automatic management: AWS says it can monitor usage and notify you before you run out.
- Alarm on it yourself for the quotas your system actually depends on.
A worked example¶
A team plans a launch needing 400 vCPUs in a new Region. The new Region's default quota is below the plan, so the first scale-out fails with a quota error at 2 a.m. The fix is a request filed days earlier. Rule of thumb: before any launch, load test, or Region expansion, list the quotas the plan touches, compare to utilization, and file increases a week ahead. "A week" is a safe habit, not a documented turnaround time.
Common mistakes¶
- Finding quotas during an outage.
- Raising the quota in one Region and forgetting the DR Region. A failover that cannot launch instances is not a failover; see Disaster recovery.
- Confusing quotas with throttling: you may be under the quota and still throttled by a burst.
- Treating a quota as a cost control. It is a safety rail, not a budget.
How exams test it¶
- "Launch fails with a limit error, what do you do?" -> request an increase through Service Quotas.
- "DR region must be able to scale up" -> pre-raise quotas there.
- "Alert before a limit is reached" -> monitor utilization.
Go deeper¶
What to look at next¶
- Disaster recovery - quotas in the standby Region
- Autoscaling explained - scaling stops at the quota
- Cloud cost basics