What should a solutions architect do to meet these requirements?
Create a copy of the instance. Place all instances behind an Application Load Balancer.
Create an S3 VPC endpoint for Amazon S3. Update the software to reference the endpoint.
Stop the EC2 instances. Modify the instance type to one with a more powerful CPU and more memory. Restart the instances.
Route incoming requests to Amazon Simple Queue Service (Amazon SQS). Configure an EC2 Auto Scaling group based on queue size. Update the software to read from the queue.
Explanations:
While creating copies of the instance and placing them behind an Application Load Balancer may help distribute incoming traffic, it does not address the underlying issue of high CPU utilization on the instances, which limits processing capabilities. This option may provide some load balancing, but does not effectively scale the processing power needed for the job requests.
Creating an S3 VPC endpoint would improve the connection to S3 by keeping traffic within the AWS network, potentially reducing latency. However, it does not solve the primary issue of the EC2 instances running at high CPU utilization, which is causing job requests to be unprocessed. This option does not contribute to scaling or improving the processing capacity of the system.
Modifying the instance type to a more powerful CPU and memory can temporarily alleviate the issue of high CPU utilization. However, it is not a scalable solution. If the user load increases further, the upgraded instance may also reach its limits, leading to similar issues. This approach lacks the flexibility needed for variable workloads and does not address dynamic scaling.
Routing incoming requests to Amazon SQS allows for decoupling the job requests from the processing instances. This enables the EC2 Auto Scaling group to scale based on the queue size, allowing for automatic adjustment of resources based on demand. It effectively addresses high CPU utilization by managing load dynamically, ensuring that job requests can be processed efficiently as user demand fluctuates.