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
AWS Idle Resource Checker
01 / 08CLOUD INFRASTRUCTURE

What I Did

  1. 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

  2. 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

  3. 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

  4. 04

    Wrote a Python script with boto3 that lists running instances and reads each one's 2-hour average CPU from CloudWatch

  5. 05

    Flagged instances under 5% CPU as idle and estimated monthly savings from the hourly instance price over a 730-hour month

  6. 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

Built with.

Pythonboto3EC2CloudWatchIAMAWS CLI