CLOUD INFRASTRUCTURE
AWS Idle Resource Checker
A Python tool that scans EC2 instances, reads CPU utilisation from CloudWatch, flags idle servers, and estimates what keeping them running costs per month. Built and tested in a locked-down AWS Free Plan lab.
- ROLE
- Solo Project
- DISCIPLINE
- CLOUD INFRASTRUCTURE
- RELATED EXPERIENCE
- Independent Project

What I Did
- 01
Set up an AWS Free Plan account with MFA on the root user, a separate IAM user for daily work, and an AWS Budgets alert as a cost safety net
- 02
Launched three EC2 test instances in Singapore — two left idle and one running continuous CPU load — all with no public IP, no SSH, and no key pairs
- 03
Connected from the laptop through the AWS CLI, keeping access keys in the local AWS config so no credentials appear in code or in the repository
- 04
Wrote a Python script with boto3 that lists running instances and reads each one's 2-hour average CPU from CloudWatch
- 05
Flagged instances under 5% CPU as idle and estimated monthly savings from the hourly instance price over a 730-hour month
- 06
Exported results to CSV, then terminated every test resource after capturing evidence
MEASURED RESULT — LAB RUN
Tested, not assumed.
- Idle CPU0.2%
- Loaded CPU~50%
- Idle thresholdunder 5%
- Hours per month730
- On-demand price$0.0104/hr
- Estimated saving$19.27/mo
One test run against three t3.micro instances in ap-southeast-1; every resource was terminated afterwards. Savings cover instance hours only — EBS and data transfer are excluded.
TECHNOLOGY