Idle Resource Detection Backed by Measured Evidence
An idle resource is still switched on and still billing, but nothing is using it. The trick is proving “nothing”.
What idle looks like in practice
Idle rules read the signal that matters for each resource type, not a generic CPU threshold. From the catalog:
- Idle NAT Gateway and Idle Load Balancer on AWS, Idle Azure NAT Gateway, Azure Load Balancer with No Backends, GCP Idle Global Load Balancer
- Idle RDS Instance, No Connections, Idle Aurora Cluster, No Connections, Idle Azure SQL Managed Instance, GCP Cloud Spanner Instance Idle
- Idle SQS Queue, No Messages Sent, Azure Event Hub Idle, Azure Service Bus Idle
- Idle Azure App Service Plan, Idle Azure Container App, GCP Cloud Run Service With Idle Min Instances
- Idle SageMaker Endpoint, No Invocations and Bedrock Provisioned Throughput Idle for AI hosting
One rule is worth reading closely. Idle EC2 Instance does not fire on a running server: it fires on an instance that has been stopped for 30 days or more, and prices only what still bills, the attached EBS volumes and any Elastic IP. The compute is already saved; the leftovers are not.
The evidence behind a finding
ZopNight collects per-resource metrics from CloudWatch, Cloud Monitoring and Azure Monitor, and control-plane activity from CloudTrail, Cloud Logging and the Azure Activity Log. Together they show what a resource has been doing, not just how busy its CPU was. Findings based on metrics that have gone stale are withheld rather than shown with old data.
Each finding also shows who created and last changed the resource, derived from those activity logs, with a marker for whether that person is still in your cloud directory. A resource whose creator has left is a different conversation from one owned by an active team.
The right lever, not a stop button
An idle finding never defaults to a one-time shutdown. Compute that is idle on a pattern gets a recurring schedule; a queue, gateway or endpoint that is simply unused gets a delete unused recommendation; a pausable service gets a pause window. Where no lever can be stated honestly, the recommendation explains the situation in prose instead of printing a wrong verb, such as “stop” on a registry that cannot be stopped.
Related pages: idle recommendations by cloud, orphan cleanup for resources that are detached rather than idle, and idle resource detection for the method.
Questions we get a lot.
Why did Idle EC2 Instance fire on a stopped instance?
Because a stopped instance still pays for its EBS volumes and any associated Elastic IP. The rule prices exactly that residual.
Will ZopNight shut down an idle server automatically?
No. One-shot stops on compute are advisory. The recommended lever for idle-on-a-pattern compute is a recurring schedule.