TerraformPilot

Cloud Computing

AWS Free Tier 2026: What You Get Free, Limits, and Hidden Costs

Complete AWS Free Tier guide for 2026. See all free services (EC2, S3, Lambda, RDS), usage limits, 12-month vs always-free tiers

LLuca Berton5 min read

Introduction

#

AWS Free Tier gives you access to 100+ cloud services at no cost. Whether you're learning Terraform, testing a startup idea, or studying for AWS certifications, the Free Tier lets you use real AWS infrastructure without a credit card charge — as long as you stay within the limits.

This guide covers every Free Tier category, the most useful services with their exact limits, and how to avoid surprise bills.

Three Types of Free Tier

#

AWS organizes free offerings into three categories:

TypeDurationWho Qualifies
Always FreeNever expiresAll AWS accounts
12 Months FreeFirst 12 months after signupNew accounts only
Free TrialsVaries per service (30-365 days)First use of the service

Always Free Services (Never Expire)

#

These stay free forever, regardless of when you created your account:

Compute

#
ServiceFree Limit
AWS Lambda1M requests/month + 400,000 GB-seconds compute
AWS Step Functions4,000 state transitions/month

Storage

#
ServiceFree Limit
Amazon DynamoDB25 GB storage, 25 read/write capacity units
Amazon S3Not always-free (see 12-month below)

Networking & CDN

#
ServiceFree Limit
Amazon CloudFront1 TB data transfer out/month
Amazon API Gateway1M REST API calls/month

Monitoring & Management

#
ServiceFree Limit
Amazon CloudWatch10 custom metrics, 10 alarms, 1M API requests
AWS CloudTrail1 management trail (90-day event history)
AWS Trusted Advisor7 core checks

Developer Tools

#
ServiceFree Limit
AWS CodeBuild100 build minutes/month
AWS CodeCommit5 active users, 50 GB storage, 10,000 Git requests
AWS CodePipeline1 active pipeline

AI & Machine Learning

#
ServiceFree Limit
Amazon SageMaker250 hours/month of ml.t3.medium notebooks
Amazon Comprehend50K units of text/month
Amazon Translate2M characters/month

12 Months Free (New Accounts Only)

#

Available for 12 months after account creation:

#
ServiceFree LimitWhat You Can Build
Amazon EC2750 hours/month of t2.micro (or t3.micro in regions that support it)Web servers, dev environments
Amazon S35 GB storage, 20K GET, 2K PUT requestsStatic websites, backups
Amazon RDS750 hours/month of db.t2.micro/db.t3.micro, 20 GB storageMySQL, PostgreSQL databases
Amazon ElastiCache750 hours of cache.t2.micro/cache.t3.microRedis/Memcached caching
Amazon CloudFront50 GB data transfer (separate from always-free)CDN for websites
Elastic Load Balancing750 hours of Classic/ALB + 15 GB dataLoad balancing
Amazon EBS30 GB of General Purpose SSDBlock storage for EC2
Amazon SNS1M publishes, 100K HTTP deliveriesPush notifications
Amazon SQS1M requestsMessage queuing

EC2 Free Tier Details

#

The most popular Free Tier service. Key details:

  • 750 hours/month = enough to run 1 instance 24/7, or multiple instances that total 750 hours
  • t2.micro or t3.micro (depending on region) — 1 vCPU, 1 GB RAM
  • Linux or Windows (Windows counts the same hours)
  • 30 GB EBS storage included (General Purpose SSD)
  • Applies to On-Demand instances only (not Spot or Reserved)
# Terraform example: Free Tier EC2 instance
resource "aws_instance" "free_tier" {
  ami           = "ami-0c55b159cbfafe1f0"  # Amazon Linux 2
  instance_type = "t2.micro"               # Free Tier eligible
 
  tags = {
    Name = "free-tier-instance"
  }
}

RDS Free Tier Details

#
  • 750 hours/month of db.t2.micro or db.t3.micro
  • 20 GB General Purpose SSD storage
  • 20 GB automated backup storage
  • Supports MySQL, PostgreSQL, MariaDB, Oracle BYOL, SQL Server Express
# Terraform example: Free Tier RDS
resource "aws_db_instance" "free_tier" {
  engine               = "mysql"
  engine_version       = "8.0"
  instance_class       = "db.t3.micro"
  allocated_storage    = 20
  storage_type         = "gp2"
  db_name              = "mydb"
  username             = "admin"
  password             = var.db_password
  skip_final_snapshot  = true
}

Free Trials (Limited Duration)

#

Short-term trials for specific services. The timer starts when you first use the service:

ServiceFree TrialDuration
Amazon SageMaker Studio250 hours of ml.t3.medium2 months
Amazon Redshift750 hours of dc2.large2 months
Amazon GuardDutyFull features30 days
Amazon InspectorFull features15 days
Amazon Macie1 GB/month data classification30 days
AWS Security HubFull features30 days

How to Avoid Surprise Bills

#

1. Set Up Billing Alerts

#
# Terraform: Create a billing alarm
resource "aws_cloudwatch_metric_alarm" "billing" {
  alarm_name          = "billing-alarm-10-dollars"
  comparison_operator = "GreaterThanThreshold"
  evaluation_periods  = 1
  metric_name         = "EstimatedCharges"
  namespace           = "AWS/Billing"
  period              = 21600  # 6 hours
  statistic           = "Maximum"
  threshold           = 10
  alarm_description   = "Alert when charges exceed $10"
 
  alarm_actions = [aws_sns_topic.billing.arn]
 
  dimensions = {
    Currency = "USD"
  }
}

2. Use AWS Budgets

#

Go to AWS Billing → Budgets → Create Budget and set a monthly budget of $0 or $1. AWS will email you when you approach the limit.

3. Common Gotchas

#
  • Elastic IPs: Free only when attached to a running instance. Idle EIPs cost $0.005/hour ($3.60/month)
  • EBS Snapshots: Not included in Free Tier. Charged at $0.05/GB-month
  • Data Transfer: Outbound data beyond free allowances is charged
  • Multi-AZ RDS: Not eligible for Free Tier (doubles the hours)
  • NAT Gateway: Not in Free Tier ($0.045/hour = $32/month)
  • Forgetting to terminate: Running instances after your 12 months expire

4. Monitor Your Usage

#

Check the Free Tier Usage Dashboard at: https://console.aws.amazon.com/billing/home#/freetier

This shows percentage used for each Free Tier service.

Using AWS Free Tier with Terraform

#

Terraform is the best way to manage Free Tier resources — you can create, track, and destroy everything with code:

# Complete Free Tier stack
provider "aws" {
  region = "us-east-1"
}
 
# VPC (free)
resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags       = { Name = "free-tier-vpc" }
}
 
# Subnet (free)
resource "aws_subnet" "public" {
  vpc_id     = aws_vpc.main.id
  cidr_block = "10.0.1.0/24"
  tags       = { Name = "free-tier-subnet" }
}
 
# EC2 (750 hours/month free)
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  subnet_id     = aws_subnet.public.id
  tags          = { Name = "free-tier-web" }
}
 
# S3 Bucket (5 GB free)
resource "aws_s3_bucket" "data" {
  bucket = "my-free-tier-bucket-unique-name"
  tags   = { Name = "free-tier-bucket" }
}
 
# Destroy everything when done:
# terraform destroy

Pro tip: Always run terraform destroy when you're done experimenting. Forgotten resources are the #1 cause of unexpected AWS bills.

#

Hands-On Courses

#

Learn by doing with interactive courses on CopyPasteLearn:

Conclusion

#

The AWS Free Tier is the best way to learn cloud computing and Terraform hands-on without spending money. Use the Always Free tier for Lambda, DynamoDB, and CloudWatch. Use the 12-month tier for EC2, S3, and RDS. Set up billing alerts on day one, and always terraform destroy your test infrastructure when you're done. The Free Tier gives you enough to build real applications — just stay within the limits.

#AWS Free Tier#Cloud Computing#Amazon Web Services#free trials#Cloud Services

Share this article