Independent marketplace for cloud provider accounts across 22 providers

Cloud Fundamentals

vCPU Limits and Service Quotas: Why Cloud Accounts Have Ceilings

Every cloud account launches with ceilings on vCPUs, API calls and resource counts. This guide explains why they exist, how AWS, Azure, Google Cloud and developer clouds scope them, and how to request an increase through the official process.

Illustration of a cloud account dashboard showing vCPU quota usage against regional ceilings

The message that starts every quota conversation

You size an instance, click launch, and the API refuses. The wording varies by platform, but the meaning is identical: this account is not permitted to run that much of that thing in that place right now. Nothing is broken, nothing is misconfigured, and retrying will not help.

What you have hit is a quota. Every cloud account ships with a set of ceilings, and those ceilings apply per resource type, per location and per account. They are not a bug or a hidden upsell. They are the mechanism that lets a provider hand out a signup form to anyone on the internet while still planning its own capacity.

This guide explains how the ceilings are counted, why vCPU quotas in particular behave oddly, and how to raise one through the proper channel before a launch date rather than during it.

Why the ceilings exist

Three pressures push providers toward default limits. The first is capacity planning: physical servers are ordered months ahead, and unbounded demand in one region would strand customers in another. The second is abuse containment, since a fresh account with unlimited compute is an attractive target for anyone who obtains credentials.

The third pressure protects you. A misconfigured autoscaling policy or a runaway script can create resources faster than a human notices. A low ceiling turns an expensive incident into an annoying one, which is why experienced teams sometimes leave quotas deliberately tight on non-production accounts.

Defaults are not fixed forever. Providers commonly extend them as an account establishes a payment history and a usage pattern, and every platform has a documented request process for asking sooner. That process is the subject of a later section.

Quota, limit and reservation are not synonyms

Three words get used interchangeably in conversation and mean different things in the console.

A quota is a ceiling on how much of a resource an account may hold or how fast it may call an API. Allocation quotas cap a count, such as running vCPUs or the number of VPCs. Rate quotas cap requests over a window, such as API calls per minute, and they are the reason a batch script can fail while nothing is anywhere near a capacity ceiling.

A limit in provider documentation is often a hard architectural boundary that cannot be raised at all, such as the maximum number of network interfaces attachable to a particular instance size. Recognising which of the two you are facing saves a pointless support request.

A reservation is the opposite of a ceiling. It is capacity set aside for you, whether as a capacity reservation on AWS, a capacity reservation on Azure or a reservation in Google Compute Engine. Having quota headroom does not guarantee that the hardware is free at the moment you ask; a reservation is how you remove that risk for critical workloads.

What the number is counted against

The most common misreading of a quota is the scope. Almost nothing is counted globally. On the large platforms, vCPU quotas are tracked per region and frequently per instance family group, so approval for one family gives you nothing for another.

AWS moved EC2 to vCPU-based counting some years ago. Instead of a maximum number of instances, you get a maximum number of running on-demand vCPUs per family group, with standard instances counted separately from accelerated families such as G and P. A quota of sixty-four standard vCPUs will not launch a single GPU instance if the accelerated quota is zero.

PlatformQuota scopeWhere to look
AWSPer account, per region, per instance family groupService Quotas console, or aws service-quotas list-service-quotas --service-code ec2
AzurePer subscription, per region, with a total regional vCPU figure plus per-family figuresQuotas blade, or az vm list-usage --location westeurope --output table
Google CloudPer project, per region, with both allocation and rate quotasIAM and Admin Quotas page, or gcloud compute regions describe europe-west4
Oracle CloudPer tenancy, per region, per availability domain for some shapesLimits, Quotas and Usage page in the tenancy
DigitalOceanPer account or team, expressed as a Droplet and resource countAccount settings, raised through a support request
Hetzner CloudPer project, expressed as a server countProject limits, raised through a support request

Note the last two rows again. The flat account structures described in what a cloud account is also flatten quota management: there is one number for the whole account rather than a matrix of families and regions.

Asking for more, through the front door

Every platform provides an official request path, and using it is ordinary account administration. Give the provider the specifics it needs to say yes: the region, the exact quota, the target value and a one-line description of the workload.

On AWS, inspect the current value and then submit the increase from the same API surface:

aws service-quotas get-service-quota --service-code ec2 --quota-code L-1216C47A --region eu-west-1

aws service-quotas request-service-quota-increase --service-code ec2 --quota-code L-1216C47A --desired-value 128 --region eu-west-1

On Azure, quota increases are raised as a support request of the quota type, and current consumption is confirmed first with az vm list-usage --location northeurope. Google Cloud exposes quota editing in the console under IAM and Admin, with gcloud compute project-info describe --project my-project useful for a quick read of the current picture.

Three habits make approvals faster. Request in the region you will actually use, because approvals do not travel. Request the family you will actually use, particularly for GPU capacity where demand is highest. And submit before the deadline, since review is not instantaneous and specialist hardware requests take longer than standard compute.

Designing so a ceiling is never a surprise

Treat quotas as an input to architecture rather than an afterthought. Before an autoscaling group is defined, check that the maximum size it can reach is actually launchable; a scaling policy that cannot expand during a traffic spike is worse than no policy, because it fails at the worst moment. The mechanics are covered in autoscaling explained.

Monitor utilisation as a percentage of quota, not just as an absolute count. AWS publishes quota utilisation metrics you can alarm on, and Azure and Google Cloud expose equivalent usage figures. An alert at a comfortable fraction of the ceiling gives you weeks of warning instead of minutes.

Split environments deliberately. Because AWS counts per account and Google Cloud counts per project, putting production and load testing in separate containers stops a benchmark from consuming the headroom your customers need. That is one of the arguments for the layout in the multi-account design guide.

Finally, remember that accelerator capacity is its own world. GPU families are scarce, quotas start at zero on many accounts, and regional availability is uneven, all of which is explored in GPU cloud instances explained.

Quota questions worth answering early

Do stopped instances count toward a vCPU quota?

On the major platforms, running on-demand vCPU quotas count instances in the running state, so a stopped machine usually frees the allocation. Other quotas, such as the number of volumes, snapshots or elastic IP addresses you hold, count the object whether or not it is attached to anything.

Why did my request get approved for one region and not another?

Because approvals are regional and capacity differs by site. A busy region with constrained hardware is reviewed more conservatively than one with spare racks. If the workload is portable, asking for a less congested region is often faster than escalating.

Is a rate quota the same problem as a vCPU quota?

No, and confusing them wastes time. A rate quota throttles API calls over a short window and usually shows up as a throttling error during bulk operations. The fix is backoff, batching or a higher request quota, not more compute capacity.

Where are the official references?

AWS documents the model in the Service Quotas user guide, and Google Cloud explains allocation and rate quotas in its quotas overview. For a side-by-side view of how the two largest platforms structure accounts and ceilings, see the AWS and Azure comparison, and the AWS account listings for what a given account provides.

Questions about a cloud account?

Ask about products, variants, availability or purchasing on either channel.