An enterprise application runs on Amazon EC2 instances managed by an Auto Scaling group behind an Application Load Balancer. The application experiences unpredictable traffic spikes, and instances occasionally fail health checks due to heavy load during startup. How should the Solutions Architect configure the Auto Scaling group to ensure high availability and prevent premature termination of booting instances?
Trap 1: Implement a lifecycle hook that places launching instances into a…
Manual intervention via lifecycle hooks defeats the purpose of fully automated scaling during unpredictable traffic spikes. Administrative delays in resuming instances would lead to poor user experience and slow system response times during critical traffic surges.
Trap 2: Set the termination policy to OldestInstance and configure a health…
The health check grace period instructs the Auto Scaling group to ignore health check results from newly launched instances for a specified duration, giving resource-intensive applications enough time to complete initialization without being terminated prematurely.
Trap 3: Change the health check type from ELB to EC2, and rely solely on…
Relying only on EC2 status checks means the Auto Scaling group will not detect software-level failures, hung application servers, or broken web service endpoints that are still running at the hypervisor level, significantly degrading application availability.
- A
Implement a lifecycle hook that places launching instances into a pending state, and manually resume instances after checking their log files.
Why it fails: Manual intervention via lifecycle hooks defeats the purpose of fully automated scaling during unpredictable traffic spikes. Administrative delays in resuming instances would lead to poor user experience and slow system response times during critical traffic surges.
- B
Set the termination policy to OldestInstance and configure a health check grace period that matches the average application startup time.
Why it fails: The health check grace period instructs the Auto Scaling group to ignore health check results from newly launched instances for a specified duration, giving resource-intensive applications enough time to complete initialization without being terminated prematurely.
- C
Change the health check type from ELB to EC2, and rely solely on underlying hypervisor status checks to determine instance health.
Why it fails: Relying only on EC2 status checks means the Auto Scaling group will not detect software-level failures, hung application servers, or broken web service endpoints that are still running at the hypervisor level, significantly degrading application availability.
- D
Increase the desired capacity of the Auto Scaling group and configure target tracking scaling policies based on CPU utilization metrics.
Why it fails: Increasing desired capacity and adding target tracking policies controls scaling out based on load, but it does not address the core issue of instances failing ELB health checks prematurely during their resource-intensive initialization phase.