
Ultimate access to all questions.
Deep dive into the quiz with AI chat providers.
We prepare a focused prompt with your quiz and certificate details so each AI can offer a more tailored, in-depth explanation.
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.
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.
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.
This solution balances high availability requirements with operational simplicity, making it the most appropriate choice.