Introduction

Azure virtual machine resize fails when target size is unavailable in current region or quota exceeded. This guide provides step-by-step diagnosis and resolution.

Symptoms

Typical error output:

bash
Error: Operation 'VMResize' failed
The requested VM size 'Standard_D8s_v5' is not available in the current region 'eastus'
QuotaExceeded: Current quota limit for 'standardDSv5Family' is 0

Common Causes

  1. 1.Target VM size not available in current region
  2. 2.Subscription quota limit reached for VM family
  3. 3.VM currently running prevents resize to smaller size
  4. 4.Proximity placement group constraints

Step-by-Step Fix

Step 1: Check Current State

bash
az vm list-skus --location eastus --size Standard_D8s_v5
az vm show --resource-group MyRG --name MyVM --query hardwareProfile.vmSize
az quota show --scope /subscriptions/<sub-id> --resource-name standardDSv5Family

Step 2: Identify Root Cause

bash
az monitor activity-log list --resource-group MyRG --status Failed

Step 3: Apply Primary Fix

```bash # Resize VM to available size az vm resize --resource-group MyRG --name MyVM --size Standard_D4s_v5

# Request quota increase if needed az quota request create --scope /subscriptions/<sub-id> --resource-name standardDSv5Family --limit 20 ```

Step 4: Apply Alternative Fix

```bash # Alternative fix: Check configuration az resource show --resource-group MyRG --name MyResource -o yaml

# Update specific properties az resource update --resource-group MyRG --name MyResource --set properties.<key>=<value>

# Verify the fix az resource show --resource-group MyRG --name MyResource --query properties.<key> ```

Step 5: Verify the Fix

bash
az vm show --resource-group MyRG --name MyVM --query hardwareProfile.vmSize
az vm get-instance-view --resource-group MyRG --name MyVM --query statuses

Common Pitfalls

  • Forgetting to check quota limits before resize operations
  • Not waiting for async operations to complete before next step
  • Missing RBAC permissions for Azure resource operations
  • Confusing subscription-level and resource-level quotas

Best Practices

  • Always check quota before provisioning new resources
  • Use Azure Resource Health for monitoring
  • Implement proper error handling in Azure CLI scripts
  • Enable diagnostic settings for all critical resources
  • Azure Subscription Quota Exceeded
  • Azure Resource Deployment Failed
  • Azure Network Connectivity Issues
  • Azure RBAC Permission Denied