- Elastic Container Service
 
- Launch docker container on AWS = Launch ECS Tasks on ECS Cluster.
 
EC2 Launch Type
- Must provision and maintain the infrastructure.
 
- Each EC2 Instances must run the ECS Agent to register in ECS Cluster.
 

Fargate Launch Type
- Serverless
 
- Create task definitions.
 
- To scale, just increase the number of tasks.
 
IAM Roles for ECS
EC2 Instance Profile
- Make API calls to ECS Service.
 
- Send container logs to CloudWatch.
 
- Pull Docker image from ECR.
 
- Reference sensitive data in Secrets Manager or SSM Parameter Store.
 
ECS Task Role
- Each task have specific role.
 
- Different roles for different ECS services.
 
- Task role is defined in task definition.
 

Load Balancer Integrations
- Application Load Balancer (Works for most cases)
 
- Network Load Balancer (Recommended only for high thoughput)
 
- Classic Load Balancer (Not recommended)
 
Data Volumes
- Mount EFS file systems onto ECS tasks.
 
- Works for both launch types.
 
- Fargate + EFS = Serverless
 
- Amazon S3 cannot be mounted.
 
ECS Service Auto Scaling
- Automatically increase or decrease the number of ECS tasks.
 
- ECS Autoscaling uses AWS Application Auto Scaling.
- Average CPU Utilization
 
- Average Memory Utilization
 
- ALB request count per target
 
 
EC2 Launch Type
- Auto Scaling Group
 
- ECS Cluster Capacity Provider
 

Solution Architectures

