A company runs a critical web application on a fleet of Amazon EC2 instances managed by an Amazon EC2 Auto Scaling group behind an Application Load Balancer. A SysOps Administrator is setting up a deployment pipeline using AWS CodeDeploy. The deployment process must satisfy the following requirements:
- The application must not experience any downtime during updates.
- If the update fails, the application must be rolled back to the previous version immediately without requiring the redeployment of code or launching of new instances during the rollback process.
- The deployment process must minimize the temporary increase in running instance costs.
Which deployment strategy and configuration should the Administrator choose to meet these requirements?
- AConfigure an in-place deployment with a custom deployment configuration of 75% minimum healthy hosts, and rely on automatic rollbacks to redirect traffic to the previous version without redeployment.
- BConfigure an AWS CloudFormation rolling update with rollback alarms, assuming that CloudFormation will keep the failed EC2 instances running in their current state to avoid launching new instances during rollback.
- Configure a blue/green deployment that deploys to a replacement Auto Scaling group, routes traffic using a canary configuration, and terminates the original instances immediately after the deployment succeeds.Cevap
- DConfigure a blue/green deployment, but omit the IAM execution service role from the deployment configuration to allow CodeDeploy to default to the EC2 instance profile.