ECS
Introduction
Elastic Container Service (ECS) manages Docker applications across a cluster. It's regional.
Feature
Task Definition
Specify one or more containers, including:
Docker repository and image
memory and CPU
shared data volumes
Network mode:
none
bridge
(default): utilizes Docker's built-in virtual network which runs inside the instance.awsvpc
: each task is allocated an ENI, and must have a NetworkConfiguration for the ECS service. (provides more control over bridge mode)host
: bypasses virtual network to the instance's network directly. Can't run multiple instantiations of the same task on a single container instance when port mappings are used.
ECS Cluster can contain multiple different container instance types.
Can create IAM policies for Clusters, Task Execution roles.
Schedule ECS in 2 ways:
Service Scheduler
Custom Scheduler
Can use ECS agent (Linux only) to connect to EC2 instances of the Cluster.
Security Groups operate at instance level, not at the task or container level.
ECS can't be the origin of CloudFront.
Reference
Docker
Packages code, configurations, dependencies into containers (standard units).
Docker is infinitely scalable so running docker on AWS is a great way to run distributed applications at any scale.
Strength:
No more dependency hell
Consistent progression from DEV -> TEST -> QA -> UAT -> PROD
Isolation (applications are devided into different containers)
Extreme code portability
Microservices
Last updated