SOA-C03 practice question: Multi-AZ and fault tolerance
Reliability and Business Continuity A free question from our original SOA-C03 practice exam. Try it, then open the answer to see why each option is right or wrong.
A solar installer's scheduling application connects to an Amazon RDS for MySQL Multi-AZ DB instance.
During a planned failover test, the database failed over in under two minutes, but the application kept timing out for 40 minutes until its servers were restarted.
Investigation shows the application resolves the database endpoint name once at startup and then reuses the IP address.
What should a CloudOps engineer recommend so that the application recovers automatically from future failovers?
Choose one answer.
AA. Convert the DB instance to a Single-AZ deployment with automated backups, so that the endpoint IP address never changes.
BB. Create a read replica in another Availability Zone and point the application at the replica's IP address during failover tests.
CC. Add an Elastic IP address to the DB instance so that the same address moves to the standby during each failover.
DD. Make the application honor DNS TTLs and re-resolve the DB endpoint name when it reconnects.
D. Right: Correct. During failover RDS points the endpoint's DNS record at the new primary. Clients that re-resolve the name reconnect within minutes, while clients that cache the old IP address keep failing. Learn more: Failover process for Amazon RDS (opens in a new tab)
Explanation
RDS Multi-AZ failover works by changing the DNS record behind the DB endpoint to the standby's address. Applications must connect by endpoint name and must not cache DNS results longer than the record's TTL, or they keep reaching the failed address. Long client-side DNS caches are a common reason failovers look longer than they are.
Want more on Multi-AZ and fault tolerance? The 5 full-length practice sets have 5 more Multi-AZ and fault tolerance questions, 325 in all, none of them in the free exam. One payment of $14.99, no subscription. See the practice sets →