A GPU capacity reservation holds GPU instances of one type in one region or zone for you and costs the on-demand rate for as long as it exists, used or not. It secures capacity, not a lower rate: the discount comes only from commitments applied to the reservation. For scarce GPU types it is often the only way to get the instances on the planned date, and at the same time a charge that keeps running without use.
How it works
GPU capacity is sold as instance hours of GPU families, with a fixed number of GPUs per size. At AWS that ranges from an eighth of an NVIDIA L4 in g6f.large through one L4 in g6.xlarge to eight H100 in p5.48xlarge; at Azure the NC A100 v4 series carries one to four A100. How the families are named is covered in virtual machines and instance families. The types are available only in certain regions and zones: in Frankfurt, Google offers the G2 series in zones europe-west3-a and -b, and A3 High only in europe-west3-c.
AWS
On-Demand Capacity Reservations match instance type, platform, Availability Zone and tenancy. Reservations that start immediately have no term and can be cancelled at any time; for a future-dated reservation you set a commitment duration, cannot lower the quantity during it, and cancelling may incur a charge. Billing is per second, with a 60-second minimum, at the on-demand rate; an instance running in it replaces the reservation charge with its own. Savings Plans and regional Reserved Instances apply to the reservation, zonal Reserved Instances do not, and discounts go to running instances first, then to unused reservation. In the Cost and Usage Report 2.0 used capacity appears as BoxUsage and unused capacity as UnusedBox.
Capacity Blocks for ML reserve GPU instances for 1 to 14 days or a multiple of 7 days up to 182 days, starting up to eight weeks ahead. The price follows supply and demand at purchase and is paid up front; afterwards only operating system charges apply. Savings Plans and Reserved Instances do not apply to them, and AWS starts terminating the instances 30 minutes before the end.
Azure
An on-demand capacity reservation covers one VM size, one region or zone and a quantity, with no term. It costs the pay-as-you-go rate of the VM size, used or not, and Reserved Instances and savings plan apply to used and unused units alike. A VM consumes the reservation only if it names the capacity reservation group in its properties, and a reservation's size and region cannot be changed. Only certain series are supported, among GPUs NC A100 v4, NCasT4_v3 and NV from v3; the ND series, NCads H100 v5 and Spot VMs are not.
Google Cloud
A reservation covers one zone and one machine configuration, including GPU type and count. It costs the on-demand rate with a one-minute minimum for as long as it exists; sustained use and committed use discounts apply as for running VMs, and an option deletes the reservation automatically at a set time. Future reservations reserve up to a year ahead for at least 24 hours; for GPUs, Google asks you to contact your account team or sales first. Once approved, a request can no longer be cancelled from 56 days before its start, and the whole period has to be paid. Resource-based committed use discounts for GPUs require an attached reservation with the same GPUs; the spend-based compute flexible CUDs cover L4 (G2) and G4 GPUs without a reservation, and without assured capacity.
What it means for your cost
Capacity and price are two separate decisions. What each mechanism does:
| Mechanism | Secures capacity | Lowers the rate | Costs when unused |
|---|---|---|---|
| Capacity reservation (AWS, Azure, Google) | yes, in a region or zone | no | yes, at the on-demand rate |
| Future reservation (Google), future-dated reservation (AWS) | yes, from the start date | no | yes, for the committed duration |
| Capacity Block (AWS) | yes, for the booked days | own price, paid up front | yes, already paid |
| Savings Plans, Reserved Instances, CUDs | only zonal RIs at AWS, Google CUDs with a reservation | yes | yes, the commitment |
| Spot capacity | no, interruptible | yes | no |
A reservation pays off when the instances could not be had without it; every unused hour costs the full rate. The discount comes from a commitment bought separately (AWS Savings Plans, AWS Reserved Instances, Azure reservations, Google Cloud committed use discounts); which type fits is compared in cloud commitment discounts compared by type, and how to size them in commitment strategy as a portfolio.
Spot capacity for GPUs is cheaper but interruptible (spot instances, spot VMs and preemptible capacity). For training it needs checkpoints, so a job resumes from its last state; AWS recommends them for SageMaker managed spot training unless the job finishes quickly (cost of AI training, fine-tuning and inference).
Idle capacity shows on the bill: a running GPU instance with no work costs the same as a busy one (on-demand pricing), and unused reservation is a line of its own, UnusedBox at AWS and unused capacity reservation at the VM rate at Azure. Both are idle cost (idle and orphaned resources); how node capacity in Kubernetes is brought closer to what workloads need is covered in Kubernetes efficiency.
Where it goes wrong
- The reservation outlives the project.
UnusedBoxlines or unused reservations run on months after the last training because nobody ended the reservation. At Google, automatic deletion sets the end when the reservation is created. - Reserved in the wrong zone or size. The instances run outside the reservation and are billed on top. The cause: a reservation matches only the same type and zone, and at Azure the VM must also name the reservation group.
- A reservation read as a discount. The bill does not fall after reserving. The cause: the reservation costs the on-demand rate; the discount needs a commitment, and none applies to Capacity Blocks.
- Spot for jobs that cannot resume. Every interruption restarts training from the beginning, and the hours paid until then are lost.
Example
Azure Standard_NC24ads_A100_v4 with one NVIDIA A100, Linux, Germany West Central, from the Azure Retail Prices API on 2026-10-16: pay-as-you-go USD 4.775 per hour, Spot USD 0.88242 per hour. A capacity reservation for R VMs, of which U run, costs U × USD 4.775 for the VMs plus (R − U) × USD 4.775 for the unused reservation, together R × USD 4.775 per hour, regardless of U. Over 730 hours that is USD 3,485.75 per reserved unit, used or not. Only Reserved Instances or a savings plan lower that rate, for used and unused units alike; Spot VMs cannot be reserved at all.
Sources
Read on 2026-10-16. AWS On-Demand Capacity Reservations, Capacity Reservation pricing and billing, Capacity Blocks for ML, how Capacity Blocks work, Capacity Blocks pricing and billing, accelerated computing instances and managed spot training; Microsoft on-demand capacity reservation, NC_A100_v4 series and the Azure Retail Prices API with the query for Standard_NC24ads_A100_v4; Google reservations, future reservations, reservations with commitments and GPU locations.