- The Cloud Economist
- Posts
- Using AWS Cost Explorer Queries To Find Wasted Resources
Using AWS Cost Explorer Queries To Find Wasted Resources
Find and eliminate waste in your AWS cloud environment

Managing costs in AWS can be daunting but with the right strategies and cost-awareness, you can greatly simplify the task.
This week we’re diving into AWS Cost Explorer - a powerful and often underutilized - tool for finding and eliminating wasted/underutilized resources in your cloud stack.
Let’s explore some common examples and the queries you can use to solve each one.
1. Unattached EBS Volumes
Did you know unattached EBS volumes continue to generate costs even when idle? These are prime candidates for deletion or archiving.
Query Example
• Group by: USAGE_TYPE (focus on EBS:VolumeUsage.gp2).
• What to Look For: Volumes with no recent EC2 attachment activity.
💡 Tip: Automate clean-up processes using AWS Lambda to monitor and delete unattached volumes.
2. Underutilized EC2 Instances
Underutilized instances are silent budget drainers.
Query Example
• Group by: INSTANCE_TYPE.
• What to Look For: Instances with low usage but high costs, or stopped instances still incurring charges.
💡 Action Plan: Downsize instance types, use auto-scaling, or terminate unused instances.
3. Low Utilization of Reserved Instances (RIs) and Savings Plans
Unused RIs or Savings Plans represent sunk costs you can’t recover.
Query Example
• Metric: RIUtilization or SavingsPlanUtilization.
• What to Look For: Low utilization percentages.
💡 Tip: Adjust workloads to fully leverage existing commitments.
4. Orphaned Snapshots and Old AMIs
EBS snapshots and outdated AMIs accumulate costs quietly over time.
Query Example
• Group by: USAGE_TYPE (e.g., EBS:SnapshotUsage).
• What to Look For: Snapshots without associated volumes or old AMIs stored in S3.
💡 Tip: Use lifecycle policies to clean up stale snapshots and AMIs.
5. Spot Instances with High On-Demand Costs
Spot instances occasionally fallback to On-Demand pricing when unavailable, driving up costs unexpectedly.
Query Example
• Group by: INSTANCE_TYPE and USAGE_TYPE.
• What to Look For: Instances where On-Demand usage spikes unexpectedly.
💡 Tip: Use Auto Scaling with Spot capacity pools to minimize On-Demand fallback.
6. Unoptimized Data Transfers
Cross-region and external data transfers can become costly without proper oversight.
Query Example
• Group by: USAGE_TYPE (e.g., DataTransfer).
• What to Look For: High inter-region or external transfer charges.
💡 Action Plan: Consolidate resources in the same region and review architecture for unnecessary data movement.
One Tip To Save Costs
You can use the Monthly spend by service view to track trends over 6-12 months. Look for spikes in costs that corelate with new deployments, unexpected scaling or seasonal traffic.
Want to learn more about optimizing your cloud costs? Subscribe to our newsletter for weekly cloud computing cost-savings tips and insights.
Curated Article & References
“AWS Cost Explorer basic queries to help quickly identify potential waste of resources”. in-n-out-cloud on Medium. https://letsrust.io/my-aws-cost-explorer-basic-queries-to-help-quickly-identify-potential-waste-of-resources-b1a4dd9afe33 (reference)
“Analyzing your costs and usage with AWS Cost Explorer“. AWS Docs. https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html