Which solution will meet these requirements with the LEAST operational effort?
Place the EC2 instances in different AWS Regions. Use Amazon Route 53 health checks to redirect traffic. Use Aurora PostgreSQL Cross-Region Replication.
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.
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.
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.
Explanations:
Using multiple AWS Regions introduces latency and complexity, along with potential issues with consistency. Aurora PostgreSQL Cross-Region Replication is not the most efficient solution for high availability within a single application architecture. Additionally, it increases operational effort due to the need for managing resources across regions.
Configuring the Auto Scaling group across multiple Availability Zones and setting up the database as Multi-AZ ensures high availability and automatic failover, minimizing downtime and data loss. Using RDS Proxy provides connection management and improves application availability, reducing operational effort significantly.
Operating in a single Availability Zone does not meet high availability requirements. Generating hourly snapshots does not provide real-time recovery and can lead to data loss during a failure. This method increases downtime and is not suitable for a business-critical application requiring minimal disruption.
Configuring the Auto Scaling group across multiple AWS Regions complicates the architecture and adds latency. Writing data to S3 and using Lambda introduces potential data consistency issues and more operational overhead, detracting from the goal of minimizing effort while ensuring high availability.