Skip to main content

๐Ÿ›ก๏ธ Azure Virtual Machine Scale Set is underutilized๐ŸŸข

  • Contextual name: ๐Ÿ›ก๏ธ VM Scale Set is underutilized๐ŸŸข
  • ID: /ce/ca/azure/vm-scale-set/scale-set-underutilized
  • Tags:
  • Policy Type: COMPLIANCE_POLICY
  • Policy Categories: COST, PERFORMANCE

Statsโ€‹

not available

Logicโ€‹

Descriptionโ€‹

Open File

Descriptionโ€‹

Identify Azure Virtual Machine Scale Sets that may be over-provisioned. A Scale Set is considered underutilized when it has been provisioned for at least 30 days, has non-zero capacity, and its 30-day average CPU utilization is below 20% while both inbound and outbound network traffic are below 100 MB.

Rationaleโ€‹

Persistent low utilization can indicate that a Scale Set has more instances or a larger VM SKU than its workload requires. Reviewing these Scale Sets can reduce compute costs while preserving the capacity needed for expected demand.

Impactโ€‹

Reducing capacity or changing a VM SKU can affect availability, performance, zone distribution, and autoscale behavior. Review peak demand, scheduled workloads, instance health, upgrade policy, and rollback options before making a change.

Auditโ€‹

This policy marks an Azure Virtual Machine Scale Set as INCOMPLIANT if its Provisioning State is Succeeded, its SKU Capacity is greater than zero, its Time Created is at least 30 days before the evaluation time, and all of the following are true:

... see more

Remediationโ€‹

Open File

Remediationโ€‹

Review Before Rightsizingโ€‹

Confirm 30-day and peak-period demand, autoscale rules, instance health, zone distribution, scheduled jobs, upgrade constraints, and the target capacity. Define a rollback plan before changing a production Scale Set.

Adjust Scale Set Capacityโ€‹

Azure portalโ€‹
  1. Open Virtual machine scale sets and select the Scale Set.
  2. Select Scaling.
  3. For autoscale, adjust the minimum, maximum, default capacity, and scale-in rules. For fixed capacity, reduce the instance count gradually.
  4. Verify application health, availability, and scaling behavior after each change.
Azure CLIโ€‹

For a fixed-capacity Scale Set, set the desired instance count:

az vmss scale \
--resource-group "{{resource-group-name}}" \
--name "{{scale-set-name}}" \
--new-capacity "{{instance-count}}"

Right-Size the VM SKUโ€‹

If instance count is appropriate but capacity remains underused, evaluate a smaller compatible VM SKU in a non-production environment first. Apply the model change through a controlled rollout and confirm that the upgrade policy, image, extensions, disks, and networking remain compatible.

... see more

policy.yamlโ€‹

Open File

Linked Framework Sectionsโ€‹

SectionSub SectionsInternal RulesPoliciesFlagsCompliance
๐Ÿ’ผ Cloudaware Framework โ†’ ๐Ÿ’ผ Resource Right-Sizing20no data
๐Ÿ’ผ Cloudaware Framework โ†’ ๐Ÿ’ผ Workload Efficiency25no data