Cost Management Basics
AWS bills for almost everything you use, down to the second in some cases — which makes it easy to build real things cheaply, and just as easy to accidentally run up a bill from a resource you forgot was running. This lesson is about not learning that the hard way.
The Free Tier
New accounts get a Free Tier: a set amount of usage across many services (750 hours a month of a small EC2 instance, 5GB of S3 storage, a million Lambda requests, and more) at no cost for the first 12 months, plus some services that are always free within limits. It's enough to build and run small real projects — including everything covered in this course — without paying anything, as long as you stay under the limits.
Setting a billing alarm
A billing alarm is the single highest-value five minutes you can spend on a new AWS account — it uses the same CloudWatch alarms from the last lesson, watching your estimated total charges instead of a technical metric:
aws cloudwatch put-metric-alarm \ --alarm-name billing-over-10-dollars \ --namespace AWS/Billing --metric-name EstimatedCharges \ --dimensions Name=Currency,Value=USD \ --statistic Maximum --period 21600 --threshold 10 \ --comparison-operator GreaterThanThreshold --evaluation-periods 1 \ --alarm-actions arn:aws:sns:us-east-1:123456789012:billing-alerts
Sends a notification the moment estimated total charges for the month cross $10 — catching a runaway resource within hours instead of finding out at the end of the billing cycle.
The classic "forgot to shut it down" story
The single most common way beginners get an unexpected bill: launching an EC2 instance (or several) to test something, closing the laptop, and forgetting the instance is still running — racking up hours (or days, or weeks) of charges for compute nobody's using. The same thing happens with unused Elastic IP addresses, forgotten RDS instances, and old EBS volumes left attached to nothing.