AWS App Runner cost: active vs provisioned, and the idle charge
App Runner bills active compute (vCPU and memory) while serving requests and a lower provisioned charge for memory when idle. That idle floor matters for low-traffic services. Here is how the two rates work and when App Runner is worth it.
Quick answer
App Runner charges an active rate (vCPU plus memory, roughly $0.064 per vCPU-hour and $0.007 per GB-hour) while your container serves requests, and a lower provisioned rate for retained memory when idle. The idle floor means a low-traffic service still costs something around the clock, so App Runner shines for steady traffic, not rare requests.
App Runner runs a container and scales it to your web traffic without you managing infrastructure. Its pricing has two rates, and understanding the split between them explains whether App Runner is cheap or expensive for your workload.
Active vs provisioned
When your container is handling requests it is billed the active rate for both vCPU and memory. When it is idle but kept warm, App Runner drops to a provisioned rate that charges for retained memory only, at a lower price. This keeps a warm instance ready so there is no cold start, at the cost of a small always-on charge.
The idle floor
| State | Bills for |
|---|---|
| Active (serving requests) | vCPU + memory at active rate |
| Provisioned (idle, warm) | Memory at lower provisioned rate |
For a service with steady traffic, most hours are active and the model is efficient. For a service that gets a request every few minutes, you pay the provisioned floor around the clock to keep it warm, which can cost more than a request-billed option that scales to zero.
App Runner vs Fargate vs Lambda
App Runner is simplest for a web service and priced between Lambda and Fargate in spirit. For very spiky or rare traffic, Lambda that scales to zero can be cheaper. For steady, higher-throughput services, Fargate or EC2 can be cheaper per unit of compute. App Runner trades some of that efficiency for operational simplicity.
Controlling App Runner cost
Size the vCPU and memory to what the service needs, set a sensible maximum concurrency so autoscaling does not over-provision, and reconsider the service if it is idle most of the time, since the provisioned floor is pure cost when no one is calling.
FAQ
How is AWS App Runner priced?
App Runner charges an active rate for vCPU and memory (roughly $0.064 per vCPU-hour and $0.007 per GB-hour) while serving requests, plus a lower provisioned rate for retained memory when idle but kept warm. Cost is the mix of active and provisioned hours.
Does App Runner charge when idle?
Yes, a provisioned rate for retained memory to keep an instance warm and avoid cold starts. For low-traffic services this idle floor runs around the clock, so App Runner is most efficient for steady traffic rather than rare requests.
Is App Runner cheaper than Fargate?
It depends on traffic. App Runner is simpler and priced conveniently for web services, but for steady, higher-throughput workloads Fargate or EC2 can be cheaper per unit of compute. App Runner trades some efficiency for operational simplicity.
Is App Runner cheaper than Lambda?
For very spiky or rare traffic, Lambda that scales to zero is often cheaper because App Runner keeps a warm instance with a provisioned floor. For steady request rates App Runner can be cheaper and avoids cold starts.
How do I reduce App Runner cost?
Right-size vCPU and memory, set a sensible maximum concurrency so autoscaling does not over-provision, and reconsider App Runner for services that are idle most of the time, since the provisioned floor is pure cost when there is no traffic.
Does C3X estimate App Runner cost?
C3X prices the aws_apprunner_service configuration from your Terraform, including the vCPU and memory sizing. Because active versus idle hours depend on traffic, you provide that as a usage assumption.
What to do next
Price your container service before you deploy. C3X reads your Terraform and prices App Runner and the rest of your stack 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.