Skip to main content
idle · aws

RDS DB instances with zero connections and under 5% CPU for 30 days

resource types
1
rule IDs covered
1
severity
high

What does ZopNight detect here?

ZopNight flags `available` Amazon RDS DB instances whose `DatabaseConnections` is zero on average and peak for 30 days while `CPUUtilization` stays below 5%, excluding cross-Region read replicas, Multi-AZ instances and scheduled databases. The saving assumes deletion; a stopped RDS instance still pays for storage and restarts automatically after 7 days.

Signal and threshold

How ZopNight evaluates RDS DB instances with zero connections and under 5% CPU for 30 days.
Field Value
Rule IDsRC-169
Categoryidle
Severityhigh
MetricDatabaseConnections
Thresholdzero connections, CPU < 5%
Evaluation window30d
SourceZopNight
Permissions usedrds:DescribeDBInstances · cloudwatch:GetMetricStatistics

Stopping an RDS instance saves less than it looks

While an RDS instance is stopped, the stop guide explains, you are not charged for instance hours, but you are still charged for provisioned storage (including Provisioned IOPS), backup storage, and any public IPv4 address. The console also warns that a stopped instance restarts automatically after 7 days. Stopping is a tool for short pauses. A database that no application has touched in a month needs a decision about deletion.

Checking connections and CPU

Terminal window
aws rds describe-db-instances \
--query 'DBInstances[?DBInstanceStatus==`available`].[DBInstanceIdentifier,Engine,DBInstanceClass,MultiAZ]'
aws cloudwatch get-metric-statistics --namespace AWS/RDS --metric-name DatabaseConnections \
--dimensions Name=DBInstanceIdentifier,Value=billing-legacy \
--start-time 2026-08-26T00:00:00Z --end-time 2026-09-25T00:00:00Z \
--period 86400 --statistics Maximum

Check CPUUtilization for the same dimension. Zero connections with busy CPU means the database is doing something internally.

What must be true

  • The instance is available.
  • It is not a cross-Region read replica and not a Multi-AZ deployment.
  • It has no known recurring schedule, which would mean it is being parked on purpose.
  • DatabaseConnections is zero on both average and maximum across 30 days.
  • CPUUtilization is present and below 5% on both average and maximum.
  • ZopNight has a positive monthly cost for it.

Databases left out

DatabaseConnections counts client sessions only, so a database running replication or scheduled work inside the engine can show zero connections while it works. Requiring low CPU as well keeps those out, and missing CPU data is enough to stop the finding. Cross-Region replicas and Multi-AZ instances are skipped because they exist for availability rather than direct traffic. For clusters rather than single instances, see Idle Aurora Cluster, No Connections.

The figure assumes deletion

Terminal window
saving = full monthly bill (instance, storage, IOPS and backups)
cost after deletion = 0

The finding says plainly that stopping saves compute only. ZopNight treats it as advisory and does not stop the instance itself, because a stop cannot deliver this saving and reverses after 7 days.

Retiring an unused database

  1. Confirm no application, job or user connects, and that nothing reads its snapshots.
  2. Delete with a final snapshot: aws rds delete-db-instance --db-instance-identifier billing-legacy --final-db-snapshot-identifier billing-legacy-final
  3. If the owner is unsure, stop it temporarily with a snapshot first: aws rds stop-db-instance --db-instance-identifier billing-legacy --db-snapshot-identifier billing-legacy-pre-stop
  4. Remove parameter and option groups that were used only by this instance.

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·