๐ก๏ธ AWS RDS Instance is idle๐ข
- Contextual name: ๐ก๏ธ Instance is idle๐ข
- ID:
/ce/ca/aws/rds/instance-idle - Tags:
- ๐ข Policy with categories
- ๐ข Policy with type
- ๐ข Production policy
- Policy Type:
COMPLIANCE_POLICY - Policy Categories:
PERFORMANCE,COST
Logicโ
- ๐ง prod.logic.yaml๐ข
Descriptionโ
Descriptionโ
This policy identifies AWS RDS instances that appear to be idle based on their performance metrics over the past 30 days. An instance is considered idle if it meets all of the following criteria:
- Average CPU utilization has been less than 5%.
- Average Database Connections is zero.
Rationaleโ
Idle RDS instances generate costs without delivering business value. Identifying and decommissioning these resources can significantly reduce monthly AWS spend. Regular cleanup of unused resources also improves operational efficiency and reduces cloud management overhead.
Auditโ
This policy evaluates an RDS Instance based on its 30-day performance metrics.
The Instance is marked as
INCOMPLIANTif all the following criteria are met:
CloudWatch: CPU, 30-Daymetric is less than 5%.CloudWatch: Database Connections, 30-Daymetric is zero.The Instance is marked as
INAPPLICABLEif it is not in an availableStatusor has been running for less than 30 days.The Instance is marked as
UNDETERMINEDif any of the evaluated metrics are empty, indicating insufficient data in the CMDB to assess whether the instance is idle.
Remediationโ
Remediationโ
Decommission Idle RDS Instancesโ
Key Considerationsโ
- If deletion is not an option (e.g., business constraints), consider downsizing the instance.
- Confirm with application and database owners that the instance is no longer required before stopping or deleting it.
- Stopping an instance retains the underlying data and allows it to be restarted later.
- Deleting an instance permanently removes it. Always take a final snapshot (if needed) before deletion.
Stop or Delete the Instanceโ
From Command Lineโ
Stop the instance:
aws rds stop-db-instance \
--db-instance-identifier {{db-instance-id}}Take a final snapshot before deletion:
aws rds create-db-snapshot \
--db-snapshot-identifier {{final-snapshot-name}} \
--db-instance-identifier {{db-instance-id}}Delete the idle instance:
aws rds delete-db-instance \
--db-instance-identifier {{db-instance-id}} \
--skip-final-snapshotDownsize the DB instanceโ
From Command Lineโ
To apply during the next maintenance window (recommended for production):
... see more
policy.yamlโ
Linked Framework Sectionsโ
| Section | Sub Sections | Internal Rules | Policies | Flags | Compliance |
|---|---|---|---|---|---|
| ๐ผ Cloudaware Framework โ ๐ผ Waste Reduction | 28 | no data | |||
| ๐ผ Cloudaware Framework โ ๐ผ Workload Efficiency | 24 | no data |