AWS Free Tier: What's Included and How to Avoid Surprise Bills

Definition

The AWS Free Tier is a collection of free usage allowances that let you explore and experiment with AWS services at no cost. It comprises three categories: Always Free (never expires), 12-Month Free (expires 12 months after account creation), and Short-Term Trials (service-specific, time-limited free periods). The Free Tier is available to every new AWS account and the Always Free tier applies to all accounts regardless of age.

It is the primary way developers, students, and certification candidates get hands-on AWS experience without a credit card bill — provided they understand the limits and set up billing alerts.

How It Works

When you create an AWS account, the 12-month clock starts. For the next year, you get generous free allowances across dozens of services. After 12 months, those allowances disappear and you pay On-Demand rates for any usage. Always Free offers continue indefinitely. Trial offers are service-specific and typically last 30–90 days from first use.

Free Tier usage is tracked in the AWS Billing Console under the Free Tier Usage dashboard, which shows how much of each allowance you have consumed. You can also set up AWS Budgets alerts to notify you when you approach or exceed Free Tier limits.

Important: the Free Tier is per account, not per service. If you launch multiple instances or services simultaneously, their combined usage counts against the single Free Tier allowance.

Key Features and Limits

Always Free (no expiration)

  • Lambda: 1 million requests + 400,000 GB-seconds of compute per month.
  • DynamoDB: 25 GB storage + 25 WCU + 25 RCU (enough for ~200 million requests/month).
  • CloudWatch: 10 custom metrics, 10 alarms, 1 million API requests per month.
  • SNS: 1 million publishes per month.
  • SQS: 1 million requests per month.
  • AWS CodeBuild: 100 build minutes per month.

12-Month Free (from account creation)

  • EC2: 750 hours/month of t2.micro or t3.micro (Linux or Windows) — enough to run one instance 24/7.
  • S3: 5 GB standard storage, 20,000 GET requests, 2,000 PUT requests per month.
  • RDS: 750 hours/month of db.t2.micro or db.t3.micro (Single-AZ), 20 GB storage, 20 GB backups.
  • EBS: 30 GB of General Purpose SSD (gp2) or Magnetic storage.
  • CloudFront: 1 TB data transfer out, 10 million HTTP/HTTPS requests per month.
  • Elastic Load Balancing: 750 hours/month for a Classic Load Balancer or ALB + 15 LCUs.

Short-Term Trials

  • Amazon SageMaker: 250 hours of ml.t3.medium notebooks for the first 2 months.
  • Amazon Redshift: 750 hours of dc2.large per month for 2 months.
  • Amazon GuardDuty: 30-day free trial.
  • Amazon Inspector: 15-day free trial.
  • Various other services offer 30–90 day trials on first activation.

Common Use Cases

  1. Learning and certification prep — spin up EC2 instances, create S3 buckets, and practice for CLF-C02 or SAA-C03 without cost.
  2. Prototyping — build a proof-of-concept application using Lambda, DynamoDB, API Gateway, and S3 entirely within Always Free limits.
  3. Personal projects — host a small website or API on a t3.micro instance with the 12-month free EC2 allowance.
  4. Evaluating new services — use trial offers to test SageMaker, Redshift, or GuardDuty before committing budget.

Pricing Model

The Free Tier itself costs nothing — but exceeding Free Tier limits triggers On-Demand billing with no warning unless you configure alerts. Common surprise charges:

  • NAT Gateway: $0.045/hour (~$32/month) + data processing fees. Not covered by Free Tier. A single NAT Gateway left running is the most common source of unexpected bills.
  • Public IPv4 addresses: as of February 2024, AWS charges $0.005/hour (~$3.60/month) per public IPv4 address. This applies even to Free Tier EC2 instances with a public IP.
  • Data transfer out: Free Tier includes limited outbound data (100 GB/month across all services). Exceeding this incurs standard data transfer charges.
  • Elastic IP addresses: free while attached to a running instance; $0.005/hour if unattached — a common gotcha.
  • Multiple instances: running 2 t3.micro instances uses 1,500 hours/month against a 750-hour allowance — the second 750 hours are billed.

Best practices to avoid surprise bills:

  1. Set up an AWS Budget with a $0 threshold (zero-spend alert) immediately after account creation.
  2. Enable Free Tier Usage Alerts in the Billing Console.
  3. Do not create a NAT Gateway unless you specifically need one — use VPC endpoints or public subnets instead.
  4. Terminate resources (EC2 instances, RDS instances, Load Balancers) when not in use.
  5. Delete unattached Elastic IPs and unused EBS volumes/snapshots.
  6. Review the Billing Dashboard weekly during your first month.

Pros and Cons

Pros

  • Generous allowances for learning and prototyping — enough to run a small app 24/7 for a year.
  • Always Free tier (Lambda, DynamoDB, SQS, SNS) supports lightweight production workloads indefinitely.
  • Low barrier to entry for AWS certification hands-on practice.
  • Free Tier Usage dashboard provides visibility into consumption.
  • Available in all Regions (though some services/tiers may vary).

Cons

  • 12-month allowances expire silently — many users are surprised by charges on month 13.
  • NAT Gateway, public IPv4, and data transfer charges are not covered and catch beginners.
  • Running multiple instances or services simultaneously can exceed allowances quickly.
  • No automatic shut-off — exceeding Free Tier limits triggers billing, not service termination.
  • The Free Tier Usage dashboard has a 24-hour delay, making real-time tracking difficult.

Comparison with Alternatives

| | AWS Free Tier | Azure Free Account | GCP Free Tier | | --- | --- | --- | --- | | Always Free compute | Lambda (1M requests) | Azure Functions (1M requests) | Cloud Functions (2M requests) | | 12-month compute | EC2 t3.micro 750h/month | B1s VM 750h/month | N/A (Always Free e2-micro only) | | Always Free DB | DynamoDB 25 GB | Cosmos DB 1000 RU/s | Firestore 1 GB | | Free credit | None (usage-based only) | $200 credit for 30 days | $300 credit for 90 days |

AWS does not offer an upfront free credit — its Free Tier is purely usage-based. Azure and GCP supplement their free tiers with one-time credits.

Exam Relevance

  • Cloud Practitioner (CLF-C02) — know the three Free Tier types (Always Free, 12-Month, Trials) and be able to identify which services fall into which category. Know that Lambda 1M requests and DynamoDB 25 GB are Always Free. Know that EC2 t2/t3.micro 750 hours is 12-Month Free.
  • Solutions Architect Associate (SAA-C03) — Free Tier is less directly tested but understanding it helps with cost optimization questions (e.g., choosing Lambda + DynamoDB for a low-traffic application to stay within free limits).

Exam trap: the Free Tier does not cover NAT Gateway, Elastic IP (when unattached), or data transfer beyond the included allowance.

Frequently Asked Questions

Q: What are the three types of AWS Free Tier?

A: Always Free offers never expire and are available to all accounts (e.g., Lambda 1M requests/month, DynamoDB 25 GB). 12-Month Free offers are available for the first 12 months after account creation (e.g., EC2 t3.micro 750 hours/month, S3 5 GB). Short-Term Trials are service-specific free periods that start when you first activate the service (e.g., GuardDuty 30-day trial, SageMaker 250 hours for 2 months).

Q: How do I avoid unexpected charges on the AWS Free Tier?

A: Set up an AWS Budget with a $0 threshold immediately after creating your account — this sends an email the moment any charge is incurred. Enable Free Tier Usage Alerts in the Billing Console. Avoid creating NAT Gateways (the most common surprise charge at ~$32/month). Terminate or stop EC2 and RDS instances when not in use. Delete unattached Elastic IPs and unused EBS snapshots. Check the Billing Dashboard weekly.

Q: Does the AWS Free Tier apply to all Regions?

A: Yes, Free Tier allowances are available in all AWS Regions, but the total is shared across Regions — not per Region. For example, the 750 hours of EC2 t3.micro is a global total. Running one instance in us-east-1 and one in eu-west-1 simultaneously uses 1,500 hours/month, exceeding the 750-hour allowance by 750 hours, which would be billed at On-Demand rates.


This article reflects AWS features and pricing as of 2026. AWS services evolve rapidly — always verify against the official AWS Free Tier page before making decisions.

Published: 4/17/2026 / Updated: 4/17/2026

This article is for informational purposes only. AWS services, pricing, and features change frequently — always verify details against the official AWS documentation before making production decisions.

More in Pricing