Amazon ECS Rolling Update Deployment
Rolling update deployment is managed by Amazon ECS. The service scheduler replaces the currently running version of a container with the specified version (which can be a newer or older version).
During a rolling update, the number of tasks Amazon ECS adds to or removes from a service is controlled by the DeploymentConfiguration.
The DeploymentConfiguration consists of the minimum and maximum number of tasks allowed to run during a service deployment.
What is DeploymentConfiguration?
What?
DeploymentConfiguration is a property of a Service in AWS ECS.
This property specifies optional deployment parameters that control the number of tasks running during a deployment, as well as the order in which tasks are stopped and started.
DeploymentConfiguration has 2 attributes: MaximumPercent andMinimumHealthyPercent.
MaximumPercent
MaximumPercent represents the deployment batch size as a percentage of the desired task count. It sets the upper limit (rounded down) on the number of tasks that can be in RUNNING or PENDING state during a deployment. If using the EC2 launch type, tasks with containers in DRAINING state also count toward this upper limit.
The default value for MaximumPercent is 200%.
MinimumHealthyPercent
MinimumHealthyPercent represents the lower limit (rounded up) on the number of tasks that must remain in RUNNING state during a deployment, expressed as a percentage of the desired task count. If using the EC2 launch type, tasks with containers in DRAINING state also count toward this lower limit.
Examples
Consider a Service with a desired task count of 4. The currently running version is Version A, and the target version to update to is Version B.
MaximumPercent=200, MinimumHealthyPercent=100
During deployment, the upper limit on task count is 8 (⌊4*200%⌋), and the lower limit is 4 (⌈4*100%⌉).

MaximumPercent=100, MinimumHealthyPercent=75
During deployment, the upper limit on task count is 4 (⌊4*100%⌋), and the lower limit is 3 (⌈4*75%⌉).

MaximumPercent=121, MinimumHealthyPercent=74
During deployment, the upper limit on task count is 4 (⌊4*121%⌋), and the lower limit is 3 (⌈4*74%⌉).

MaximumPercent=100, MinimumHealthyPercent=0
During deployment, the upper limit on task count is 4 (⌊4*100%⌋), and the lower limit is 0 (⌈4*0%⌉).
