Explanation
This inefficiency occurs when an EC2 instance remains in a running state but is not actively utilized. These instances may be remnants of past projects, forgotten development environments, or temporarily created for testing and never decommissioned. If an instance shows consistently low or no CPU, network, or disk activity-and no active connections-it likely serves no operational purpose but continues to generate ongoing compute and storage charges.
Relevant Billing Model
EC2 instances are billed per second (Linux) or per hour (Windows/legacy types) while in the running state, based on instance type and size. Charges apply continuously unless the instance is stopped or terminated. Associated resources like EBS volumes, Elastic IPs, and Load Balancers may continue to incur charges even after the instance is stopped.
Detection
- Identify EC2 instances that have been running throughout the lookback period
- Review CPU utilization, network throughput, and disk activity for sustained inactivity
- Check for the absence of inbound or outbound connections over the same period
- Evaluate whether the instance is part of a deprecated or paused workload
- Confirm with application or infrastructure owners whether the instance is still required
Remediation
Decommission the instance after confirming it is no longer needed. Prior to termination, consider taking a snapshot or image if the data must be retained. Delete or clean up associated resources such as EBS volumes, Elastic IPs, and security groups. Schedule regular audits to catch inactive compute resources early.