A company has a production AWS account with a single VPC and multiple subnets across two Availability Zones. The company hosts a web application on EC2 instances in an Auto Scaling group. The application uses an Amazon Aurora MySQL database cluster with one writer and two reader instances in the same VPC. The SysOps administrator configured AWS CloudTrail to log API calls and Amazon CloudWatch alarms for operational monitoring. After a recent network partition event in one Availability Zone, the application became unavailable for several minutes. The administrator wants to improve the application's resilience to such events without changing the database cluster configuration. The administrator has budget for additional resources but wants to minimize costs. What should the administrator do?
This distributes traffic across AZs, so if one AZ fails, the ALB routes to the other AZ's instances.
Why this answer
Option C is correct because distributing EC2 instances across multiple AZs and configuring the ALB as cross-zone enabled ensures that traffic is routed to healthy instances in any AZ. This provides high availability for the application tier without changing the database. Option A is wrong because adding a second VPC with its own database cluster would be expensive and complex.
Option B is wrong because creating a read replica in another region does not help with AZ failure within the same region. Option D is wrong because Multi-AZ for Aurora is already inherent; the database cluster already has instances in multiple AZs by design.