A company is launching a new version of its monolithic web application. The application is hosted on Amazon EC2 instances inside an Auto Scaling group (ASG) behind an Application Load Balancer (ALB). The update includes minor database schema changes that are backward-compatible.
The deployment process must meet the following criteria:
1. Shift exactly 10% of the user traffic to the new version initially.
2. Monitor the new version for 15 minutes. If the HTTP 5XX error rate or instance CPU utilization exceeds predefined thresholds, the deployment must automatically roll back immediately.
3. If no alarms are triggered during the monitoring period, all traffic must be routed to the new version, and the old instances should be terminated.
4. The deployment and rollback must avoid DNS propagation delays to ensure immediate effect.
Which combination of actions should the solutions architect implement to meet these requirements with the least operational overhead? (Select TWO.)
- Create a new target group and a new Auto Scaling group for the new application version. Configure the ALB listener rule with weighted target groups, routing 90% of traffic to the active target group and 10% to the new target group.Answer
- Create a Lambda function triggered by Amazon CloudWatch alarms. Configure the Lambda function to update the ALB listener rule weights to route 100% of traffic back to the original target group if alarms trigger. If no alarms trigger after 15 minutes, update the rule to route 100% of traffic to the new target group and delete the old Auto Scaling group.Answer
- CUse AWS CodeDeploy to perform a blue/green deployment. Create a deployment group using the Auto Scaling group and configure the ALB. Choose a deployment configuration of CodeDeployDefault.EC2Linear10PercentEvery1Minute to gradually shift traffic.
- DCreate a second ALB and a new Auto Scaling group for the new version. Configure Amazon Route 53 weighted alias records to route 90% of traffic to the existing ALB and 10% to the new ALB. Use Route 53 active-passive failover to automatically route traffic back if the new version's health checks fail.
- EUse AWS CodeDeploy to perform an in-place deployment with a deployment configuration of CodeDeployDefault.OneAtATime. Configure the deployment group with a CloudWatch alarm to automatically roll back the deployment if the thresholds are exceeded.