The Fastest Container Deployment with AWS App Runner - From Source Code to Production in Minutes

Just specify source code or a container image to get an HTTPS endpoint up and running. Learn the differences from ECS/Fargate and how to connect to private resources using VPC connectors.

Where App Runner Fits In

App Runner is a service for deploying web applications and APIs with minimal configuration. While ECS/Fargate requires setting up task definitions, services, clusters, and ALBs, App Runner completes deployment simply by specifying source code or a container image. HTTPS endpoints, TLS certificates, load balancing, and auto scaling are all configured automatically. It is ideal for quickly deploying simple web applications such as web APIs, microservices, and internal tools.

Deployment and Auto Scaling

Source-based deployment connects a GitHub repository and specifies a runtime (Python, Node.js, Java, Go, .NET) along with build commands. Automatic build and deployment runs on every push. Image-based deployment specifies an ECR image URI and automatically detects image updates for deployment. Auto scaling is based on request count, adding instances when the concurrent request threshold (default 100) is exceeded. Setting the minimum instance count to 1 keeps one instance running at all times even during periods of no traffic, avoiding cold starts.

VPC Connectivity and Custom Domains

Configuring a VPC connector allows your App Runner service to access resources within a VPC (RDS, ElastiCache, OpenSearch) over a private network. Security groups control access, and a configuration that permits database connections only from the App Runner service is recommended. Setting up a custom domain is as simple as entering the domain name in the console and adding a CNAME record to your DNS. TLS certificates are automatically issued and renewed. For more detailed coverage of container deployment, you can also check out related books on Amazon.

App Runner Pricing

App Runner pricing is based on pay-as-you-go charges for the computing resources of active container instances. Provisioned instances cost approximately $0.007 per vCPU-hour and $0.007 per GB-hour of memory, with memory charges applying even during periods of no traffic. Active instances (processing requests) cost approximately $0.064 per vCPU-hour and $0.007 per GB-hour of memory. Automatic build charges are approximately $0.005 per minute. With the minimum instance count set to 1, a constant provisioned cost of about $5/month applies. Compared to ECS/Fargate, the elimination of ALB fixed costs (approximately $16/month) gives App Runner a cost advantage for small-scale services.

Summary

App Runner is a service that simplifies container deployment to the extreme. Just specify source code or an image to build a production environment, with auto scaling and HTTPS configured automatically. VPC connectors enable access to private resources, making it ideal for simple web applications that do not require the flexibility of ECS/EKS.