Skip to main content
compliance · azure

VM scale sets whose autoscale rules can fire again less than 120 seconds after a scale action

resource types
1
rule IDs covered
1
severity
medium

What does ZopNight detect here?

ZopNight flags an Azure virtual machine scale set when the shortest `cooldown` across its autoscale rules is under 120 seconds. A rule that can act again within two minutes of the last scale action tends to flap, adding and removing instances before metrics settle. ZopNight recommends 300 seconds, the `PT5M` value Microsoft's own examples use.

Signal and threshold

How ZopNight evaluates VM scale sets whose autoscale rules can fire again less than 120 seconds after a scale action.
Field Value
Rule IDsRC-ASC-006
Categorycompliance
Severitymedium
Metricautoscale rule cooldown
Threshold< 120 seconds
SourceZopNight
Permissions usedMicrosoft.Compute/virtualMachineScaleSets/read · Microsoft.Insights/AutoscaleSettings/Read

What the cooldown protects against

Each rule in an Azure autoscale setting has a cooldown, an ISO 8601 duration such as PT5M. The autoscale settings reference defines it as the time that must pass after a scale operation before that rule may start another. Autoscale checks each rule’s cooldown independently.

New instances take time to boot, join the load balancer and pull their share of traffic. A cooldown shorter than that lets a rule act on metrics that do not yet reflect its last action. The result is flapping: a series of opposing scale events, instances launched and removed in quick succession, and unstable capacity underneath the application.

Reading the cooldowns on a scale set

Terminal window
az monitor autoscale show --resource-group my-rg --name my-autoscale \
--query "profiles[].rules[].scaleAction.cooldown" -o tsv

Anything shorter than PT2M falls under this rule. az monitor autoscale list --resource-group my-rg finds the setting name if you do not know it.

The 120-second floor

ZopNight reads the autoscale setting attached to the scale set, takes the shortest cooldown across all of its rules, and converts it to seconds. The rule fires when the scale set is provisioned successfully or running and that shortest cooldown is above zero and below 120 seconds. The finding reports the exact value it saw and recommends 300 seconds.

Scale sets that are not flagged

A scale set with no autoscale setting, or whose cooldown could not be read, is skipped; the missing setting is covered by VMSS Autoscale Setting Not Configured. Cooldowns of 120 seconds or more pass. Thresholds that sit too close together are a different flapping cause, reviewed by Scaling Target Too High and Scaling Target Too Low.

Stability first; no saving is priced

ZopNight prices no saving for this finding. Flapping does cost money, in instance time spent booting and draining, but how much depends on your churn and is not estimated. Microsoft notes that autoscale checks for potential flapping only before scale-in, never before scale-out, so a too-short scale-out cooldown gets no platform safety net.

Lengthening the cooldown

  1. Open the scale set’s autoscale setting in the portal, or export its JSON.
  2. Set each rule’s scaleAction.cooldown to PT5M (300 seconds), or longer if instances take more than five minutes to become useful.
  3. Keep scale-out and scale-in rules on the same metric with a margin between thresholds, as Microsoft’s best practices advise.
  4. Watch the setting’s run history and the activity log for Flapping entries over the next few days.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·