What is the MOST operationally efficient solution that meets these requirements?
Create a scheduled Amazon EventBridge (Amazon CloudWatch Events) rule to invoke an AWS Lambda function to increase the desired capacity before peak times.
Configure a scheduled scaling action with a recurrence option to change the desired capacity before and after peak times.
Create a target tracking scaling policy to add more instances when memory utilization is above 70%.
Configure the cooldown period for the Auto Scaling group to modify desired capacity before and after peak times.
Explanations:
While invoking a Lambda function to increase capacity before peak times might seem effective, it requires manual setup and management of the scheduled event, which adds operational overhead. It also doesn’t automatically adjust for unexpected spikes in traffic during peak hours.
Configuring a scheduled scaling action with a recurrence option is an efficient way to manage capacity based on predictable peak times. This option allows Auto Scaling to automatically increase and decrease capacity at specified times, optimizing resource usage with minimal manual intervention.
A target tracking scaling policy based on memory utilization is reactive rather than proactive. It may not respond quickly enough to handle peak load times, leading to potential performance issues during those critical hours. Additionally, it requires proper monitoring of memory metrics, which may not always correlate directly with web traffic.
Modifying the cooldown period is not an effective solution for managing capacity during peak times. Cooldown periods are intended to prevent rapid scaling actions, and simply adjusting this parameter does not address the need for increasing capacity ahead of expected traffic surges.