🐳
ECS Fargate Microservice
ALB → ECS Fargate → RDS. Containerized app with no server management.
What you can build with this
Deploy a Dockerized application without managing any servers. You provide a Docker image; ECS Fargate runs it in a private network, scales it, and restarts it if it crashes. The load balancer handles HTTPS and routing. RDS provides a managed database. This is the modern recommended approach for containerized Node.js, Python, Go, or Java services.
Deployment timing
After you run the deploy command, resources come online at different times. Check the validation steps in order.
| Resource | Ready in |
|---|---|
| VPC, subnets, security groups | 1–2 min |
| Load Balancer | 2–3 min |
| RDS Database | 5–10 min |
| Container starts running | 3–5 min after stack completes |
| Load balancer marks container healthy | 1–3 min after container starts (depends on your health check path) |
| Custom domain DNS | 5–30 min after Route53 record saved |
DNS / Certificate note: Your Fargate containers run in private subnets with no public IPs — all traffic enters through the load balancer. Point your Route53 alias A record to the load balancer DNS name from stack outputs.
CloudFormation parameters
These are the values you will fill in when deploying the exported template. Changing these does not break the template — that is the point.
| Parameter | What to provide | Example |
|---|---|---|
| ContainerImage | Your ECR image URI | 886996446910.dkr.ecr.us-east-1.amazonaws.com/my-app:latest |
| ContainerPort | Port your container listens on | 3000 |
| DbPassword | Database admin password | SecurePass123! |
| AcmCertificateArn | HTTPS certificate ARN | arn:aws:acm:... |
| DesiredCount | Number of running container replicas | 1 |