AWS Free Tier for Indian Developers: What's Actually Free in 2026

Every year, thousands of Indian developers sign up for AWS, explore a few services, and then wake up to a ₹2,000–8,000 bill they didn't expect. The AWS Free Tier sounds simple — "free" — but the details matter enormously. Understanding exactly what each tier covers, and which services have traps, is the difference between a ₹0 learning environment and an unwelcome surprise charge on your UPI-linked card.

This guide breaks down the three categories of AWS free offerings, identifies the services that catch developers off guard most often, and shows you an architecture that genuinely stays free for months.

The Three Types of Free Tier

AWS Free Tier is not a single programme — it's three distinct categories with very different rules.

Always Free — These allocations never expire, even after your account is years old. The most useful ones: AWS Lambda gives you 1 million requests and 3.2 million seconds of compute time per month. DynamoDB gives you 25GB of storage plus 25 Write Capacity Units and 25 Read Capacity Units permanently. CloudFront gives you 1TB of data transfer out per month. Amazon SES gives you 62,000 emails per month when sent from an EC2 instance. SNS provides 1 million mobile push notifications per month. These are genuinely unlimited in duration and form the backbone of any ₹0/month architecture.

12-Month Free — These expire 12 months after your account creation date, not 12 months after you first use them. EC2 gives you 750 hours per month of t2.micro or t3.micro (Linux), S3 gives you 5GB of standard storage, and RDS gives you 750 hours of db.t2.micro or db.t3.micro. Once that 12-month window closes, every hour the instance runs costs money. Many Indian developers miss this because they set up their account, don't use it for months, and assume the clock hasn't started — it has.

Trial — Short-term free access to specific services: SageMaker, Amazon Bedrock, Comprehend, and others. These range from 30 to 60 days. They're useful for evaluation but not for building anything lasting.

The Services That Catch Indian Developers Off Guard

Knowing the categories isn't enough. These specific services generate most of the surprise charges on Indian accounts.

EC2 and the 750-hour misunderstanding. The 750 hours per month sounds generous — that's enough for one instance running 24/7 (744 hours in most months). The catch: 750 hours is shared across all t2.micro or t3.micro instances in your account combined. Spin up a second instance for testing, even briefly, and you're paying for those hours. A common scenario: a developer runs a web server on one t2.micro and spins up another for a database experiment over a weekend. That's 100 extra hours, which costs around ₹600–800 depending on the region.

RDS backup storage. RDS free tier covers 750 hours of the database instance, but automated backups consume storage beyond 5GB and are billed separately. A database that grows to 8GB with 7 days of backups enabled can accumulate 50–60GB of backup storage, costing ₹300–500 per month without you realising it.

NAT Gateway — the most expensive surprise. NAT Gateway charges ₹4 per hour plus data transfer fees. A single NAT Gateway running 24/7 costs approximately ₹2,900–3,200 per month before any data transfer. This service is not in the free tier at all. Tutorials that use a VPC with private subnets often include a NAT Gateway without flagging the cost. Many developers who followed a "production-ready VPC" tutorial find NAT Gateway consuming 80% of their bill.

Elastic IP addresses. An Elastic IP is free when attached to a running EC2 instance. The moment you stop that instance or detach the IP, AWS charges ₹270–290 per month for each unused Elastic IP. Stop an instance for a week to save compute costs, and you're paying for the Elastic IP instead.

Data transfer out. The first 1GB of data transferred out of AWS per month is free. After that, you pay ₹7–9 per GB (Mumbai region). A modest web application serving image-heavy pages to Indian users can easily push 50–100GB per month, adding ₹350–900 to the bill. CloudFront's 1TB always-free allocation helps here — route traffic through CloudFront instead of directly from EC2 or S3.

Setting Up Billing Alerts Before You Touch Anything

Before launching a single service, spend 15 minutes setting up cost controls. This is non-negotiable.

Go to AWS Billing → Billing Preferences and check "Receive Free Tier Usage Alerts." This sends an email when you approach (not just when you exceed) free tier limits for specific services. It's a built-in warning system most developers never activate.

Next, create an AWS Budget. Navigate to AWS Budgets → Create Budget → Cost Budget. Set the amount to ₹500 per month. Set alerts at 50%, 80%, and 100% of that threshold. You'll receive emails at ₹250, ₹400, and ₹500. A ₹500 budget alert is not the ceiling — it's a signal that something is running that shouldn't be.

Enable Cost Explorer from the Billing dashboard. It takes up to 24 hours to populate but then gives you a per-service breakdown of costs. Check it weekly during your first month. The "Service" dimension shows exactly which AWS service is charging you, which narrows down debugging from "AWS charged me" to "EC2 snapshots charged me."

A tactic that experienced AWS users recommend: set a separate ₹0 budget for each service you're not intentionally using (NAT Gateway, WorkSpaces, RDS if you're using DynamoDB, etc.). Any charge on those services is definitionally unexpected and triggers an immediate alert.

The Always-Free Services Worth Building On

The always-free category contains enough to build and run real applications indefinitely.

Lambda + API Gateway gives you 1 million invocations and 3.2 million seconds of compute per month free, always. API Gateway adds 1 million HTTP API calls per month for the first 12 months (then there's a small cost, but Lambda itself stays free). For most side projects and MVPs, these limits are never reached.

DynamoDB's 25GB storage with 25 WCU and 25 RCU is substantial for small applications. A social app storing user profiles, posts, and comments for 10,000 users comfortably fits within this. The limitation is throughput, not storage — 25 WCU handles roughly 25 writes per second, which covers most personal projects.

SES at 62,000 emails per month is generous enough for transactional email (welcome emails, order confirmations, password resets) for a product with tens of thousands of users. This always-free allocation requires the emails to be sent from an EC2 instance or Lambda, which they typically are.

CloudWatch provides 10 custom metrics and 5GB of log ingestion per month always free. Combined with Lambda's built-in CloudWatch logging, you get basic observability for a serverless application without paying for a third-party logging service.

Building a Real Project on the Free Tier

Here's a concrete architecture that runs at ₹0 per month and handles genuine production traffic.

The stack: S3 static website hosting (your Next.js or React build) + CloudFront distribution (CDN, SSL termination, caching) + API Gateway HTTP API + Lambda functions (backend logic) + DynamoDB (database) + SES (email).

Example: a portfolio website with a contact form, newsletter signup, and a simple dashboard for the site owner. S3 hosts the static files (well within the 5GB 12-month free tier, and static files rarely change). CloudFront serves those files globally with the 1TB monthly always-free data transfer — more than enough for a portfolio getting thousands of monthly visitors. API Gateway routes contact form submissions and newsletter signups to Lambda functions. Lambda writes to DynamoDB (always free) and sends confirmation emails via SES (always free). The site owner's dashboard makes DynamoDB reads via Lambda.

Monthly cost for this architecture: ₹0, indefinitely, unless traffic grows dramatically. The architecture handles 100,000 monthly visitors comfortably within always-free limits. The only time-limited component is S3 storage (12-month free), but S3 costs for a static site are under ₹10 per month after the free period — negligible.

When Free Tier Ends — The Migration Decision

At month 12, EC2 t2.micro starts costing ₹600–800 per month (Mumbai region). RDS db.t2.micro adds ₹1,200–1,500 per month. A simple web application running both — a Node.js server plus a MySQL database — crosses ₹2,500–3,000 per month before adding data transfer and storage costs. With all components, a basic EC2 + RDS setup typically runs ₹3,000–5,000 per month on AWS Mumbai.

At that point, the migration decision depends on your use case. If you're using Lambda, DynamoDB, and SES heavily, stay on AWS — those services remain free and the ecosystem integration (IAM, CloudWatch, SES deliverability) is valuable. AWS also has the strongest compliance posture for Indian financial services projects.

If your architecture is EC2-centric (a monolith running on a server), evaluate alternatives. DigitalOcean's Mumbai droplets provide comparable compute for ₹800–1,500 per month. Hetzner Cloud (Frankfurt or Helsinki) offers even more compute per rupee at ₹400–600 per month, though the European location adds 120–150ms latency for Indian users. For latency-sensitive applications, DigitalOcean Mumbai is the closest alternative.

AWS Mumbai Region (ap-south-1) for Indian Projects

Always deploy to ap-south-1 when building for Indian users. The latency difference is significant: from Bengaluru or Mumbai, ap-south-1 delivers 5–15ms response times. Singapore (ap-southeast-1) adds 60–80ms. US East (us-east-1) adds 200ms or more. For web applications where every millisecond affects Core Web Vitals and conversion rates, this matters.

DPDPA 2023 (India's data protection law) considerations also favour ap-south-1: keeping personal data of Indian residents in India is the simplest compliance path. Storing data in Singapore or the US requires additional legal mechanisms under DPDPA that are still being clarified.

Mumbai region pricing runs 10–15% higher than us-east-1. This is worth paying for the latency and compliance benefits for India-focused applications. One caveat: some newer AWS services — certain Amazon Bedrock models, some ML inference endpoints — are not yet available in ap-south-1 as of early 2026. For those workloads, ap-southeast-1 (Singapore) is the next closest option.

Frequently Asked Questions

Can I use the AWS Free Tier for a production application?

For very small traffic volumes, yes — a Lambda + S3 + DynamoDB setup comfortably handles 10,000–50,000 monthly active users within free tier limits. The risk is that EC2 t2.micro and t3.micro instances carry no SLA guarantees on performance; they can be "CPU-throttled" when the underlying host is busy. For anything customer-facing with revenue attached to it, budget ₹2,000–5,000 per month for reliability. The sensible division: use the free tier for development and staging, and run production on paid resources where performance is predictable.

I got an unexpected AWS bill. What do I do?

Start by opening Cost Explorer and identifying which service generated the charge. The most common culprits on Indian developer accounts are: a NAT Gateway left running after a tutorial (₹3,000+/month), an Elastic IP that became detached from a stopped instance, EC2 snapshots accumulating silently, or a data transfer spike after a blog post went viral. Once you've identified the service, stop or delete the resource immediately. Then contact AWS Support and request a one-time billing credit — AWS frequently grants this for first-time mistakes, especially for students and startups. Be specific: describe what happened, confirm you've terminated the resource, and ask for a credit. AWS India support responds via chat within a few hours. Finally, set up targeted billing alerts for that specific service going forward.

Is AWS or Google Cloud better for Indian developers on free tier?

They're strong in different areas. GCP Free Tier is more generous for specific services: the e2-micro VM is always free (not limited to 12 months like AWS), BigQuery provides 1TB of query processing per month always free, and Cloud Run gives 2 million requests per month always free. AWS wins on breadth — more services have free tiers and the ecosystem of tutorials, managed services, and third-party integrations is larger. For Indian developers: choose GCP if your work involves data analysis (BigQuery is exceptional) or container workloads (Cloud Run is simpler than ECS). Choose AWS if your team already knows AWS, or if you're building serverless applications where Lambda's maturity and tooling are an advantage. Azure's free tier is the weakest for most Indian developer use cases — the credits are limited and the pricing complexity is high.