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.
| Dimension | Unit | What's being charged |
|---|---|---|
| Scale set instances | per instance-hour | instance 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 disks | per disk-month | Each 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.16Optimization 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 loadA 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 instancesA 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 baselineCover 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-sizingMatch 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.