EC2, Fargate, EKS or Lambda: what one workload costs
One 2 vCPU / 4 GB workload, priced five ways in us-east-1
One 2 vCPU / 4 GB workload, running every hour of the month
On-demand rates in us-east-1. The nodes are c6i.large and c6g.large; the EKS row carries one 10th of a cluster fee.
| Option | Monthly | Per hour | Who runs the nodes |
|---|---|---|---|
| EC2 node, c6i.largeyou run ECS on it | $62.05 | $0.085 | You do |
| ECS Managed Instancesthe same node plus the published fee | $69.50 | $0.0952 | AWS does |
| EKS on that nodenode plus 1/10 of the cluster fee | $69.35 | $0.095 | You do; AWS runs the control plane |
| Fargate, x86no nodes | $72.08 | $0.09874 | Nobody |
| Fargate, Gravitonno nodes; images must be arm64 | $57.67Lowest | $0.079 | Nobody |
| Lambda, 4 GB, running non-stopduration plus request charges | $175.73 | $0.241 | Nobody |
The Lambda row is a function invoked once a second, one second at a time, at 4 GB. Nothing here includes storage, load balancers, NAT gateways or data transfer.
The same workload at less than full time
An instance bills by the hour it exists; a task bills by the hour it runs. This is that difference.
| Option | Run every hour | Run half the month | Run a quarter of it |
|---|---|---|---|
| EC2 node, c6i.large, with ECSbilled whether the code runs or not | $62.05 | $62.05 | $62.05 |
| EC2 node, c6g.large, with ECSthe Graviton node of the same size | $49.64Lowest | $49.64 | $49.64 |
| Fargate, x86billed for the hours a task runs | $72.08 | $36.04 | $18.02 |
| Fargate, Gravitonbilled for the hours a task runs | $57.67 | $28.84Lowest | $14.42Lowest |
Instances stay at full price in every column: an instance you stop still has to be started again, and the work has to run somewhere in the meantime. Both Fargate rows price the whole 2 vCPU / 4 GB workload, so a half month means half the task-hours at the same size.
Which one to pick
Each recommendation links to the page for that option.
What to watch for
Gaps and gotchas that the price table does not show.
Graviton is the cheaper half of every pair
Fargate's Graviton vCPU rate is $0.0324 against $0.0405 on x86, and a c6g.large node costs $49.64 a month where the c6i.large costs $62.05. Neither difference is a rounding error on a large bill, and the move needs an arm64 image build.
The EKS fee is charged per cluster, not per workload
The table spreads the $73.00 a month EKS charges per cluster across 10 workloads. A cluster running one workload pays the whole fee on top of its node: $135.05 against $62.05 for the same node under ECS.
These are on-demand rates; a Savings Plan moves the container side only
Under the 3 yr, No Upfront Compute Savings Plan this workload costs $39.64 a month, 45% under the Fargate on-demand price, and Lambda duration is discounted by 12%. The EKS cluster fee, the ECS Managed Instances fee, the EKS Auto Mode fee and ECS Anywhere have no Savings Plans rates; each is published at a single price.
A node is shared; a task is not
The node here is exactly the workload's size, which flatters it: the ECS agent, the kubelet, the operating system and any daemon have to fit too, so in practice a 2 vCPU node carries less than 2 vCPU of application. Fargate tasks must also use a supported vCPU and memory pair, so "2 vCPU and 4 GB" is a shape you ask for, not a slice cut from a bigger machine.
Fargate Spot is not in this dataset
The ECS offer this site reads publishes Fargate on-demand rates and the Compute Savings Plans rates above, but no Spot pricing, so a Spot bill comes in below the Fargate rows here.