How much does it cost to run a website on AWS? From cents to thousands
Running a website on AWS spans a huge range: a static site costs pennies, a small dynamic site tens of dollars, and a high-traffic app hundreds or thousands a month. The cost depends on whether it is static, dynamic, and how much traffic it serves. Here is the map.
Quick answer
Running a website on AWS spans a wide range because the word website covers everything from a static page to a full application. A static site costs pennies to a few dollars a month; a small dynamic site with a server and database costs roughly tens of dollars; a high-traffic application with autoscaling, a managed database, caching, and a CDN runs hundreds to thousands a month. The two questions that set the cost are: is it static or dynamic, and how much traffic does it serve? Static and low-traffic is nearly free; dynamic and high-traffic scales with compute, database, and data transfer.
There is no single answer to what a website costs on AWS because a website can be a single static page or a sprawling application. The cost is set by two things: whether the site is static or dynamic (does it need a server and database), and how much traffic it serves. Placing your site on those two axes gives a realistic range, from pennies to thousands a month.
The cost tiers
| Type | What runs | Rough monthly cost |
|---|---|---|
| Static site | S3 + CloudFront, no server | Pennies to a few dollars |
| Small dynamic site | Small server + small DB | Tens of dollars |
| Growing app | Autoscaling, Multi-AZ DB, cache | Hundreds |
| High-traffic app | Large fleet, CDN, heavy DB | Thousands |
The jump between tiers is driven by adding a server and database (static to dynamic) and then by scaling them with traffic. A static site has no compute cost, so it is nearly free (covered in how much a static site costs), while a dynamic site adds the largest costs: continuously-running compute and a managed database.
Static: nearly free
A static site (HTML, CSS, JavaScript with no backend) costs almost nothing because there is no server. You pay for storage (tiny), requests (cheap), and data transfer (the main meter), and the free tier can cover a small site for the first year. Bandwidth is the only thing that scales the bill, so even a popular static site stays inexpensive.
Dynamic: you are paying for compute and a database
The moment a site needs server-side logic, it needs compute and usually a database, and those become the dominant costs. A small dynamic site on a modest instance with a small Postgres database lands in the tens of dollars per month. Add a load balancer, caching, Multi-AZ redundancy, and autoscaling and it climbs into the hundreds, the same components as a SaaS backend. If the dynamic part is an API, its cost follows hosting an API.
Traffic scales the dynamic tiers
Once dynamic, traffic drives the cost: more visitors means more compute (bigger or more instances), more database load, and more data transfer out. A high-traffic application with a large autoscaling fleet, a heavy managed database, caching, and a CDN can reach thousands a month. Data transfer, in particular, grows silently as traffic rises, a classic hidden cost to watch.
How to keep website cost proportional
Use a static site wherever you can, since it is the cheapest option by far. For dynamic sites, right-size the compute and database, use serverless for spiky or low-volume workloads, choose Graviton for compute, apply savings plans to steady capacity, and put a CDN in front to cut origin load and transfer. Watch egress as traffic grows. Placed correctly on the static-versus-dynamic and traffic axes, a website's AWS cost stays proportional to what it actually does, from pennies for a static page to a managed spend for a real application.
FAQ
How much does it cost to run a website on AWS?
It spans a wide range. A static site costs pennies to a few dollars a month, a small dynamic site with a server and database runs roughly tens of dollars, a growing app with autoscaling and a managed database reaches hundreds, and a high-traffic application with a large fleet, CDN, and heavy database runs into thousands. The cost is set by whether the site is static or dynamic and how much traffic it serves.
Why is a static website so much cheaper?
Because there is no server or database to pay for. A static site (HTML, CSS, JavaScript with no backend) costs only storage, requests, and data transfer, and the free tier can cover a small one for the first year. A dynamic site adds continuously-running compute and usually a managed database, which are the largest costs, so going dynamic is the big jump in the bill.
What makes a dynamic website expensive?
Compute and the database. A dynamic site needs server-side logic (continuously-running compute) and usually a database, and these dominate the cost. Adding a load balancer, caching, Multi-AZ redundancy, and autoscaling pushes it higher, and traffic then scales all of them. Data transfer out also grows silently as traffic rises, adding to the total.
How does traffic affect website cost on AWS?
For a static site, only bandwidth (data transfer) scales, so cost grows gently. For a dynamic site, traffic drives compute (bigger or more instances), database load, and data transfer all at once, so cost climbs faster. A high-traffic dynamic application with a large autoscaling fleet and heavy database can reach thousands a month, mostly compute, database, and transfer.
How do I minimize the cost of running a website on AWS?
Use a static site wherever possible since it is the cheapest by far. For dynamic sites, right-size compute and database, use serverless for spiky workloads, choose Graviton for compute, apply savings plans to steady capacity, and put a CDN in front to cut origin load and transfer. Watch egress as traffic grows, since it is a classic hidden cost that scales quietly.
How does C3X help estimate website cost on AWS?
C3X reads your Terraform and prices the resources behind your website (S3, CloudFront, EC2, RDS, load balancers) against a live catalog before deploy, so you see the monthly cost of the setup in the pull request. That turns the wide static-to-dynamic cost range into concrete numbers for your specific architecture before it ships.
What to do next
Turn a vague website cost range into concrete numbers before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.