A database administrator needs to ensure that an Amazon RDS for MySQL instance can withstand an Availability Zone failure and provide low-latency reads for a reporting application. Which TWO steps should be taken?
Trap 1: Use EBS Snapshots to back up the database every 5 minutes.
While snapshots are important for disaster recovery, they do not provide high availability or low-latency reads. Restoring from a snapshot is a manual process that takes time, and taking snapshots every 5 minutes would create significant performance overhead on the database. It is not a replacement for the automated failover provided by Multi-AZ.
Trap 2: Enable Enhanced Monitoring with a 1-second granularity.
Enhanced Monitoring provides detailed metrics about the OS and processes running on the RDS instance. While helpful for troubleshooting performance issues, it does not contribute to the resilience of the database or provide any mechanisms for surviving an Availability Zone failure. It is a monitoring tool rather than an architectural availability feature.
Trap 3: Implement a Network Load Balancer in front of the RDS instance.
Network Load Balancers are used to distribute traffic to EC2 instances or IP addresses, but they are not typically used in front of Amazon RDS. RDS handles its own DNS-based failover for Multi-AZ. Adding an NLB would introduce unnecessary complexity and is not a standard or recommended practice for managing RDS database connections.
- A
Enable Multi-AZ deployment for the RDS instance.
Multi-AZ deployment is the standard feature for high availability in Amazon RDS. It creates a standby instance in a different Availability Zone and uses synchronous replication. In the event of a failure, RDS automatically fails over to the standby, ensuring the database remains available without manual intervention or data loss during the transition.
- B
Create a Read Replica in a different Availability Zone.
Read Replicas allow you to scale out read-heavy workloads by providing an asynchronous copy of the primary database. By placing a Read Replica in a different AZ, you provide the reporting application with a dedicated endpoint for queries, reducing the load on the primary instance and improving overall application performance and latency.
- C
Use EBS Snapshots to back up the database every 5 minutes.
Why it fails: While snapshots are important for disaster recovery, they do not provide high availability or low-latency reads. Restoring from a snapshot is a manual process that takes time, and taking snapshots every 5 minutes would create significant performance overhead on the database. It is not a replacement for the automated failover provided by Multi-AZ.
- D
Enable Enhanced Monitoring with a 1-second granularity.
Why it fails: Enhanced Monitoring provides detailed metrics about the OS and processes running on the RDS instance. While helpful for troubleshooting performance issues, it does not contribute to the resilience of the database or provide any mechanisms for surviving an Availability Zone failure. It is a monitoring tool rather than an architectural availability feature.
- E
Implement a Network Load Balancer in front of the RDS instance.
Why it fails: Network Load Balancers are used to distribute traffic to EC2 instances or IP addresses, but they are not typically used in front of Amazon RDS. RDS handles its own DNS-based failover for Multi-AZ. Adding an NLB would introduce unnecessary complexity and is not a standard or recommended practice for managing RDS database connections.