What is the MOST operationally efficient solution that will improve the application’s responsiveness?
Configure CloudWatch logging on the EC2 instance. Configure a CloudWatch alarm for CPU utilization to alert the SysOps administrator when CPU utilization goes above 90%.
Configure an AWS Client VPN connection to allow the application users to connect directly to the EC2 instance private IP address to reduce latency.
Create an Auto Scaling group, and assign it to an Application Load Balancer. Configure a target tracking scaling policy that is based on the average CPU utilization of the Auto Scaling group.
Create a CloudWatch alarm that activates when the EC2 instance’s CPU utilization goes above 80%. Configure the alarm to invoke an AWS Lambda function that vertically scales the instance.
Explanations:
While configuring CloudWatch logging and alarms is useful for monitoring, it does not address the issue of high CPU utilization or improve performance. It only provides alerts but no automated mitigation or scaling.
Establishing a VPN connection would not improve the application’s performance. It may add complexity and latency, and would not address the underlying issue of high CPU utilization.
Creating an Auto Scaling group with a target tracking scaling policy based on CPU utilization allows the application to automatically scale by adding more EC2 instances during peak usage. This improves responsiveness and reduces the risk of high CPU utilization.
Scaling vertically (increasing the instance size) can be effective, but it is not the most operationally efficient solution. It doesn’t take advantage of horizontal scaling, which is more flexible and cost-effective, especially with stateless applications.