Understanding ECS cluster resources
Before you can start to manage the capacity of your ECS clusters, you need to have a clear and solid understanding of the various resources that affect the capacity of your ECS clusters.
In general, there are three key resources that you need to consider:
- CPU
- Memory
- Network
CPU resources
CPU is a core resource that Docker supports and manages as a first-class citizen. ECS leverages the CPU resource management capabilities of Docker, and exposes the ability to manage these via your ECS task definitions. ECS defines CPU resources in terms of CPU units, where a single CPU core contains 1,024 CPU units. When you configure your ECS task definitions, you specify a CPU reservation, which defines how much CPU time will be allocated to the application whenever there is contention for CPU time.
Note that a CPU reservation is not a limit as to how much CPU the ECS task can use–each ECS task is free to burst and use all available CPU resources–the reservation is only applied...