One of the first questions every AWS beginner asks is: "How do I use AWS without accidentally getting a huge bill?" The AWS Free Tier is AWS's answer — a set of services and usage limits that are genuinely free, designed to let you learn and experiment at no cost. But the Free Tier has traps, and understanding them can save you from a shocking invoice at the end of the month.
The Three Types of AWS Free Tier
Not all "free" offers on AWS work the same way. There are three distinct categories:
- Always Free — Services that remain free indefinitely, regardless of whether your 12-month trial has expired. Examples: Lambda (1 million requests/month), DynamoDB (25 GB storage), CloudWatch (10 custom metrics).
- 12 Months Free — Services free for the first 12 months after your account creation date. Examples: EC2 t2.micro (750 hours/month), S3 (5 GB storage), RDS (750 hours/month on db.t2.micro).
- Trials — Short-term free trials that start when you first activate a specific service. Examples: Amazon SageMaker (2 months), Amazon Redshift (2 months).
Key Free Tier Services and Their Limits
- EC2: 750 hours/month of t2.micro or t3.micro (Linux). That's enough for one instance running 24/7.
- S3: 5 GB storage, 20,000 GET requests, 2,000 PUT requests per month.
- RDS: 750 hours/month of db.t2.micro, 20 GB storage, 20 GB backup storage.
- Lambda: 1 million requests and 400,000 GB-seconds of compute time per month — always free.
- CloudFront: 1 TB data transfer out, 10 million HTTP requests per month for 12 months.
- DynamoDB: 25 GB storage, 25 write capacity units, 25 read capacity units — always free.
Common Billing Traps to Avoid
1. Running Multiple EC2 Instances
The EC2 free tier covers 750 hours of t2.micro usage per month — across all instances combined. If you launch two t2.micro instances, you use 1,500 hours monthly and will be billed for 750 of them. Run only one instance at a time to stay free.
2. Elastic IP Addresses
An Elastic IP that is not attached to a running instance costs money (roughly $0.005/hour). Always release Elastic IPs when you stop or terminate the associated instance.
# Release an unattached Elastic IP
aws ec2 release-address --allocation-id eipalloc-0a1b2c3d4e5f67890
3. NAT Gateways
NAT Gateways are not free-tier eligible and cost $0.045/hour plus $0.045/GB processed. Never create a NAT Gateway during learning exercises — use a NAT instance or just put your resources in a public subnet temporarily.
4. Data Transfer Out
Transferring data out of AWS to the internet costs money beyond the free tier allowance. Data transfer between AWS services in the same region is usually free. Across regions, it is not.
5. Forgetting to Delete Resources
The most common billing surprise: you launch resources to test something, forget about them, and they run for weeks. Always clean up after learning sessions.
Set Up a Billing Alarm — Right Now
This is the single most important step for any new AWS user. A billing alarm in CloudWatch sends you an email the moment your charges exceed a threshold:
# Create a billing alarm for $5 (must be in us-east-1 for billing metrics)
aws cloudwatch put-metric-alarm
--alarm-name "BillingAlarm-5USD"
--alarm-description "Alert when charges exceed $5"
--metric-name EstimatedCharges
--namespace AWS/Billing
--statistic Maximum
--period 86400
--threshold 5
--comparison-operator GreaterThanThreshold
--dimensions Name=Currency,Value=USD
--evaluation-periods 1
--alarm-actions arn:aws:sns:us-east-1:YOUR_ACCOUNT_ID:BillingAlerts
--region us-east-1
Alternatively, go to Billing > Budgets in the console and create a budget with an email alert — it takes two minutes.
Use AWS Cost Explorer
AWS Cost Explorer (free to use) provides a visual breakdown of your spending by service, region, and time period. Check it weekly during your first few months. The Free Tier tab shows exactly how much of each free tier allowance you've consumed this month.
Enable Free Tier Usage Alerts
In the AWS Billing console, go to Billing Preferences and enable Free Tier Usage Alerts. AWS will email you when you reach 85% of any free tier limit.
Quick Cleanup Checklist
- Terminate unused EC2 instances
- Release unattached Elastic IPs
- Delete unused EBS volumes (they accrue charges even when not attached)
- Remove NAT Gateways and VPC endpoints
- Delete unused RDS instances (including automated snapshots)
- Empty and delete unused S3 buckets
Summary
The AWS Free Tier is generous enough to learn virtually every core AWS service at no cost — if you stay within the limits and clean up your resources. Set a billing alarm today, check Cost Explorer regularly, and you'll never be surprised by an AWS invoice.