Soru

Zorluk: OrtaDeployment Strategy Design

A company is designing a deployment strategy for a containerized microservice running on Amazon ECS with AWS Fargate. The infrastructure is managed using AWS CloudFormation. The microservice must meet the following requirements:

* The deployment process must be automated and roll back the service to the previous stable state if the new container version fails to launch or fails container health checks.
* The deployment must not require external deployment tools like AWS CodeDeploy.
* The service must maintain its desired capacity to handle traffic with no reduction in the number of running tasks during the update.
* The deployment must minimize cost by ensuring that no more than 50%50\% additional tasks are running at any point during the rolling update.

Which configuration should the Solutions Architect specify in the CloudFormation template to meet these requirements?

  1. A
    Specify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource. Enable the deployment circuit breaker with rollback. Set `MinimumHealthyPercent` to 50%50\% and `MaximumPercent` to 100%100\%.
  2. B
    Specify the `DeploymentController` type as `CODE_DEPLOY` in the `AWS::ECS::Service` resource. Configure an AWS CodeDeploy deployment group with an `ECSLinear10PercentEvery1Minute` configuration.
  3. Specify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource. Enable the deployment circuit breaker with rollback. Set `MinimumHealthyPercent` to 100%100\% and `MaximumPercent` to 150%150\%.Cevap
  4. D
    Specify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource. Configure CloudFormation rollback triggers associated with a CloudWatch alarm that monitors task execution failures.

Cevap

Specify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource, enable the deployment circuit breaker with rollback, and set `MinimumHealthyPercent` to 100%100\% and `MaximumPercent` to 150%150\%.
Specifying the `ECS` deployment controller with `MinimumHealthyPercent` set to 100%100\% and `MaximumPercent` to 150%150\% ensures that the service's capacity is never reduced while limiting the extra tasks to 50%50\%. Enabling the ECS deployment circuit breaker with rollback provides native, automated rollbacks when new container tasks fail to start or pass health checks, without requiring external tools like AWS CodeDeploy.

Adım Adım Çözüm

1
Identify the constraints regarding capacity maintenance and maximum extra container tasks during deployment.
The service must keep 100%100\% of its desired tasks running (`MinimumHealthyPercent` = 100%100\%) and can launch at most 50%50\% additional tasks (`MaximumPercent` = 150%150\%) during updates.
To satisfy the requirement that no capacity reduction occurs while restricting the concurrent tasks to a maximum of 50%50\% above desired capacity.
2
Evaluate the tool and automation constraints for failure detection and rollback.
AWS CodeDeploy cannot be used, and the rollback must happen automatically if container tasks fail to launch or fail health checks.
This eliminates the `CODE_DEPLOY` deployment controller and points to the native ECS deployment controller with deployment circuit breaker rollback enabled.
3
Verify if CloudFormation rollback triggers or ECS deployment circuit breaker is the correct native mechanism for task-level failures.
The ECS deployment circuit breaker is the native feature that monitors task deployment state and triggers rollback if tasks cannot run, whereas CloudFormation rollback triggers do not monitor ECS container startup details.
To select the configuration that achieves automated rollback for task startup failures using native capabilities.

Anahtar Kavram

Amazon ECS rolling update parameters (`MinimumHealthyPercent` and `MaximumPercent`) and the native deployment circuit breaker feature are used in AWS CloudFormation to manage safe, cost-controlled, and automated updates.
Tahmini Süre:1m 30s
Bu soruyu puanla