Cleaning up unused disks, snapshots and IP addresses in Azure

Orphaned resources are the easiest saving in Azure: they do nothing, but they are billed every month. Here is how to find them and clean them up without losing anything you still need.

Published · AzureScan

Unattached managed disks

A managed disk stays when you delete its VM, and a 1 TB Premium SSD costs the same whether it is used or not. In the Azure portal, open Disks and look at the Disk state column: Unattached means the disk isn't connected to any VM.

To find them across all your subscriptions, use Azure Resource Graph Explorer with this query:

resources
| where type =~ 'microsoft.compute/disks'
| where properties.diskState =~ 'Unattached'
| project name, resourceGroup, sku = sku.name, sizeGb = properties.diskSizeGB

Old snapshots

Snapshots are often taken before an update or migration, and then forgotten. Check the creation date under Snapshots. Anything older than your recovery window (often 30 to 90 days) can usually go, unless a legal retention requirement or an ongoing project still needs it.

Public IP addresses that aren't attached

A Standard public IP address is billed per hour, even when it isn't attached to anything. Look under Public IP addresses for addresses with nothing under Associated to. Also watch for addresses still attached to a network interface whose VM was deleted: those are billed just the same.

Cleaning up safely

Curious what your Azure environment could save?

In a no-obligation introduction we look at your situation and show AzureScan in action.

Contact us →