
When I first signed up for AWS, I was giddy.
“12 months of Free Tier? Awesome. I’ll build my dream app, test out Lambda, maybe run a little EC2…”
Two weeks later:
$32.77 in surprise charges.
What happened? The same thing happens to thousands of beginners every month.
The Free Tier Is a Sales Funnel — Not a Safety Net
The AWS Free Tier is designed to let you “try before you buy.”
But what they don’t tell you?
It’s less like a sandbox and more like a landmine.
Sure, you get 12 months of some free usage, but AWS assumes:
- You read every footnote.
- You track every GB-hour.
- Do you know what a read request vs. write request means in S3 billing?
Here Are the Sneaky Charges That Hit Beginners Hard
Let’s break down the usual suspects:
1. EC2: “t2.micro is free.” — Until It’s Not
- Free tier: 750 hours/month of t2.micro or t3.micro
- Problem: That’s per account, not per instance.
- Gotcha: Spin up two EC2s = you’re now double-billing.
- Also: Choose a different region. Might default to t3a.small = not free
Pro tip: Set a billing alarm before touching EC2. Also, stop instances when not in use — running 24/7 = bill.
2. S3: Storage Is Free — But Access Isn’t
- Free tier: 5GB storage, 20,000 GETs, 2,000 PUTs
- Problem: Logging, APIs, or website hosting racks up requests.
- Gotcha: Request fees can cost more than storage.
- Also: S3 doesn’t auto-delete — you’ll pay for zombie files forever.
Pro tip: Set lifecycle rules to expire files. Monitor request metrics, not just storage.
3. CloudWatch: Monitoring Is Free-ish
- Free tier: 5GB of log data ingestion, 3 dashboards, 10 alarms
- Problem: Verbose logging eats up your quota fast
- Gotcha: Leaving console.log() in Lambda = silent budget bleed
Pro tip: Turn on log retention limits (like 3 days), and don’t log full request bodies unless needed.
4. Lambda: Free Until You Exceed “Duration”
- Free tier: 1M invocations, 400,000 GB seconds
- Problem: Long-running or memory-heavy functions eat GB-seconds fast.
- Gotcha: More memory = more cost per ms
- Also: External API timeouts count as “run time.”
Pro tip: Start with minimal memory (128MB), trim execution time, and avoid heavy external dependencies.
5. RDS: Sneaky with Storage and Backups
- Free tier: 750 hours/month of db.t2.micro in one AZ
- Problem: Snapshots, backups, and storage are not unlimited.
- Gotcha: Backups don’t auto-expire = surprise charges
Pro tip: Use Aurora Serverless if you must play with databases — or better, use free-tier DynamoDB.
6. Data Transfer: The Silent Killer
- Free tier: 15GB outbound data/month
- Problem: Any website traffic, API calls, or mobile app usage counts
- Gotcha: Inter-region or VPC peering? Not free
- Also: Inbound is free, but egress costs real money
Pro tip: Use CloudFront for caching + cheaper delivery. Monitor egress with billing alerts.
The Most Common Beginner Mistake
“I thought deleting the instance stopped billing.”
Nope. If you don’t delete:
- EBS volumes
- Snapshots
- IP addresses
- Load balancers
AWS continues charging you quietly.
Free Tier Isn’t for Projects — It’s for Practice
The AWS Free Tier is great if you:
- Spin up a resource
- Test it
- Tear it down within an hour.
It’s not for hosting a blog, running a dev server 24/7, or experimenting with 5 different services at once.
If you do that? You’ll pay for it — literally.
How to Avoid “Surprise” AWS Bills
1. Set a Budget Alarm
- Go to AWS Budgets
- Create one for $5 or $10.
- Alert your email when usage hits 80% — early warnings save your bacon.
2. Turn On Cost Explorer
- Enable Cost Explorer to see what’s billing.
- Look by Service and Linked Resource
- You’ll find the leak fast.
3. Delete EVERYTHING when done.
Not just instances — delete:
- Volumes
- Log groups
- Snapshots
- VPCs
- Elastic IPs
4. Learn to Tag
Use tags like Project=FreeTest so you can bulk delete or filter later.
5. Don’t Just Click Around
AWS is powerful — and also dangerous. Clicking through tutorials without understanding can spin up paid services (looking at you, SageMaker notebook instances).
No comments:
Post a Comment