AzureAzure Virtual Machine Scale SetsCompute

azurerm_orchestrated_virtual_machine_scale_set cost estimation

A Flexible-orchestration VM scale set, billed per instance-hour at the VM rate. Two Standard_D2s_v5 instances are ~$140/month, scaling with the instance count.

An azurerm_orchestrated_virtual_machine_scale_set is a scale set using Flexible orchestration mode, which manages a group of VMs while giving more control over individual instances than uniform orchestration. Cost is per instance-hour at the underlying VM rate × the instance count — two Standard_D2s_v5 instances (~$0.096/hour each) is ~$140/month, plus each instance's managed disk.

The cost mechanics are identical to any VM-based fleet: you pay for the instances that run, and the lever is autoscaling versus a fixed count. A scale set pinned at peak pays for peak 24/7; autoscale rules that track demand pay for peak only when it happens. The orchestration mode affects management flexibility, not the per-instance price.

The discount levers are the same as for VMs: Spot instances for fault-tolerant fleets (deep discount, evictable), reservations for the steady baseline count, and right-sizing the VM SKU to the workload. Linux instances avoid the Windows license premium.

c3x prices the scale set from sku_name and instance count, so the fleet cost is visible before deployment.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "azurerm_orchestrated_virtual_machine_scale_set" "workers" {
  name                        = "worker-vmss"
  resource_group_name         = azurerm_resource_group.main.name
  location                    = azurerm_resource_group.main.location
  platform_fault_domain_count = 1
  sku_name                    = "Standard_D2s_v5"
  instances                   = 2

  os_profile {
    linux_configuration {
      admin_username = "azureuser"
      # ... ssh key
    }
  }
  # source_image_reference, network_interface, os_disk ...
}

Pricing dimensions

What you actually pay for when you provision azurerm_orchestrated_virtual_machine_scale_set.

DimensionUnitWhat's being charged
Scale set instancesper instance-hourinstance count × the VM rate, billed continuously. Autoscale varies the count.
$0.096/instance-hour for Standard_D2s_v5 (Linux) → 2 instances ≈ $140.16/month
Managed disksper disk-monthEach instance's OS/data disk bills per tier on top of compute.

Sample C3X output

Two Standard_D2s_v5 Linux instances running 24/7 (compute only):

azurerm_orchestrated_virtual_machine_scale_set.workers
└─ Scale set instances (D2s_v5 × 2)   1460 instance-hours   $140.16
                                      Monthly               $140.16

Optimization tips

Common ways to reduce azurerm_orchestrated_virtual_machine_scale_set cost without changing the workload.

Use autoscale instead of a fixed count

Often 30–50% on variable load

A scale set pinned at peak instance count pays for peak 24/7. Autoscale rules that add/remove instances with demand pay for peak only when it happens — usually the biggest scale-set saving on variable load.

Use Spot instances for fault-tolerant fleets

Up to ~90% on Spot instances

A scale set running Spot priority instances gets a deep discount for stateless, fault-tolerant workloads behind a load balancer. Keep a small regular-priority baseline for guaranteed capacity.

Reserve the baseline count

40–60% on the steady baseline

Cover the instances the fleet always runs with a reservation (1-3 year), and autoscale the variable top end on regular or Spot pricing.

Right-size the VM SKU

Proportional to right-sizing

Match the SKU to the workload's CPU/memory profile, and use Linux to avoid the Windows license premium where the workload allows.

FAQ

How is an Orchestrated VM Scale Set billed?

Per instance-hour at the underlying VM rate × the instance count, plus each instance's managed disk — two Standard_D2s_v5 instances is ~$140/month. The Flexible orchestration mode affects management, not the per-instance price.

How is this different from a uniform scale set?

Flexible (orchestrated) mode gives more control over individual VM instances and mixes instance types more easily; uniform mode optimizes for large identical fleets. Cost mechanics are the same — you pay per instance-hour either way.

How does c3x estimate the cost?

From sku_name and the instance count, pricing instance-hours at the VM rate. Autoscaling means actual cost tracks the running count; the estimate reflects the configured instances.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_orchestrated_virtual_machine_scale_set.