Skip to content

Instantly share code, notes, and snippets.

@rubymerchant
Last active August 29, 2015 13:57
Show Gist options
  • Save rubymerchant/9626086 to your computer and use it in GitHub Desktop.
Save rubymerchant/9626086 to your computer and use it in GitHub Desktop.
Multi-AZ deployment
- Standby instance in another availability zone than the primary DB instance
- Use synchronous replication.
- Maintenance, backups etc. happens on standby instance to reduce any IO overhead.
- Can’t access standby instance for reads etc.
Read Replicas
- Cross regional
- DR - can be promoted to single AZ in event of regional failures
- Only available for MySQL
- Uses asynchronous replication and hence will have replication lag (specially across regions)
- Use cases - DR, migration between regions, scale our globally.
High Availability
- RDS automatically promotes a standby server (in multi-AZ setup) to be new primary.
- Note that this doesn't affect the application as they just change the CNAME to point to standby.
- It takes anywhere between 3-6 mins for the automatic failover.
- Also, note that since the replication is essentially synchronous between primary and standby in multi-AZ, there should be no data loss/replication lag.
Disaster Recovery
You can create one or more replicas of a given source DB Instance within an AWS Region or across AWS Regions
and serve high-volume application read traffic from multiple copies of your data, thereby increasing aggregate read throughput.
Amazon RDS uses MySQL’s native replication to propagate changes made to a source DB Instance to any associated Read Replicas.
You can use Cross Region Read Replicas to enhance your disaster recovery objectives, serve read traffic from a region closest
to your global users or migrate your databases across AWS regions.
Links
http://aws.amazon.com/rds/mysql/
http://aws.typepad.com/aws/2013/11/cross-region-read-replicas-for-amazon-rds-for-mysql.html
http://aws.amazon.com/rds/faqs/
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment