A company is designing a deployment strategy for a stateful ingestion service running on Amazon EC2 instances within an Auto Scaling group (ASG) behind an Application Load Balancer (ALB). The service maintains long-lived WebSockets connections with millions of IoT devices. The deployment of application updates must satisfy three requirements: first, existing WebSockets connections must not be prematurely terminated and must drain naturally for up to 15 minutes; second, the maximum temporary capacity increase must not exceed 25% of the current fleet size due to strict IP address space constraints in the VPC subnets; and third, the deployment must automatically roll back if the system error rate exceeds 2% during a 30-minute validation period post-deployment. Which deployment configuration will meet these requirements?
- Configure the Application Load Balancer target group deregistration delay to 900 seconds. Perform an Auto Scaling group Instance Refresh with the minimum healthy percentage set to 100%, and configure the instance refresh rollback preferences to monitor a CloudWatch alarm that tracks the system error rate, triggering an automatic rollback if the error rate exceeds 2%.Cevap
- BUse AWS CodeDeploy to perform a Blue/Green deployment. Set the target group deregistration delay to 900 seconds, create a new target group and Auto Scaling group, and configure a CodeDeploy deployment configuration to route traffic while monitoring a CloudWatch alarm for system error rates.
- CConfigure the Application Load Balancer target group deregistration delay to 900 seconds. Use AWS CloudFormation to update the stack with an AutoScalingRollingUpdate policy, setting MinInstancesInService to 100% and configuring CloudFormation rollback triggers based on the system error rate CloudWatch alarm.
- DConfigure the Application Load Balancer target group deregistration delay to 180 seconds. Perform an Auto Scaling group Instance Refresh with the minimum healthy percentage set to 75%, and configure a custom AWS Lambda function to monitor the system error rate and call the CancelInstanceRefresh API if the error rate exceeds 2%.