AWS `InsufficientInstanceCapacity`: What It Means and How to Fix It

InsufficientInstanceCapacity is AWS running out of physical capacity for that instance type in that availability zone — not a quota problem. It comes from EC2, and the message reads:

We currently do not have sufficient capacity in the Availability Zone you requested.

If you are here mid-incident, skip to how to tell which cause you have — the command there narrows it down faster than reading the list.

Quick reference

Error InsufficientInstanceCapacity
Service EC2
Message We currently do not have sufficient capacity in the Availability Zone you requested.
Most common cause One AZ is genuinely full for that type

What it actually means

This is a genuine capacity shortage in one availability zone for one instance type at one moment. It is not your account quota, it is not a permissions problem, and there is nothing to request an increase for.

It is more common with newer instance families, GPU and accelerated types, very large sizes, and older generations being wound down. It is also transient — the same request often succeeds minutes later.

Note the distinction from VcpuLimitExceeded, which is a quota and which you can raise. If the error mentions capacity, no amount of quota will help.

Why it happens

Ranked by how often each one turns out to be the answer.

# Cause Fix
1 One AZ is genuinely full for that type Retry in a different availability zone. This is the fastest fix and the reason to specify a subnet list rather than a single subnet.
2 The instance type is scarce in that region GPU types especially. Consider a different size in the same family, or a different family with comparable specs.
3 A stopped instance cannot restart Starting a stopped instance requires capacity for it at that moment, in its original AZ. There is no reservation held while it is stopped — a fact that surprises people who assume a stopped instance keeps its slot.
4 Spot capacity is exhausted Spot has its own capacity pools. Broaden the instance types and AZs in the fleet request rather than pinning one type.

How to tell which one you have

# Which AZs offer this instance type at all?
aws ec2 describe-instance-type-offerings \
  --location-type availability-zone \
  --filters Name=instance-type,Values=m6i.4xlarge \
  --query 'InstanceTypeOfferings[].Location' --output text

# Spot placement scores rank where capacity is most likely to exist.
aws ec2 get-spot-placement-scores \
  --instance-types m6i.4xlarge --target-capacity 10 \
  --region-names eu-west-1

Preventing it

Be flexible about instance type and availability zone. An Auto Scaling group with a mixed instances policy listing six comparable types across three AZs will almost never see this error, while one pinned to m6i.4xlarge in eu-west-1a will see it regularly.

For workloads that genuinely cannot be flexible — a licensed database, a GPU training job — use an On-Demand Capacity Reservation. It holds capacity in a specific AZ for a specific type and bills whether or not you use it, which is the trade you are making.

For batch work, retry with backoff across AZs rather than failing the job.


Quota codes, limits and behaviour on this page were last checked against AWS documentation on 2026-08-22. AWS changes these; if something here does not match what you are seeing, trust the console and tell us.