Back to Blog
FinOps
16 min read

Azure GPU Spot, Mapped: The June 2026 Report

AzureSpot VMsGPUAI InfrastructureFinOps

Azure H100 prices are coming down, not up: this is the cheapest we've seen since we started tracking. But the same H100 still costs $1.51/hour in one region and $8.17 in another. We snapshot spot prices and eviction bands daily across ~1,500 SKU-region combinations. Here is the June cut for the five VMs you'd actually run AI inference on, including the full tables.

Azure sells the same GPU at 20 different prices across 22 regions, 5.4x apart

If you run open-model inference on Azure, spot GPUs are the cheapest way to do it, at up to 82% off on-demand. But "cheapest" is a two-variable problem: the sticker price, and how often Azure takes the machine back. This report covers both, for June 2026, across the five NC-series SKUs that matter for inference: NC40ads and NC80adis (1x and 2x H100) and NC24/48/96ads (1x, 2x and 4x A100). 22-23 deployable regions per SKU, 26 daily snapshots, Linux pricing.

One honesty note before the findings: this monitoring is young. We started daily snapshots in late April 2026, so this is eleven weeks of visibility, and the eviction figures are Azure's own published estimates rather than our measured interruptions. Treat the report as a map from one instrument, not gospel. If your experience in a region differs from what the data shows, we genuinely want to hear it.

Four findings stood out. None of them were what we expected.

1. H100 prices are coming down, not up

The headline first: this is the cheapest H100 hosting we've seen since we started tracking. H100 spot has stepped down month after month across most of the map this quarter. East US went $2.74 → $2.19 → $1.75 → $1.40, half price in ten weeks. Germany West Central and Sweden Central fell every month too. On 1 July Azure cut roughly 20% across most of Europe, Japan, India and East US.

The mechanics surprised us as much as the trend. Most people picture spot as a live, volatile market where prices move minute to minute. It isn't. Every meaningful price move in our data lands on the 1st of the month, in clean notches: a 20% cut here, a 10% rise there. Then the price sits completely flat until the next 1st. Within a month, timing buys you nothing; month to month, the trend has rewarded waiting. (Not universally: canadacentral rose two months running and westeurope rose in May. The trend is broad, not guaranteed.) The lever you control on any given day is where you deploy.

H100 spot prices change once a month and keep falling

2. The same H100 spans 5.4x across regions, and the expensive end is a rip-off

One identical single-H100 VM ranged from $1.51/GPU-hour to $8.17/GPU-hour in June. Same silicon, 5.4x the price.

The discounts come in what looks like a fixed menu, not a continuum. At the good end, a large group of regions all price H100 spot at exactly 81.5% below on-demand. Then the menu steps down through ~74%, ~66%, ~55%, ~42%, ~38%. And at the bottom sit four regions (westus, westus2, eastus2, westeurope) we've started calling the "10% club": spot priced at exactly 10.0% below on-demand. In three of the four you carry heavy eviction risk on top of the nearly-full price. Which tier your region sits in is not knowable from the price page alone; you have to compare against the same region's PAYG rate, which itself varies by region.

3. Cheap regions are not calm regions

This is the trap. Some of the cheap H100 regions were among the least stable:

  • canadacentral sold H100 at ~$1.92/hr while sitting in Azure's 20%+ eviction band in every snapshot we took (a 25.0 mean never leaves that band). centralus rode alongside it at ~$1.95/hr and a 24.7% mean, a hair lower, so it dipped below 20%+ on at least one day.
  • eastus sat in the 15%+ band in 24 of our 26 snapshots at $1.75 (16.9% mean).
  • Meanwhile the actual floor stayed calm: malaysiawest at $1.51 and northeurope at $1.55 barely evicted, and a shelf of mid-priced regions (uksouth, germanywestcentral, southeastasia) sat quiet in the 0-5% band.

June spot price vs eviction band, all 22 regions, four quadrants

Inference tolerates spot better than almost any workload: it's stateless, so a killed box restarts and picks up where it left off in minutes. But there's still a floor below which the interruptions cost more than the discount saves. A cheap region that evicts you daily is more expensive than a calm one that costs a few cents more.

4. The bigger box gets evicted less, at the same per-GPU price

The most practically useful finding in the data. Azure prices NC40ads (1x H100) and NC80adis (2x H100) at exactly the same per-GPU rate in every region: the 2x box is precisely double the 1x. But it is not double the trouble. In the same region, the 2x VM was evicted far less than the 1x:

Region1x H100 eviction2x H100 eviction
Central India22.8%5.4%
Canada Central25.0%9.0%
West US23.9%9.0%
Indonesia Central16.8%2.5%
Central US24.7%13.8%
East US16.9%9.2%

The 2xH100 box is evicted far less than the 1x in the same region

Our working hypothesis: everyone piles into the smallest SKU, so that capacity pool churns hardest. If your model fits across two GPUs, the bigger VM is the same money and a fraction of the interruptions. The same pattern shows in the A100 family in several regions, though less dramatically.

The quiet bargain: A100s

While the H100 map is a minefield, the A100 SKUs were cheap and calm almost everywhere: a $0.82/GPU-hour floor, ~81.5% off on-demand, mostly in the 0-5% eviction band, and the per-GPU price holds nearly flat across the 1x, 2x and 4x sizes. The traps are few but real. eastus2 sat in the 20%+ band effectively all month on the larger sizes (25.0 mean on both the 2x and 4x), with westeurope just behind (24.1-24.4). And swedencentral charged 2.8x the floor ($2.29/GPU-hr vs $0.82 on the 1x A100) while its 4x box still churned at a 17.6% mean, the worst combination of price and instability on the A100 map. But broadly: if A100-class throughput covers your workload (and for most open-weights inference it does), it's the low-drama choice at a fraction of the H100's price.

Honest nulls, caveats, and data hygiene

  • This dataset is young. Daily snapshots began late April 2026. Eleven weeks is enough to see the monthly repricing pattern three times, but not enough to call anything a law. We'll be wrong about something above; the monthly cadence exists partly to find out what.
  • Eviction figures are Azure's own published eviction-rate bands (0-5 / 5-10 / 10-15 / 15-20 / 20+ %, via Resource Graph), averaged over 26 daily snapshots at band midpoints. That's why you see values like 7.5% or 8.1%: they are means of band midpoints, not raw measurements. They are Azure's estimates, not our counted interruptions.
  • Phantom regions exist. northcentralus, koreasouth and uaenorth carry Retail-API prices for the H100 SKUs but are absent from the Resource SKUs region list and never report an eviction band: priced, but not deployable. We exclude them. The two newest regions on the map (malaysiawest, indonesiacentral) have been manually verified as real and deployable.
  • No weekday pattern, no global "crunch day." Eviction pressure is region-local, and H100 pressure actually eased through June (10 regions in the high band down to 6).
  • Allocation success is not covered. "Can you even get one" is a third variable we don't yet capture historically. It's on the roadmap.

The cheat sheet

June cheat sheet

  1. Prices keep falling. H100 spot has stepped down every month this quarter in most regions. East US halved in ten weeks.
  2. $1.51/GPU-hr is the lowest-price H100, at 82% off. Check the eviction band before chasing the price.
  3. $0.82/GPU-hr makes A100s the quiet bargain: ~81% off, mostly 0-5% eviction.
  4. Go bigger for stability. At the same per-GPU price, the 2xH100 box matched or beat the 1x everywhere, and beat it in every contested region.

Appendix: the full June tables

Monthly aggregates per SKU, Linux, sorted by spot price. "Eviction" is the mean band midpoint over 26 June snapshots; "worst" is the worst band observed that month.

NC40ads (1x H100 NVL, 40 vCPU)

RegionSpot $/hrPAYG $/hrDiscountEviction (mean)Worst band
malaysiawest1.518.1781.5%2.5%0-5
northeurope1.558.3881.5%7.5%5-10
indonesiacentral1.618.1780.3%16.8%20+
eastus1.756.9874.9%16.9%15-20
canadacentral1.928.5977.6%25.0%20+
centralus1.958.5977.3%24.7%20+
germanywestcentral2.399.0773.6%2.5%0-5
uksouth2.578.7270.5%2.5%0-5
southeastasia2.859.0768.6%2.5%0-5
australiaeast3.4010.1266.4%4.0%5-10
spaincentral3.509.0761.5%2.5%0-5
swedencentral4.189.0753.9%2.5%0-5
koreacentral4.199.4255.6%2.5%0-5
switzerlandnorth4.239.9857.6%8.1%10-15
westus34.286.9838.7%25.0%20+
southcentralus5.228.3837.7%8.8%10-15
centralindia5.639.7742.4%22.8%20+
japaneast5.8310.1242.4%2.5%0-5
eastus26.286.9810.0%16.9%20+
westus26.286.9810.0%20.4%20+
westus8.179.0710.0%23.9%20+
westeurope8.179.0810.0%10.0%15-20

NC80adis (2x H100 NVL, 80 vCPU)

RegionSpot $/hr$/GPU-hrDiscountEviction (mean)Worst band
malaysiawest3.021.5181.5%2.5%0-5
northeurope3.101.5581.5%3.3%5-10
indonesiacentral3.221.6180.3%2.5%0-5
eastus3.511.7574.9%9.2%10-15
canadacentral3.841.9277.6%9.0%10-15
centralus3.901.9577.3%13.8%15-20
germanywestcentral4.792.3973.6%2.5%0-5
uksouth5.152.5770.5%2.5%0-5
southeastasia5.702.8568.6%2.5%0-5
australiaeast6.813.4066.4%2.5%0-5
spaincentral6.993.5061.5%2.5%0-5
swedencentral8.364.1853.9%2.5%0-5
koreacentral8.374.1955.6%2.5%0-5
switzerlandnorth8.474.2357.6%2.5%0-5
westus38.564.2838.7%17.6%20+
southcentralus10.455.2237.7%4.8%5-10
centralindia11.265.6342.4%5.4%15-20
japaneast11.665.8342.4%2.5%0-5
eastus212.566.2810.0%9.4%10-15
westus212.566.2810.0%13.5%20+
westus16.338.1710.0%9.0%10-15
westeurope16.348.1710.0%2.5%0-5

NC24ads (1x A100 80GB, 24 vCPU)

RegionSpot $/hrPAYG $/hrDiscountEviction (mean)Worst band
northeurope0.824.4181.5%11.0%10-15
southcentralus0.824.4181.5%2.5%0-5
eastus0.823.6777.6%5.0%5-10
centralus0.844.1579.7%2.5%0-5
francecentral0.854.5981.5%2.5%0-5
germanywestcentral0.884.7881.5%2.5%0-5
italynorth0.884.7881.5%2.5%0-5
polandcentral0.884.7881.5%4.8%5-10
southeastasia0.884.7881.5%2.5%0-5
westus0.884.7881.5%2.5%0-5
koreacentral0.924.9681.5%2.5%0-5
uksouth0.944.5979.6%2.5%0-5
eastus20.953.6774.2%7.5%5-10
centralindia0.955.1481.5%6.0%5-10
switzerlandnorth0.975.2581.5%2.5%0-5
australiaeast0.985.3381.5%2.5%0-5
japaneast0.985.3381.5%2.5%0-5
westus21.043.6771.7%2.5%0-5
canadacentral1.084.4175.4%2.5%0-5
westus31.143.6769.0%3.1%5-10
brazilsouth1.367.3581.5%2.5%0-5
westeurope1.714.7864.1%6.2%5-10
swedencentral2.294.7852.1%6.0%5-10

NC48ads (2x A100 80GB, 48 vCPU)

RegionSpot $/hr$/GPU-hrDiscountEviction (mean)Worst band
northeurope1.630.8281.5%n/an/a
southcentralus1.630.8281.5%n/an/a
eastus1.640.8277.6%11.7%10-15
centralus1.690.8479.7%2.5%0-5
francecentral1.700.8581.5%2.5%0-5
germanywestcentral1.770.8881.5%2.5%0-5
italynorth1.770.8881.5%8.8%10-15
polandcentral1.770.8881.5%2.5%0-5
southeastasia1.770.8881.5%2.7%5-10
westus1.770.8881.5%8.1%10-15
koreacentral1.830.9281.5%n/an/a
uksouth1.870.9479.6%2.7%5-10
eastus21.900.9574.2%25.0%20+
centralindia1.900.9581.5%10.8%20+
switzerlandnorth1.940.9781.5%2.5%0-5
australiaeast1.970.9881.5%2.5%0-5
japaneast1.970.9881.5%3.3%5-10
westus22.081.0471.7%12.9%15-20
canadacentral2.171.0875.4%2.5%0-5
westus32.281.1469.0%11.9%10-15
brazilsouth2.721.3681.5%3.1%5-10
westeurope3.431.7164.1%24.1%20+
swedencentral4.582.2952.1%2.5%0-5

NC96ads (4x A100 80GB, 96 vCPU)

RegionSpot $/hr$/GPU-hrDiscountEviction (mean)
northeurope3.260.8281.5%8.5%
southcentralus3.260.8281.5%6.5%
eastus3.290.8277.6%8.8%
centralus3.380.8479.7%11.7%
francecentral3.390.8581.5%2.5%
germanywestcentral3.530.8881.5%2.5%
italynorth3.530.8881.5%2.5%
polandcentral3.530.8881.5%2.7%
southeastasia3.530.8881.5%7.9%
westus3.530.8881.5%2.5%
koreacentral3.670.9281.5%2.5%
uksouth3.750.9479.6%2.5%
eastus23.800.9574.2%25.0%
centralindia3.800.9581.5%11.2%
switzerlandnorth3.880.9781.5%2.5%
australiaeast3.940.9881.5%2.5%
japaneast3.940.9881.5%3.3%
westus24.161.0471.7%9.4%
canadacentral4.341.0875.4%9.2%
westus34.551.1469.0%17.3%
brazilsouth5.431.3681.5%2.5%
westeurope6.861.7164.1%24.4%
swedencentral9.152.2952.1%17.6%

Method

Prices come from the Azure Retail Prices API (Linux, Spot consumption meters), snapshotted daily since late April. The June value shown is the month's modal price; prices were flat within June for all five SKUs, so mode, median and mean coincide. Discount is calculated against the same region's PAYG price from the same API. Eviction comes from Azure's published eviction-rate band via Resource Graph, aggregated over 26 daily June snapshots at band midpoints (1, 7, 9 and 14 June were missed). Some SKU-region pairs never report a band at all (shown n/a in the tables): they are priced and deployable, but Azure publishes no eviction estimate for them. Regions priced in the API but absent from the Resource SKUs list are excluded entirely as non-deployable.

Why this is a monthly report

On 1 July, Azure repriced again, so June's map is already stale. That's the nature of the thing: the right place to deploy moves every month.

This is 5 of the ~1,500 SKUs we track daily. The full June tables and the live spot map cover every SKU and region we watch, and the July repricing lands there the moment it does.

Want spot prices and recorded eviction history for any Azure SKU, no sign-up? Try the Caleta spot pricing tool. Optimising a bigger Azure GPU bill? Run a free Cost Review.

How mature is your cloud cost management?

Take our free 2-minute FinOps maturity test and get a personalised improvement roadmap.