What should a solutions architect recommend to meet these requirements?
Move the database to Amazon RDS, and enable automatic backups. Manually launch another EC2 instance in the same Availability Zone. Configure an Application Load Balancer in the Availability Zone, and set the two instances as targets.
Migrate the database to an Amazon Aurora instance with a read replica in the same Availability Zone as the existing EC2 instance. Manually launch another EC2 instance in the same Availability Zone. Configure an Application Load Balancer, and set the two EC2 instances as targets.
Move the database to Amazon Aurora with a read replica in another Availability Zone. Create an Amazon Machine Image (AMI) from the EC2 instance. Configure an Application Load Balancer in two Availability Zones. Attach an Auto Scaling group that uses the AMI across two Availability Zones.
Move the database to a separate EC2 instance, and schedule backups to Amazon S3. Create an Amazon Machine Image (AMI) from the original EC2 instance. Configure an Application Load Balancer in two Availability Zones. Attach an Auto Scaling group that uses the AMI across two Availability Zones.
Explanations:
While moving the database to Amazon RDS is a good step for scalability and availability, manually launching another EC2 instance does not ensure high availability. Without an Auto Scaling group and a load balancer across multiple Availability Zones, this setup remains vulnerable to single points of failure.
Migrating to Amazon Aurora with a read replica improves scalability, but only deploying a second EC2 instance in the same Availability Zone still leaves the architecture prone to availability issues. The lack of multi-AZ deployment and an Auto Scaling group limits the high availability aspect.
This option effectively separates the database layer by moving it to Amazon Aurora with a read replica in another Availability Zone, enhancing fault tolerance. Configuring an Application Load Balancer in two Availability Zones along with an Auto Scaling group allows for scaling the EC2 instances dynamically, thus ensuring high availability and better performance under varying loads.
While creating an AMI and using an Application Load Balancer with an Auto Scaling group is a positive move, moving the database to a separate EC2 instance does not provide the scalability and reliability benefits of a managed service like Amazon RDS or Aurora. Also, scheduled backups to S3 do not address the need for a highly available database solution.