
Ultimate access to all questions.
Answer-first summary for fast verification
Answer: Update the DB instance to be Multi-AZ, and enable deletion protection. Place the EC2 instances behind an Application Load Balancer, and run them in an EC2 Auto Scaling group across multiple Availability Zones.
## Explanation **Option B is the correct answer** because it addresses all the reliability concerns in the most comprehensive way: ### Why Option B is correct: 1. **Multi-AZ RDS with deletion protection**: This addresses the specific issue mentioned - accidental deletion of the DB instance. Multi-AZ provides high availability with automatic failover, and deletion protection prevents accidental deletion. 2. **Application Load Balancer with Auto Scaling across multiple AZs**: This solves the single point of failure for the web tier by distributing traffic across multiple instances in different Availability Zones, providing fault tolerance and automatic recovery. 3. **Auto Scaling group**: Ensures that if an instance fails, a new one is automatically launched to maintain the desired capacity. ### Why other options are incorrect: **Option A**: - Only addresses DB reliability (Multi-AZ + deletion protection) - Reduces web server capacity from 2 to 1 instance - Still has single-AZ deployment for web servers - Termination protection only prevents accidental termination, not instance failures **Option C**: - Overly complex solution that introduces unnecessary components (API Gateway, Lambda) - Doesn't address the web server single-AZ issue - Creates a more complex architecture without solving the fundamental reliability problems **Option D**: - Addresses multi-AZ deployment for web servers - Includes Multi-AZ RDS with deletion protection - **BUT** uses Spot Instances which are not reliable for production workloads (can be terminated with 2-minute notice) - CloudWatch alarms are good but don't provide automatic recovery like Auto Scaling ### Key Reliability Principles Applied: 1. **Fault isolation**: Deploy across multiple Availability Zones 2. **Automatic recovery**: Use Auto Scaling for web servers 3. **Accidental deletion prevention**: Enable deletion protection on RDS 4. **High availability**: Multi-AZ RDS for database redundancy 5. **Load distribution**: Application Load Balancer for traffic distribution This solution provides the most comprehensive reliability improvements while maintaining simplicity and following AWS best practices.
Author: LeetQuiz Editorial Team
No comments yet.
A company has hired a solutions architect to design a reliable architecture for its application. The application consists of one Amazon RDS DB instance and two manually provisioned Amazon EC2 instances that run web servers. The EC2 instances are located in a single Availability Zone. An employee recently deleted the DB instance, and the application was unavailable for 24 hours as a result. The company is concerned with the overall reliability of its environment. What should the solutions architect do to maximize reliability of the application's infrastructure?
A
Delete one EC2 instance and enable termination protection on the other EC2 instance. Update the DB instance to be Multi-AZ, and enable deletion protection.
B
Update the DB instance to be Multi-AZ, and enable deletion protection. Place the EC2 instances behind an Application Load Balancer, and run them in an EC2 Auto Scaling group across multiple Availability Zones.
C
Create an additional DB instance along with an Amazon API Gateway and an AWS Lambda function. Configure the application to invoke the Lambda function through API Gateway. Have the Lambda function write the data to the two DB instances.
D
Place the EC2 instances in an EC2 Auto Scaling group that has multiple subnets located in multiple Availability Zones. Use Spot Instances instead of On-Demand Instances. Set up Amazon CloudWatch alarms to monitor the health of the instances. Update the DB instance to be Multi-AZ, and enable deletion protection.