🔹 Introduction
Containers are awesome. They let developers ship apps quickly without worrying about “it works on my machine.” But deploying containers securely and at scale? That’s a different beast.
Enter AWS App Runner—a fully managed service that takes your source code or container image and spins up a production-grade web app in just a few clicks.
Whether you're a solo developer, startup, or enterprise engineer, App Runner eliminates the mess of infrastructure, networking, and scaling headaches. You focus on code. AWS handles the rest.
🧠 What is AWS App Runner?
AWS App Runner is a Platform-as-a-Service (PaaS) offering that allows you to deploy containerized web applications and APIs quickly.
- 🛠️ No Kubernetes, no EC2, no Load Balancers.
- 💡 Just point it to a source (like a Git repo or a container image), and it does the rest—build, deploy, scale.
It’s ideal for:
- Backend APIs
- Frontend web apps
- Internal tools
- Microservices
🌟 Why Use App Runner?
✅ Zero Infrastructure Management
No need to set up EC2, configure ECS clusters, or manage load balancers.
✅ Auto Scaling Out of the Box
App Runner automatically scales your application based on incoming HTTP requests. If there's no traffic, it scales down to zero.you can create you're own auto scaling document version based on your requirement
✅ Simple CI/CD
Supports automatic deployments from:
- GitHub repositories
- Bitbucket
- Amazon ECR
- Amazon ECR Public ✅ Secure by Default
- Built-in TLS, IAM roles, VPC access, and environment variable support.
✅ Enhanced Observability
- Native CloudWatch Logs support for service logging
- Integration with AWS X-Ray for end-to-end tracing and debugging
✅ Custom Domain Support Use your own domain as a alias
Record and manage TLS certificates via ACM.
🧱 How It Works (Visual Guide)
Here’s a quick overview of the App Runner flow:
- Connect Source – GitHub/Bitbucket or ECR container.
- Build & Configure – Choose runtime or image, set memory, CPU, port.
- Deploy – One-click deploy with autoscaling and monitoring.
- Access via URL – You get a secure, HTTPS-ready public URL.
⚙️ Configuration Options
Source Type:
- 🐳 Container Registry (Amazon ECR, ECR Public)
- 🧑💻 Source Code Repository (GitHub)
Deployment Trigger:
- 🖐 Manual
- 🔁 Automatic (on push to repo/image update)
Build Settings:
- App Runner runtime (Node.js, Python, Java, etc.) or custom Docker image
- Configure directly or via
apprunner.yaml
config file
Service Configuration:
Auto Scaling:
- Based on concurrency
- Minimum and maximum instance counts
Health Checks:
- Protocol: HTTP or TCP
-
Path:
/
or custom - Timeout/Interval: Customizable
Security and Observability:
- Custom Domain: Use your own domain with ACM TLS certs (alias)
- WAF Support: Attach WAF WebACLs for protection against common web attacks
- CloudWatch Logs: Full log streaming
- AWS X-Ray: Distributed tracing support
💵 Pricing Breakdown (US Region)
Component | Cost |
---|---|
1 vCPU | $0.064 per hour |
1 GB Memory | $0.007 per hour |
Auto Deployments | $1 per app/month |
Build Time | $0.005 per minute |
🧪 Demo: Deploy a Container Image from Amazon ECR
- Go to App Runner → Create Service
- Select Github .it authorizes your github account and installed AWS Connector Github. You opt for selected repo and create the connection.You can also find connections related in Connected accounts
- Choose manual or automatic deployment.( I opted for the automatic deployment option )
- Configure the build . you can do it by opting runtime and port or also by adding the
apprunner.yaml
. Here, i am using the js application
version: 1.0
runtime: nodejs18
build:
commands:
build:
- npm install
- npm run build
run:
runtime-version: 18.20.8
command: npm start
network:
port: 8000
env: PORT
env:
- name: PORT
value: "8000"
- Configure service name , add vCPU,memory (There will limitation on max vCPU and memory)
- Configure auto scaling and health checks
- Click Create & Deploy
✅ Done! You’ll get a public URL like:
https://xxxxxx.us-east-1.awsapprunner.com/
📦 Ideal Use Cases
- Lightweight APIs & microservices
- Frontend apps built in React, Angular, Vue
- Prototypes and MVPs
- Internal dashboards or admin portals
🧵 Final Thoughts
AWS App Runner is perfect when you want to focus on features instead of infrastructure. It gives you a fast, production-ready setup for web apps and APIs without needing to know the ins and outs of container orchestration.
- 🔧 No YAML juggling.
- 🚀 No infra babysitting.
- 💰 No cost surprises (scales to zero).
If you're building something new or migrating something small, give App Runner a shot.
🧩 Demo Project – Try It Yourself
Want to see AWS App Runner in action? Check out the complete demo repo:
This includes:
- Sample js app
-
apprunner.yaml
config file - Deployment instructions
⭐ Star the repo if it helps you!