TL;DR: AWS Fargate costs $0.04048 per vCPU-hour and $0.004445 per GB-hour on Linux x86 in us-east-1, so one 1 vCPU / 2 GB container running all month is $36. A small app of two such containers costs $72 for the containers and about $146 a month once you add a load balancer, public IPv4 addresses, 500 GB of traffic and logs. The extras cost as much as the compute.
- ARM and Spot: ARM is 20% cheaper than x86, and Spot about 68% cheaper today.
- Same app on EC2: about $121 on one t4g.large with the same load balancer and traffic.
- Same app on Lightsail: about $62, because 5 TB of transfer is included.
- Same app on a rented server: about $16 on a Netcup VPS 1000, with no load balancer to rent and traffic included.
- Pick Fargate if the workload is bursty or scheduled, or you need AWS to replace failed tasks across zones.
- Pick Ployz, which I build, if your app runs all day and you want git-push deploys on that $16 server instead.
AWS Fargate is AWS's serverless container engine: you hand ECS a container and a task size, and AWS runs it without you managing a server, billed per second for the vCPU and memory you asked for.
How much does AWS Fargate cost per hour?
In us-east-1, Fargate on Linux x86 costs $0.04048 per vCPU-hour and $0.004445 per GB of memory per hour, billed per second with a one-minute minimum. A task with 1 vCPU and 2 GB costs $0.0494 an hour, about $36 a month if it never stops. You pay for the task size you ask for, not what the container uses.
| Fargate, us-east-1 | Per vCPU-hour | Per GB-hour | 1 vCPU / 2 GB, all month |
|---|---|---|---|
| Linux x86 | $0.04048 | $0.004445 | $36.04 |
| Linux ARM (Graviton) | $0.03238 | $0.00356 | $28.84 |
| Linux x86, Spot | $0.01290 | $0.00142 | $11.48 |
| Linux ARM, Spot | $0.01031 | $0.00113 | $9.19 |
On-demand rates are from the Fargate pricing page, which shows them per second ($0.000011244 per vCPU-second on x86); times 3,600 they match the hourly rates in the Price List API. Spot rates are what that page loads for us-east-1 today. They move, and AWS only promises "up to a 70% discount". Windows and extra disk are in other Fargate rates below.
Task sizes come in fixed combinations: 1 vCPU allows 2 to 8 GB, 2 vCPU allows 4 to 16 GB, and so on (Fargate task sizes). If your app needs 1 GB but you ask for 1 vCPU, you pay for 2 GB, and the calculator rounds up the same way. ECS itself adds nothing: "there is no additional charge for Amazon ECS orchestration" (ECS pricing).
What would your app cost on Fargate, EC2, Lightsail or a server?
Pick the app closest to yours, or customize it. Each "task" is one container running 24/7. The EC2, Lightsail and server rows put all tasks on one machine with the same total vCPUs and 1 GB of RAM spare for the OS and Docker. The load balancer switch adds an ALB on Fargate and EC2 and an $18 load balancer on Lightsail; a server running Ployz doesn't need one. The Fargate and EC2 bills include 10 GB of CloudWatch logs a month, which adds $2.65.
- Fargate task size
- 1 vCPU / 2 GB
- EC2 instance
- t4g.large
- Lightsail instance
- Lightsail 8 GB
- Server
- Netcup VPS 1000
- Fargate (x86, on-demand)$146/mo
$0.04048 per vCPU-hour, $0.004445 per GB-hour, one public IPv4 per task, ALB, egress past 100 GB at $0.09, 10 GB of CloudWatch logs (first 5 GB free).
- EC2 (t4g + 30 GB gp3)$121/mo
Smallest Graviton t4g that fits, 30 GB gp3 at $0.08/GB, one public IPv4, same ALB, egress and logs as Fargate.
- Lightsail instance$62/mo
Smallest Linux bundle that fits ($12 to $384), IPv4 and 3 to 8 TB of transfer included, $0.09/GB past that, $18 load balancer.
- Your own server + Ployz$16/mo
Netcup VPS 500 to 8000 (€8.26 to €67.11 incl. VAT, 12-month term, Manassas US or EU), traffic included. Ployz is free.
What does a small app cost on Fargate, EC2, Lightsail and a server?
Reference app: 2 containers x 1 vCPU / 2 GB, 500 GB out, 10 GB logs, load balancer on, us-east-1:
| Line | Fargate x86 | EC2 t4g.large | Lightsail 8 GB | Netcup VPS 1000 + Ployz |
|---|---|---|---|---|
| Compute | $72.08 | $49.06 | $44.00 | $16.39 |
| Disk | included (20 GB) | $2.40 | included | included |
| Public IPv4 on compute | $7.30 | $3.65 | included | included |
| Load balancer + its IPv4 | $27.73 | $27.73 | $18.00 | $0 (Caddy on the server) |
| Data transfer out | $36.00 | $36.00 | $0 (5 TB included) | $0 (traffic included) |
| Logs | $2.65 | $2.65 | $0 | $0 |
| Monthly total | $146 | $121 | $62 | $16 |
Fargate ARM brings the first column to $131, and Fargate Spot to $97. Without a load balancer and at 100 GB of traffic, the gap narrows but holds: $16 on the server, $44 on Lightsail, $58 on EC2 and $82 on Fargate. Traffic is the line that pulls AWS apart from the rest.
How much cheaper are Fargate ARM and Fargate Spot?
ARM is 20% cheaper than x86 on both vCPU and memory, so the reference app's compute drops from $72 to $58 a month. Spot is about 68% cheaper today, which brings it to $23 on x86 and $18 on ARM. Spot tasks can be stopped when AWS needs the capacity back, so Spot suits workers and batch jobs, not the only copy of your website.
The other discount is a Compute Savings Plan. AWS says it saves "up to 50%" on Fargate for a one- or three-year commitment (Fargate pricing). It's also a contract, which is what Fargate was meant to save you from.
Other Fargate rates
| Fargate, us-east-1 | Price | 1 vCPU / 2 GB, all month | Source |
|---|---|---|---|
| Windows x86, on-demand | $0.046552 per vCPU-hour + $0.046 OS license, $0.00511175 per GB-hour | $75.03 | Price List API |
| Ephemeral storage past 20 GB | $0.000111 per GB-hour | $0 at the default 20 GB | Fargate pricing |
What extra costs come with Fargate?
Five lines show up next to the Fargate compute: an Application Load Balancer, a public IPv4 address for every task and load balancer zone, data transfer out past 100 GB, CloudWatch logs past 5 GB, and a NAT gateway if your tasks sit in private subnets. For the reference app they add $73.68, as much as the containers.
| Extra | Price | Reference app (500 GB, 10 GB logs) | Source |
|---|---|---|---|
| Application Load Balancer | $0.0225/hour + $0.008 per LCU-hour | $16.43 + $4.00 | ELB pricing |
| Public IPv4, 2 ALB zones | $0.005/hour each | $7.30 | VPC pricing, ALB docs |
| Public IPv4, 1 per task | $0.005/hour each | $7.30 | VPC pricing |
| Data transfer out | First 100 GB free, then $0.09/GB | $36.00 | EC2 pricing, Price List API |
| CloudWatch Logs | First 5 GB free, then $0.50/GB ingested + $0.03/GB-month stored | $2.65 | CloudWatch pricing |
| NAT gateway (private subnets only) | $0.045/hour + $0.045/GB processed | not used | VPC pricing |
| Extras total | $73.68 |
- The load balancer. You need one as soon as you run more than one task behind a domain, or want HTTPS from AWS Certificate Manager. An LCU is the highest of four meters per hour. For a small app it's usually processed bytes, at 1 GB per LCU-hour for container targets, so I charged $0.008 per GB of traffic. Treat that as a floor, because lots of new connections can push it higher.
- Public IPv4. Since 1 February 2024 AWS charges "$0.005 per IP per hour for all public IPv4 addresses" (AWS blog). An ALB must run in "at least two Availability Zone subnets" and "has one IP address per enabled Availability Zone" (ALB docs), so that's two addresses before your tasks get one each.
- Why tasks get public IPs at all. AWS's docs say a task in a public subnet needs a public IP to pull its image, and a task in a private subnet needs a NAT gateway (Fargate networking). I priced the cheap way, a public IP per task. A NAT gateway is $32.85 a month plus $0.045 per GB processed, four and a half times what the two task addresses cost.
- Data transfer. The 100 GB free allowance is "aggregated across all AWS Services and Regions" (EC2 pricing), so if you already use it elsewhere, every GB costs $0.09. At 1 TB that's $81; at 5 TB, $441.
- Logs. Fargate tasks usually ship stdout to CloudWatch with the
awslogsdriver. A chatty app writing 50 GB a month adds about $24.
The Fargate pricing page mentions logs, IPv4 and data transfer in its footnotes, but not the load balancer.
What does the same app cost on EC2?
The reference app fits on one t4g.large (2 vCPU, 8 GB, Graviton) at $0.0672 an hour, which is $49.06 a month. Add $2.40 for a 30 GB gp3 disk and $3.65 for its public IPv4, and it's $55 before the extras, against $79 for the two Fargate tasks with their addresses. With the same ALB, traffic and logs, EC2 is $121.
| EC2 line, us-east-1 | Price | Per month | Source |
|---|---|---|---|
| t4g.medium (2 vCPU, 4 GB) | $0.0336/hour | $24.53 | EC2 on-demand pricing |
| t4g.large (2 vCPU, 8 GB) | $0.0672/hour | $49.06 | Same |
| t4g.xlarge (4 vCPU, 16 GB) | $0.1344/hour | $98.11 | Same |
| EBS gp3 storage | $0.08 per GB-month | $2.40 for 30 GB | EBS pricing |
| Public IPv4 | $0.005/hour | $3.65 | VPC pricing |
A 4 GB t4g.medium is too small, because two 2 GB containers plus the OS, Docker and the ECS agent don't fit. Every machine here gets 1 GB of headroom. Without the load balancer, EC2 is about $94 at 500 GB, mostly data transfer.
The catch with t4g is that it's burstable. A t4g.large earns credits for a baseline of 30% per vCPU, and since T4g launches in Unlimited mode, running above that for a day costs extra (burstable docs). Most small web apps idle well under 30%. If yours burns two full cores all day, you need a non-burstable instance and the EC2 number goes up.
Is Lightsail cheaper than EC2?
Yes, for a small app, by a lot. A Lightsail instance with 2 vCPU and 8 GB is $44 a month with a public IPv4, a 160 GB SSD and 5 TB of transfer included. 500 GB of traffic adds $36 on EC2 and nothing on Lightsail. With a load balancer, it's $62 on Lightsail against $121 on EC2.
| Lightsail Linux bundle (IPv4) | vCPU | RAM | SSD | Transfer | Per month |
|---|---|---|---|---|---|
| $12 plan | 2 | 2 GB | 60 GB | 3 TB | $12 |
| $24 plan | 2 | 4 GB | 80 GB | 4 TB | $24 |
| $44 plan | 2 | 8 GB | 160 GB | 5 TB | $44 |
| $84 plan | 4 | 16 GB | 320 GB | 6 TB | $84 |
From the Lightsail pricing page. Transfer past the allowance costs $0.09 per GB in US regions, and a Lightsail load balancer is $18 a month. Bundles without a public IPv4 address start at $3.50. At 5 TB out, the included transfer saves $441 a month against EC2.
Lightsail also has container services, the closest thing to Fargate. You pick a power and a number of nodes, traffic is load-balanced across nodes, you get an HTTPS endpoint, and each service includes 500 GB of transfer (Lightsail containers docs). A Medium node is 1 vCPU and 2 GB for $40 a month, so the reference app is $80 on two Medium nodes or one Large node. That's more than the Lightsail instance, but it includes the load balancing and needs no server upkeep.
What does it cost on a rented server?
About $16 a month on a Netcup VPS 1000 with Ployz: $16.39 for the server, and Ployz is free. The server has 4 vCPU and 8 GB, traffic is included, and Ployz serves HTTPS from the server itself, so there's no load balancer line.
| Server | Specs | Per month | Where | Source |
|---|---|---|---|---|
| Netcup VPS 500 | 2 vCPU, 4 GB, 64 GB SSD, traffic included | €8.26 incl. VAT (about $9.33), 12-month term | Manassas (US) for about €1 more, EU | Netcup VPS |
| Netcup VPS 1000 | 4 vCPU, 8 GB, 128 GB SSD, traffic included | €14.50 incl. VAT (about $16.39), 12-month term | Manassas (US) for about €1 more, EU | Same |
| DigitalOcean 8 GiB Droplet | 4 vCPU, 8 GiB, 160 GiB SSD, 5 TB transfer | $48, monthly | US and others | DigitalOcean Droplets |
| Hetzner CX33 | 4 vCPU, 8 GB, 80 GB, 20 TB traffic | $9.99 + about $0.60 IPv4, hourly | Germany, Finland only | Hetzner price list |
In the US, Netcup's Manassas datacenter is the cheap option. DigitalOcean costs more but bills monthly: $48 with Ployz for this app, still under Lightsail with a load balancer. Hetzner's CX line is cheapest of all but Europe only, and after its two 2026 price rises its US servers cost more than DigitalOcean's. I break down both in Hetzner pricing and DigitalOcean pricing, and the cheapest VPS roundup has more options.
What the server price leaves out:
- A dead server. If your only server dies, the app is down until it's back. Fargate replaces a failed task for you. With replicas on a second server, Ployz keeps serving from the other one, and a database with a mirror there can be restored from it.
- The AWS network. If your app talks to S3, SQS or RDS all day, being outside AWS costs you latency and AWS egress.
Is Fargate more expensive than EC2?
Yes, for always-on apps, by about 47% on x86 and 18% on ARM. The two reference tasks cost $72 a month on Fargate x86 and $58 on ARM, while the t4g.large that runs both is $49, before disks and IPs. That premium is the price of never patching a host.
The gap used to be wider. The Hacker News thread that ranks for "aws fargate pricing" dates from launch week in November 2017, when an AWS engineer gave the price as "$0.0506 per CPU per hour, $0.0127 per GB of memory per hour". Today's rates are 20% less for CPU and 65% less for memory.
Fargate wins on anything that isn't on all the time. The ECS pricing page's own example is five tasks running 10 minutes a day for $1.26 a month (ECS pricing). An always-on app gets none of that benefit. The same pattern shows up across platforms in my PaaS pricing overview: per-second compute is cheap until it runs all month.
Fargate or your own server?
| If… | Pick |
|---|---|
| The workload is bursty or scheduled, needs AWS to replace failed tasks across zones, or its data lives in AWS | Fargate, on ARM and Spot where you can |
| You want to stay on AWS but the app is small | Lightsail, for the included transfer |
| The app runs all day, serves real traffic, or is several containers | Your own server: ten tasks on Fargate are ten bills, on one VPS they're one |
Where Ployz fits
Ployz gives you the part of Fargate you wanted, push a container and it runs, for about $16 a month instead of $146. Push to GitHub and Ployz builds on your server or in your own GitHub Actions, with no container registry, so there's no ECR either. Node, Python, Ruby, PHP, Go, Rust, Java and Elixir apps need no Dockerfile, and any Docker image works too.
ployz up --server root@your-server
That installs Ployz on the server over SSH, builds the current directory and gives it an HTTPS address. Deploys have zero downtime once you set a health check. Every server runs its own Caddy, so there's no ALB to rent, and a second server joins with one command when one isn't enough.
Ployz keeps a mirror of a database on a second server and syncs it when you ask, so you can restore from it or move the database there with seconds of downtime. If you need AWS to replace failed tasks across zones, stay on Fargate. Ployz is free on your own servers, custom domains included. If you'd rather do it by hand, Docker and Caddy get you most of the way for the same server price.
Deploy your containers on your own server with Ployz, free.
FAQ
Is ECS free?
Yes, ECS itself is free: "there is no additional charge for Amazon ECS orchestration". You pay for the Fargate tasks or EC2 instances it runs, plus the load balancer, IPs, traffic and logs.
Does AWS Fargate have a free tier?
No, not of its own: the Fargate pricing page lists no free allowance, so every task-second is billed. New AWS accounts get $100 in credits, and can earn up to $100 more, which run out after at most six months on the free plan (AWS Free Tier).
How much does EKS on Fargate cost?
The same Fargate rates per vCPU and GB, plus $0.10 per cluster per hour for the EKS control plane, which is $73 a month (EKS pricing). ECS has no such fee, so for a small app ECS is the cheaper way to run Fargate.
What are the limitations of Fargate?
Fargate tasks can't use GPUs or run privileged containers, and task sizes come in fixed CPU and memory pairs, from 0.25 vCPU with 512 MB up to 32 vCPU (Fargate task definition docs). Windows tasks need x86 and at least 1 vCPU.
Does Fargate charge when a task is idle?
Yes. Fargate bills the vCPU and memory you asked for, per second, for as long as the task runs, whether the container is busy or not.
Do I need a NAT gateway with Fargate?
Only if your tasks sit in private subnets. Tasks in a public subnet need a public IPv4 address ($3.65 a month each) instead.
How I checked
I checked every price on 2026-10-08 for US East (N. Virginia), from AWS's own pricing pages and the AWS Price List API those pages are built from. Netcup prices are in euros, converted at about $1.13. AWS free tier credits aren't counted, because they run out. I didn't benchmark the instances; the sizing assumes each container needs the vCPU and memory it asks for, plus 1 GB for the host. I lean toward servers because I've paid the other way: about $600 for my first month on Laravel Cloud and $500+ a month on Railway, against one €80 dedicated server today. I build Ployz, so weigh the "Where Ployz fits" section with that in mind.