
Answer-first summary for fast verification
Answer: Configure the Auto Scaling group to use multiple Availability Zones. Configure the database as Multi-AZ. Configure an Amazon RDS Proxy instance for the database.
## Explanation **Option B is the correct answer** because it provides the most effective and least operationally complex solution for achieving high availability with minimal downtime and data loss. ### Why Option B is correct: 1. **Multi-AZ Auto Scaling group**: Distributes EC2 instances across multiple Availability Zones, ensuring compute layer resilience against AZ failures. 2. **Multi-AZ database**: Aurora Multi-AZ deployment maintains a synchronous standby replica in a different AZ, providing automatic failover with minimal data loss (typically less than 1 second). 3. **RDS Proxy**: Manages database connections efficiently, improving application performance and resilience during failover events. 4. **Least operational effort**: This solution leverages AWS managed services with built-in high availability features, requiring minimal operational overhead. ### Why other options are incorrect: **Option A**: Cross-Region replication adds complexity and cost, and failover between regions typically involves more downtime than Multi-AZ failover. This is overkill for the requirement and requires more operational effort. **Option C**: Using a single AZ for Auto Scaling and relying on hourly snapshots would result in significant data loss (up to 1 hour) and extended downtime during recovery, failing to meet the "minimum downtime and minimum loss of data" requirement. **Option D**: Writing to S3 and using Lambda to update the database introduces eventual consistency and potential data loss windows. This architecture is complex, introduces latency, and doesn't provide the synchronous data protection needed for a business-critical application. ### Key AWS Services Used: - **Auto Scaling with multiple AZs**: Provides compute resilience - **Aurora Multi-AZ**: Provides database high availability with automatic failover - **RDS Proxy**: Improves database connection management and failover resilience This solution balances high availability requirements with operational simplicity, making it the most appropriate choice.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
No comments yet.
A company is running a business-critical web application on Amazon EC2 instances behind an Application Load Balancer. The EC2 instances are in an Auto Scaling group. The application uses an Amazon Aurora PostgreSQL database that is deployed in a single Availability Zone. The company wants the application to be highly available with minimum downtime and minimum loss of data.
Which solution will meet these requirements with the LEAST operational effort?
A
Place the EC2 instances in different AWS Regions. Use Amazon Route 53 health checks to redirect traffic. Use Aurora PostgreSQL Cross-Region Replication.
B
Configure the Auto Scaling group to use multiple Availability Zones. Configure the database as Multi-AZ. Configure an Amazon RDS Proxy instance for the database.
C
Configure the Auto Scaling group to use one Availability Zone. Generate hourly snapshots of the database. Recover the database from the snapshots in the event of a failure.
D
Configure the Auto Scaling group to use multiple AWS Regions. Write the data from the application to Amazon S3. Use S3 Event Notifications to launch an AWS Lambda function to write the data to the database.