Which solution will meet these requirements MOST cost-effectively?
Migrate the database to an Amazon RDS for MySQL DB instance. Create an AMI of the web application. Use the AMI to launch a second EC2 On-Demand Instance. Use an Application Load Balancer to distribute the load to each EC2 instance.
Migrate the database to an Amazon RDS for MySQL DB instance. Create an AMI of the web application. Use the AMI to launch a second EC2 On-Demand Instance. Use Amazon Route 53 weighted routing to distribute the load across the two EC2 instances.
Migrate the database to an Amazon Aurora MySQL DB instance. Create an AWS Lambda function to stop the EC2 instance and change the instance type. Create an Amazon CloudWatch alarm to invoke the Lambda function when CPU utilization surpasses 75%.
Migrate the database to an Amazon Aurora MySQL DB instance. Create an AMI of the web application. Apply the AMI to launch template. Create an Auto Scaling group with the launch template. Configure the launch template to use a Spot Fleet. Attach an Application Load Balancer to the Auto Scaling group.
Explanations:
While this option migrates the database to Amazon RDS, creating a second EC2 instance without an Auto Scaling group does not ensure seamless scalability. An Application Load Balancer is a good choice for distributing traffic, but without Auto Scaling, instances cannot automatically scale based on demand.
Similar to option A, this option also migrates the database to Amazon RDS and creates a second EC2 instance. However, using Amazon Route 53 weighted routing does not provide true load balancing or automatic scaling, which is necessary for handling variable traffic effectively.
This option involves migrating to Amazon Aurora and setting up a Lambda function to stop and resize the EC2 instance based on CPU utilization. While it addresses performance issues, it does not provide seamless scaling since it relies on manual intervention to change instance types and does not support multiple instances for load distribution.
This option effectively migrates the database to Amazon Aurora, which can offer better performance and scalability. By creating an Auto Scaling group with a launch template, the application can automatically scale out during high demand. The use of a Spot Fleet can also reduce costs, and attaching an Application Load Balancer ensures even traffic distribution across instances, providing a robust and cost-effective solution for seamless scalability.