Ravindra BagaleCourses & study guides मराठी Track your progress

Guides

How to Reduce Your AWS Bill: A Practical DevOps Checklist

Set a billing alarm, tag resources, delete orphans (EBS, snapshots, idle LBs), watch NAT, right-size, and review Cost Explorer monthly.

Friends, the bill is a DevOps signal — idle resources talk. Chala mitrano — alarm first, delete orphans second, right-size third.

Quick answer

Hold this vertical picture:

  1. Create billing alarm.
  2. Enforce tags.
  3. List stopped EC2 and available EBS.
  4. Check ALB/NAT/snapshots.
  5. Right-size; S3 lifecycle; monthly review.

Language: English · मराठी · हिंदी

Billing alarmKnow early Find idleEC2/EBS/ALB Right-sizeSmaller types Lifecycle & NATQuiet costs Monthly reviewKeep it gone
AWS bill checklist

Why a checklist

Cloud bills drift without ritual.

Why: Hero cleanups return next month. What: Alarm → orphans → right-size → review. How: Finance agrees thresholds.

Example 1: Billing alarm

Type this:

printf '%s\n' 'aws cloudwatch put-metric-alarm --alarm-name billing-100-usd --metric-name EstimatedCharges --namespace AWS/Billing --statistic Maximum --period 21600 --evaluation-periods 1 --threshold 100 --comparison-operator GreaterThanThreshold --dimensions Name=Currency,Value=USD --contact-groups ...'

You will see:

aws cloudwatch put-metric-alarm --alarm-name billing-100-usd --metric-name EstimatedCharges --namespace AWS/Billing --statistic Maximum --period 21600 --evaluation-periods 1 --threshold 100 --comparison-operator GreaterThanThreshold --dimensions Name=Currency,Value=USD --contact-groups ...

What it means: us-east-1 billing metric — set an INR-aware threshold your team agrees.

Example 7: Tag for cost

Type this:

printf '%s\n' 'Environment=dev, Owner=payments, Project=checkout'

You will see:

Environment=dev, Owner=payments, Project=checkout

What it means: Without tags Cost Explorer is a fog.

Example 10: Budget in INR talk

Type this:

printf '%s\n' 'Agree a monthly budget with finance; alarm at 50 percent and 80 percent'

You will see:

Agree a monthly budget with finance; alarm at 50 percent and 80 percent

What it means: Startups in Bengaluru do this weekly in stand-up.

Concept 1: Find idle storage and compute

Stopped is not free.

Why: EBS and snaps outlive instances. What: describe-instances/volumes/snapshots. How: Delete with a ticket when sure.

Example 2: Find stopped vs unused

Type this:

printf '%s\n' 'aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped --query "Reservations[].Instances[].InstanceId"'

You will see:

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped --query "Reservations[].Instances[].InstanceId"

What it means: Stopped instances still cost for EBS volumes.

Example 3: Unattached EBS

Type this:

printf '%s\n' 'aws ec2 describe-volumes --filters Name=status,Values=available --query "Volumes[].VolumeId"'

You will see:

aws ec2 describe-volumes --filters Name=status,Values=available --query "Volumes[].VolumeId"

What it means: available = not attached — common orphan bill.

Example 4: Old snapshots

Type this:

printf '%s\n' 'aws ec2 describe-snapshots --owner-ids self --query "Snapshots[?StartTime<=\`2024-01-01\`].SnapshotId"'

You will see:

aws ec2 describe-snapshots --owner-ids self --query "Snapshots[?StartTime<=\`2024-01-01\`].SnapshotId"

What it means: Keep restore points you need; delete ancient labs.

Concept 2: Network quiet costs

ALB and NAT bill while idle.

Why: Zero-traffic ALB still charges. What: List LBs; share/remove NAT. How: gp3 migrations help.

Example 5: Idle load balancers

Type this:

printf '%s\n' 'aws elbv2 describe-load-balancers --query "LoadBalancers[].LoadBalancerArn"'

You will see:

aws elbv2 describe-load-balancers --query "LoadBalancers[].LoadBalancerArn"

What it means: ALB/NLB cost daily even with zero traffic — Flipkart labs forget this.

Example 6: Right-size hint

Type this:

printf '%s\n' 'If CPU < 10 percent for two weeks, try a smaller instance type in next maintenance'

You will see:

If CPU < 10 percent for two weeks, try a smaller instance type in next maintenance

What it means: Right-size beats buying bigger "just in case".

Example 11: gp3 vs gp2

Type this:

printf '%s\n' 'Prefer gp3 volumes when migrating — often cheaper for same baseline'

You will see:

Prefer gp3 volumes when migrating — often cheaper for same baseline

What it means: Easy win during Terraform refactors.

Concept 3: Tags and rhythm

Cost Explorer needs dimensions.

Why: Untagged spend cannot be owned. What: Environment/Owner tags; Monday review. How: S3 lifecycle for cold logs.

Example 8: S3 lifecycle

Type this:

printf '%s\n' 'Move rare logs to Glacier Instant Retrieval or Deep Archive after N days'

You will see:

Move rare logs to Glacier Instant Retrieval or Deep Archive after N days

What it means: Hot S3 for forever logs burns INR.

Example 9: NAT gateway watch

Type this:

printf '%s\n' 'NAT Gateway hourly + data processing — share or remove unused NATs in idle VPCs'

You will see:

NAT Gateway hourly + data processing — share or remove unused NATs in idle VPCs

What it means: Quiet killer on small AWS accounts.

Example 12: Monthly review ritual

Type this:

printf '%s\n' 'Calendar: first Monday — Cost Explorer by service + kill orphans checklist'

You will see:

Calendar: first Monday — Cost Explorer by service + kill orphans checklist

What it means: Ritual beats one heroic cleanup.

Bill checklist card

1 CloudWatch billing alarm 2 Tags everywhere 3 Stopped EC2 + unattached EBS + old snaps 4 Idle ALB/NAT 5 Right-size + gp3 6 S3 lifecycle 7 Monthly Cost Explorer

Suppose: Alarm never fires

Billing metric is in us-east-1; confirm region and SNS email.

Suppose: Dev costs = prod

Missing Environment tags or shared NAT.

Ravindra Bagale's Tip

At startups and Infosys shared labs, the surprise bill is usually NAT + forgotten ALB + unattached EBS. Reviewers ask for a monthly checklist.

Check yourself (quiz)

Q1. First control?

Billing alarm

Q2. Stopped EC2 still costs?

Yes — EBS volumes

Q3. available volume?

Unattached EBS orphan

Q4. Quiet killers?

NAT and idle ALB

Q5. Why tags?

Cost ownership filters

Q6. Ritual?

Monthly Cost Explorer review

Reading tracking

Mark this guide when you finish. Your browser remembers it on this device.

alarm → orphans → right-size → review. Did you understand? Let us try it once more.

Frequently asked questions

Is stopped free?

Instance hours stop; EBS continues.

Where is billing metric?

us-east-1.

Savings Plans?

Later optimization after orphans die.

Spot instances?

Great for fault-tolerant labs/jobs.

Who owns the bill?

Tagged Owner + finance partner.

Terraform link?

Destroy unused stacks; tag defaults in modules.