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 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?
- ASpecify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource. Enable the deployment circuit breaker with rollback. Set `MinimumHealthyPercent` to and `MaximumPercent` to .
- BSpecify the `DeploymentController` type as `CODE_DEPLOY` in the `AWS::ECS::Service` resource. Configure an AWS CodeDeploy deployment group with an `ECSLinear10PercentEvery1Minute` configuration.
- Specify the `DeploymentController` type as `ECS` in the `AWS::ECS::Service` resource. Enable the deployment circuit breaker with rollback. Set `MinimumHealthyPercent` to and `MaximumPercent` to .Answer
- DSpecify 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.