Which solution accomplishes this with the LEAST amount of effort?
Use a simple scaling policy based on a custom metric that measures the average active requests of all EC2 instances
Use a simple scaling policy based on the Auto Scaling group GroupDesiredCapacity metric
Use a target tracking scaling policy based on the ALB’s ActiveConnectionCount metric
Use a target tracking scaling policy based on the ALB’s RequestCountPerTarget metric
Explanations:
A custom metric based on active requests would require significant custom instrumentation and management. This adds more complexity than necessary.
The GroupDesiredCapacity metric tracks the desired number of instances but doesn’t measure incoming request load. Not relevant for scaling based on requests.
While ActiveConnectionCount is useful for monitoring connections, it does not directly correlate to request load, and may not reflect request volume accurately.
The RequestCountPerTarget metric measures incoming requests to each EC2 instance behind the ALB, making it ideal for automatically scaling based on request volume.