Skip to main content
emnode
Cost

Buy Azure Managed Disk reserved capacity

One cost capability: commit to the Premium SSD disks you already run around the clock and pay a one-year reserved rate instead of pay-as-you-go, without touching a single disk or workload.

14 min·10 sections·AZURE

Last reviewed

Managed Disk reservations: the basics

What does Azure Advisor mean by 'consider Azure Managed Disk reserved instance to save over the on-demand costs'?

Premium SSD managed disks are billed by the SKU you provision, P30, P40, P50 and up, and a disk that is attached to a running production VM is charged every hour whether or not the workload is busy. Most of that footprint is steady: the operating-system disk and data disks under a database, an app tier or a file server sit there month after month at the same SKU. Azure Disk Storage reservations let you commit to a fixed number of disks of a given SKU, in a given region, for a one-year term, and pay a lower reserved rate for that steady baseline instead of the pay-as-you-go rate.

Azure Advisor surfaces this as a cost recommendation: 'Consider Azure Managed Disk reserved instance to save over the on-demand costs' (recommendation ID 0eb54047-acd9-4f26-8ffb-8cec713782d6). Advisor looks at your recent Premium SSD usage, works out how many disks of each qualifying SKU you run consistently, and recommends a reservation quantity that the steady usage would absorb. It is the disk-storage sibling of the much better-known reserved VM instance recommendation, and Microsoft's own guidance is to evaluate the two together because a VM and its disks are usually provisioned as a unit.

The important property of a disk reservation is that it is a billing construct, not a deployment change. You do not migrate, resize or re-attach anything. The reservation discount is applied automatically to any matching disk in the reservation's scope, hour by hour, so the disks keep running exactly as they are and only the rate on the bill changes. That is what makes this a near risk-free saving for the part of your disk estate that genuinely runs all year.

In this lesson you will learn what Azure Managed Disk reserved capacity actually commits you to, how to read the Advisor recommendation behind it, how to size the right reservation from your real Premium SSD usage, and how to price and buy it from the az CLI or a controlled template without touching a single workload. By the end you will be able to separate the steady disk baseline that should be reserved from the variable usage that should stay on pay-as-you-go.

Fun fact

The reservation hiding behind the VM discount

Reserved VM instances get almost all the attention in Azure cost optimisation, and teams that have already bought VM reservations often assume the storage under those same machines is somehow covered too. It is not. The disks are billed separately, and the reservation that covers them is a different product you have to buy on its own. Microsoft's own purchase guidance spells this out: evaluate the disk reservation alongside the VM reservation, because a server with, say, two P40 data disks and a P30 operating-system disk has a storage baseline as predictable as the compute, and reserving only the compute leaves the steady disk spend at full pay-as-you-go rates.

Sizing a disk reservation from real usage

Priya runs the platform team at a company whose core product sits on a fleet of always-on VMs, each with Premium SSD operating-system and data disks. Finance has flagged the Azure Advisor recommendation to consider managed disk reserved capacity, and the question on the table is how many disks of which SKU to commit to.

Rather than trust the recommended number blindly, Priya starts by counting the qualifying Premium SSD disks the estate actually runs, broken down by SKU, so the reservation is sized to the steady baseline and not to a usage spike that might not last the year.

Count the Premium SSD disks you run by SKU. Only P30 and larger qualify for a reservation, so these are the candidates.

$ az disk list --query "[?sku.name=='Premium_LRS'].{name:name, size:sku.tier, sku:diskSizeGB}" -o table | sort
Name Sku Size
------------------- ----- -----
# 42 Premium SSD disks, of which 30 are P30 (1024 GiB) attached to always-on VMs
P30 disks running 24x7: 30 <- safe to reserve
P30 disks on burst/test VMs: 12 <- leave on pay-as-you-go
# Reserve the 30 steady disks; the 12 variable ones stay on-demand.

Reserve only the disks you are confident will run for the whole year. The steady baseline is the safe commitment; variable usage should stay on pay-as-you-go so you never pay for an idle reserved hour.

How a managed disk reservation actually appliesdeep dive

A disk reservation is purchased per disk SKU, per region, for a one-year term, and it is matched to usage rather than assigned to specific disks. Azure documents that the discount is a use-it-or-lose-it benefit applied hourly: in any given hour, the reserved quantity is applied to that many matching disks in the reservation's scope, and any reserved quantity you do not use that hour is lost and does not carry forward. Reserve 30 P30 disks and run 30 or more matching P30 disks every hour and the commitment is fully absorbed; run only 28 in some hour and you have paid for 2 reserved disk-hours you did not use.

Matching is strict on SKU. A reservation is bought for a specific Premium SSD SKU and only covers that SKU: a P40 reservation does not pay for two P30 disks, and a P30 reservation does not cover a P20 or anything smaller. Only Premium SSD SKUs of P30 and larger, P30 through P80, are eligible, and they are eligible for a one-year term. The reservation does not cover unmanaged disks, Ultra Disks, Premium SSD v2, Standard SSD or HDD, page blobs, or disk snapshots, all of which keep billing at their normal rates.

Two billing details matter when you model this. First, a stopped-but-allocated VM still has its disks provisioned, so those disks keep billing and keep consuming reservation hours; only deallocating or deleting frees them. Second, the reservation's scope, shared across the billing context, a management group, a single subscription or a single resource group, decides which disks the discount can match. A wider scope means the reserved hours are more likely to be absorbed somewhere even as individual disks come and go, which protects the saving.

What is the impact of leaving the disk baseline on pay-as-you-go?

The direct impact is simply paying more than you need to for storage you were always going to run. Every Premium SSD P30-or-larger disk that sits under an always-on workload at the pay-as-you-go rate, when its usage is steady enough to reserve, is leaking the reservation discount every hour. Across a fleet of always-on VMs each carrying several large data disks, that gap compounds into a material line on the annual bill.

The second-order impact is an incomplete optimisation story. Teams that have bought reserved VM instances but not disk reservations have optimised the compute and left the storage under it at full rate, which is exactly the gap Microsoft's purchase guidance warns about. The disk baseline is as predictable as the compute baseline; treating only one of them as committable leaves an obvious saving on the table and makes the cost programme look more complete than it is.

The trade-off to respect is the commitment itself. A reservation is a one-year obligation, and reserved hours you do not use are lost. The impact of over-reserving, committing to more disks than you keep running, is paying for idle reserved capacity, which can quietly erode or erase the saving. The discipline that makes this recommendation safe is sizing to the steady floor and leaving the variable usage on pay-as-you-go, so the commitment is absorbed every hour.

How do you buy a disk reservation safely?

Work this as a sizing exercise first and a purchase second. The order matters: size to the steady baseline and price the commitment before you buy, so you commit only to disks you are sure you will run all year.

1. Inventory qualifying disks by SKU

List your Premium SSD disks and group them by SKU. Only P30 and larger qualify, so the candidates are your P30 through P80 disks. Separate the disks attached to always-on production workloads from those on burst, test or short-lived machines. The steady set is what you can reserve; the rest stays on pay-as-you-go.

2. Confirm the steady baseline against Advisor

Compare your own count of always-on disks against the quantity Azure Advisor recommends. Advisor sizes from recent usage, so treat its number as a starting point and adjust down to the disks you are genuinely confident will run for the full one-year term. When in doubt, reserve fewer disks: the cost of under-reserving is a smaller saving, while the cost of over-reserving is paying for idle reserved hours.

3. Price the commitment before buying

Run the reservation calculate step for the SKU, region and quantity you have settled on. This returns the committed one-year cost, payable upfront or monthly, and the discount over pay-as-you-go. Compare the annual reserved cost against twelve months of the current on-demand run rate for those disks. Decide the scope, shared, management group, single subscription or single resource group, that gives the reserved hours the best chance of always matching a running disk.

4. Buy through a controlled, reviewed purchase

Purchasing requires the Owner or Reservation purchaser role, so make it a deliberate, reviewed action rather than an unmanaged portal click. Buy via the az CLI or a template so the SKU, region, quantity, term and scope are explicit and auditable. After purchase the discount applies automatically to matching disks; set a reminder before the one-year expiry, because reservations do not renew automatically.

# 1. List the available managed disk reservation SKUs in your region.
az reservations catalog show \
  --subscription-id "<subscription-id>" \
  --reserved-resource-type ManagedDisk \
  --location westus2 -o table

# 2. Price the commitment BEFORE buying: 30 P30 disks, one year, shared scope.
#    This returns the committed cost and the discount over pay-as-you-go.
az reservations reservation-order calculate \
  --reserved-resource-type ManagedDisk \
  --sku Premium_LRS_P30 \
  --location westus2 \
  --term P1Y \
  --billing-plan Monthly \
  --applied-scope-type Shared \
  --billing-scope "<subscription-id>" \
  --quantity 30 \
  --display-name disk-p30-westus2

# 3. Purchase once the price is approved. reservation-order-id is a NEW GUID
#    you generate for this order (e.g. uuidgen).
az reservations reservation-order purchase \
  --reservation-order-id "$(uuidgen)" \
  --reserved-resource-type ManagedDisk \
  --sku Premium_LRS_P30 \
  --location westus2 \
  --term P1Y \
  --billing-plan Monthly \
  --applied-scope-type Shared \
  --billing-scope "<subscription-id>" \
  --quantity 30 \
  --display-name disk-p30-westus2

Quick quiz

Question 1 of 5

Azure Advisor recommends 'Consider Azure Managed Disk reserved instance to save over the on-demand costs'. What does buying that reservation actually change?

You can now treat the steady part of your Premium SSD estate as a committable cost rather than an hourly rent: inventory the qualifying P30-and-larger disks by SKU, separate the always-on baseline from the variable usage, price a one-year reservation for the steady set with the calculate step, and buy it through a controlled, role-gated purchase. Nothing about the disks changes; only the rate on the bill does, and the discount applies automatically to matching disks.

Back to the library