- AWS service for container management
- supports Docker containers
- provides scalability and performance to container management
- easily manage cluster of EC2 instances
- Removes following cluster management tasks
- Installation
- Operation
- scaling
ECS Terms
- Task Definition
- Defines launching of docker container
- Enlists settings for
- exposed port
- docker image
- cpu shares
- memory requirement
- command to run and environmental variables
- Task
- Container in action or running with settings as per Task Definition
- Service
- Used to describe long running tasks of Task Definition. same task definition can be used by multiple running containers
- Cluster
- Logical collection of EC2 instances
- Container Instance
- EC2 instance which is part of ECS Cluster and
- Cluster has running docker and ecs-agent
- Container agent
- Software agent running on EC2 instances in ECS cluster.
- Task definition
- application having multiple containers
- provide
- Docker images
- amount of CPU
- memory to use
- ports etc.
- Service
- runs and maintains instances of task definition.
- task is restarted if task stops in a service
- ensure specified running tasks are achieved and maintained
- also has
- load balancer configuration
- IAM roles
- placement strategies
- Service auto-scaling
- similar to EC2 auto scaling
- but applies to containers running for each service
- a scaling policy can trigger scale-out based on alarms.
Amazon ECS Application
- Microservices – Amazon ECS helps you run microservices applications with native integration to AWS services and enables continuous integration and continuous deployment (CICD) pipelines.
- Batch processing – Amazon ECS lets you run batch workloads with managed or custom schedulers on Amazon EC2 On-Demand Instances, Reserved Instances, or Spot Instances.
- Application migration to the cloud – Legacy enterprise applications can be containerized and easily migrated to Amazon ECS without requiring code changes.
- Machine learning – Amazon ECS makes it easy to containerize ML models for both training and inference. You can create ML models made up of loosely coupled, distributed services that can be placed on any number of platforms, or close to the data that the applications are analyzing.
Amazon ECS Working
AWS Certified Developer - Associate Free Practice TestTake a Quiz