Docs/Zombie Resources

How to

Zombie Resources

Find and eliminate idle, orphaned, and abandoned cloud resources that drain budget without providing value.

Back to How To Guides

What Are Zombie Resources?

Zombie resources are cloud infrastructure that is actively incurring charges but delivering little or no value. They appear in four main patterns:

  • Resources that were provisioned for a project and forgotten after the project ended.
  • Resources that are technically "running" but serve no workload (idle databases, empty volumes, unused IPs).
  • Snapshots and AMIs created for backups that are now stale (no associated instances, very old).
  • Services that were replaced by something else but never decommissioned.

Zombie resources are one of the highest-ROI cleanup activities in cloud cost management. Because they provide no value, eliminating them has zero operational risk when done correctly.

How Detection Works

TurboFinOps detects zombie resources through two mechanisms:

Detection-based findings

Six FinOps detections generate savings signals for specific zombie patterns. These appear in Today and Savings with estimated monthly impact, owner context and action entry points.

Ghost cleanup detection

Resources with age -0- 90 days or last-pull age -0- 90 days (snapshots, AMIs, images) are surfaced as ghost cleanup candidates -- a separate table from rule-based findings.

Resource Categories

CategoryWhat it detects
Unattached StorageEBS volumes, Azure Managed Disks, GCP Persistent Disks not attached to any running instance
Idle DatabaseRDS, Azure SQL, Cloud SQL instances with very low or zero connection activity
Unused Public IPElastic IPs (AWS), Azure Public IPs, GCP External IPs not associated with a running resource
Idle Load BalancerALB/NLB/ELB, Azure LBs, GCP Load Balancers with near-zero traffic
Stale SnapshotEBS snapshots, Azure snapshots older than the configured retention policy
Low-Execution ServerlessLambda, Azure Functions, Cloud Functions with zero or minimal invocations over the scan period

Cleaning Up

For each zombie finding:

  1. 1Open the opportunity from Dashboard - Today, Dashboard - Savings, or Dashboard - Zombie Resources.
  2. 2Review the resource details: name, region, age, estimated monthly cost.
  3. 3Verify the resource is truly unused -- check with the owner tag (if present) or your team.
  4. 4Click "Create Action" to initiate a governed savings workflow.
  5. 5The action goes through conflict detection -- if the resource has an IaC ownership tag (e.g. managed-by: terraform), the conflict guard will flag it. Do not delete IaC-managed resources through TurboFinOps -- modify the IaC instead.
  6. 6For resources without IaC protection, approve and execute the action.
  7. 7The action produces an audit log entry and feeds the savings receipt verification pipeline.

Before deleting: the safety checklist

  • -a-Does the resource have an owner tag? Contact the owner before deleting.
  • -a-Is it tagged managed-by: terraform or similar? Delete via IaC, not TurboFinOps.
  • -a-Is there data that might be needed? Create a final snapshot before deletion.
  • -a-Is it in a production account? Extra caution applies -- prefer suggest mode and manual review.

Ghost Cleanup (Snapshots & Images)

The Ghost Cleanup section on the Zombie Resources dashboard specifically targets snapshots and machine images (AMIs, Azure Images, GCP Snapshots) that are old and disconnected from any active resource.

A resource is classified as a ghost cleanup candidate if:

  • The resource age is -0- 90 days, OR
  • The last-pull/last-used date is -0- 90 days ago

These resources incur storage costs but have likely outlived their usefulness. Review the table, confirm with resource owners, and clean up via the action engine or directly in your cloud provider console.

Get started

Find recoverable spend before the next invoice lands.

Connect one AWS, Azure or GCP scope, approve the safest savings actions, and give finance a receipt when the savings verify.

Read-only scan first. Approval gates before remediation.