Which steps should the solutions architect take to design an appropriate solution?
Use AWS Elastic Beanstalk to create a new application with a web server environment and an Amazon RDS MySQL Multi-AZ DB instance. The environment should launch a Network Load Balancer (NLB) in front of an Amazon EC2 Auto Scaling group in multiple Availability Zones. Use an Amazon Route 53 alias record to route traffic from the company’s domain to the NLB.
Use AWS CloudFormation to launch a stack containing an Application Load Balancer (ALB) in front of an Amazon EC2 Auto Scaling group spanning three Availability Zones. The stack should launch a Multi-AZ deployment of an Amazon Aurora MySQL DB cluster with a Retain deletion policy. Use an Amazon Route 53 alias record to route traffic from the company’s domain to the ALB.
Use AWS Elastic Beanstalk to create an automatically scaling web server environment that spans two separate Regions with an Application Load Balancer (ALB) in each Region. Create a Multi-AZ deployment of an Amazon Aurora MySQL DB cluster with a cross-Region read replica. Use Amazon Route 53 with a geoproximity routing policy to route traffic between the two Regions.
Use AWS CloudFormation to launch a stack containing an Application Load Balancer (ALB) in front of an Amazon ECS cluster of Spot instances spanning three Availability Zones. The stack should launch an Amazon RDS MySQL DB instance with a Snapshot deletion policy. Use an Amazon Route 53 alias record to route traffic from the company’s domain to the ALB.
Explanations:
Although Elastic Beanstalk provides a managed environment and can use EC2 Auto Scaling and RDS Multi-AZ, the use of a Network Load Balancer (NLB) is not optimal for web applications. An Application Load Balancer (ALB) is better suited for handling HTTP and HTTPS requests for a web application.
This solution includes an Application Load Balancer (ALB) for web traffic, an EC2 Auto Scaling group across three Availability Zones for scalability and fault tolerance, and a Multi-AZ Aurora MySQL DB for high availability and durability, meeting the requirements well.
Cross-Region setups add unnecessary complexity, especially since no requirement for multi-Region redundancy is given. Multi-AZ within a single region is sufficient for high availability, and Route 53’s geoproximity routing is not needed in this scenario.
Amazon ECS with Spot instances may not provide the desired stability for a high-traffic production application, as Spot instances can be interrupted. The Snapshot deletion policy also lacks Multi-AZ high availability for the MySQL DB, which is crucial for this workload.