Disaster recovery of AWS RDS

0

I'm considering AWS RDS with my lighstail instance. I'm not particularly interested in scalability, or performance, or replicas etc. I am working on a low traffic and low usage app, but want to know what will happen if the managed RDS machine fails ?

2 Answers
0
Accepted Answer

You don't have to do anything on the app side for failover as it's transparent - the endpoint is the same. AWS handles the DNS name (connection string) to point to the appropriate place - the string doesn't change, so you don't need to manage this. However you want to make sure you don't have a long DNS TTL in clients or the old DNS record will be cached for too long; 60 seconds is appropriate.

When the original rds is back you don't need to do anything. Failback isn't needed as you're still operating at same performance specs as original. If you want though you can manually force a failback or a failover at any time by rebooting the primary instance or making an API call.

Aurora is a very different architecture so high availability is handled differently. It's worth spending 5 minutes here - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html.

EXPERT
answered a year ago
  • Thanks for the prompt follow-up response. So multi-az is great for transparent failover. That's great. But how about single-AZ, how will a failure look like ? Eg. if I have a single AZ RDS, and your machine crashed or zone shutdown. How long will it take for AWS to get it back and is that even guaranteed?

  • Have a look at the RDS SLA - https://aws.amazon.com/rds/sla/. Multi-AZ is 99.95% versus Single-AZ 99.5%. With Single-AZ you have a single point of failure so an outage is possible either because of the instance or AZ. Yes it will be made available again ASAP as AWS are serious about the SLAs. That's guaranteed - the only way you could in theory lose a DB is if there's a major storage issue in EBS (I've never seen it happen), in which case a restore from backup would be needed.

0

Your stored data is safe if an instance fails (but you should still have a backup routine!), but availability during a failure depends on how the RDS instance is configured. With a single-AZ deployment you will have an outage. With Multi-AZ the DB will have a short outage while failing over to the standby.

WIth Aurora databases things are a bit different, but it sounds like you're not asking about that.

EXPERT
answered a year ago
  • Thanks @skinsman for the answer. Some followup questions:

    1. With Multi-AZ, you mentioned that it will have a short outage while failing over to the standby. Do I have to do anything on the app side (like connecting the app to the standby database).
    2. What will I have to do when the original rds is back ?
    3. Not sure why 'things are a bit different' for Aurora. Please describe

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions