SkuNotAvailable

Azure SkuNotAvailable Error: Fix Disabled VM Size Deployments

Azure rejects VM deployments when the chosen size is disabled in your region/subscription. Here's how to find an available size and redeploy fast.

Quick Answer

Run az vm list-skus --location --size --output table to see if your desired size shows 'NotAvailableForSubscription'. If it does, switch to a different size or request quota increase via Azure portal.

Why This Happens

The SkuNotAvailable error is Azure's way of saying the VM size you picked isn't currently available for your subscription in that region. This isn't a temporary glitch—it's a hard restriction. The culprit here is almost always one of three things:

  • The size is retired or not yet offered in that region.
  • Your subscription lacks the necessary quota for that size family.
  • Azure has temporarily disabled the size for new deployments in that region due to capacity constraints.

I've seen this with older sizes like D1_v2 or when trying to deploy GPU instances in smaller regions. It's especially common if you're using a free trial or a subscription with default quota limits.

Fix Steps

  1. Identify the exact error. When your deployment fails, note the region and VM size from the error message. The portal usually shows something like 'The provided VM size Standard_D2s_v3 is not available for subscription in region eastus.'
  2. Check available SKUs. Run this Azure CLI command to see the status for your size:
az vm list-skus --location eastus --size Standard_D2s_v3 --output table

# Output will show:
# ResourceType    Locations    Name              Zones    Restrictions
# virtualMachines eastus       Standard_D2s_v3   1,2,3    NotAvailableForSubscription

If you see NotAvailableForSubscription in the Restrictions column, that size is off-limits for you. If it says None, you're good—the problem might be something else.

  1. Pick a different size. The fastest fix is to choose another size in the same family. For example, if Standard_D2s_v3 is blocked, try Standard_D2as_v4 or Standard_D2s_v4. Run the list command without the size filter to see what's actually available.
az vm list-skus --location eastus --resource-type virtualMachines --output table | grep -v 'NotAvailableForSubscription'
  1. Redeploy with the new size. In the portal, go to your virtual machine creation blade, select the new size, and complete the deployment. Or update your ARM template or Terraform file if you're using IaC.

If That Doesn't Work

Sometimes no alternative size fits your needs—maybe you need that exact GPU or memory spec. Here's what to do:

  • Request a quota increase. Go to Help + support in the Azure portal, create a new support request, select 'Quota' as the issue type, and choose the appropriate quota (e.g., 'Standard Dv3/v4 family vCPUs'). Explain that you need the size for a production workload. Approval usually takes a day or two.
  • Try a different region. If the size is available in a nearby region, spin up the VM there. Use az vm list-skus --location westus2 --size Standard_D2s_v3 to check. You'll need to update your VNet and other resources, but it's a solid fallback.
  • Check for regional capacity issues. Occasionally, a size is temporarily unavailable due to capacity pressure. Re-check after a few hours. I've seen this with new generations right after launch.

Prevention Tips

To avoid this headache in the future, do these three things:

  • Verify SKU availability before writing templates. Always run the list-skus command for your target region before committing to a VM size in your code.
  • Use Azure Policy to enforce available SKUs. You can create a policy that denies deployments with unapproved VM sizes. This catches mistakes before they hit production.
  • Monitor quota regularly. Your quota isn't static—it changes with your subscription usage. Keep an eye on it in the portal under Usage + quotas.

Remember, SkuNotAvailable is a permanent reject when the size is disabled for your subscription. Don't waste time retrying the same deployment. Move to a different size or request a quota bump. That's the practical path.

Related Errors in Server & Cloud
0X0000041B Fix 0x0000041B: Stop a Service with Dependencies Running 0XC00002C1 Active Directory admin limit hit (0XC00002C1) on Windows Server 0X0000043C Fixing ERROR_NOT_SAFEBOOT_SERVICE (0x0000043C) in Safe Mode 0XC002001F RPC 0XC002001F: Fix Transfer Syntax Error Fast

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.