Skip to main content

RDS: Delete Idle RDS Instances

Updated over a week ago

Difficulty: Easy

Description

We identified several RDS instances in your account that are idle. Deleting unused RDS instances eliminates their compute and storage costs.

Selection Criteria

  • The maximum DatabaseConnections metric for the RDS instance has been less than 1 for the last 30 days

  • The instance is not a read replica — replicas may show 0 connections even when actively used by the primary

  • ⚠️ Warning — Aurora clusters: For Aurora, validate metrics at the individual instance level, not only at the cluster level, to avoid false positives

Expected Saving

Deleting an idle RDS instance eliminates 100% of its compute cost. Storage costs are also eliminated upon deletion.

Example: A db.t3.medium instance running 24/7:

  • Compute: $0.068/hr × 730 hrs/month = ~$49.64/month

  • Storage: 20 GB gp2 × $0.115/GB = ~$2.30/month

  • Total savings: ~$51.94/month per instance

Operational Impact

  • Downtime: Yes — deletion is irreversible. The instance and all its data are permanently deleted.

  • ⚠️ WARNING — Data loss: Deleting an RDS instance without a final snapshot results in permanent, unrecoverable data loss. Always take a final snapshot before proceeding.

  • ⚠️ WARNING — Final snapshot: The AWS Console offers a "Create final snapshot" option during deletion. This should always be enabled unless the data is confirmed as expendable.

  • ⚠️ WARNING — Automated backups: Automated backups are deleted along with the instance unless "Retain automated backups" is explicitly enabled.

  • Recovery: Only possible if a snapshot was taken prior to deletion. Restore from the snapshot to recreate the instance — note that the new instance will have a different endpoint.

References

Did this answer your question?