multi-read/write databases, with replication to each other, in multi-az cluster/aurora cluster setups

0

Hello,

I want to implement "active-active" replication, like it is described here https://workmarket.tech/zero-downtime-maintenances-on-mysql-rds-ba13b51103c2 , but using multi-az feature created read instances/replicas. As far as i understood, if im using just "multi-az" then i dont have access to the created "secondary" database. In "multi-az cluster" and "aurora cluster", i do have "read" access to the "secondary" database replicas. Is it possible to get "cmd" access into them? Is it possible to implement some manual changes with cmd access? Is it possible to get the "binlog" location, and using it, setup the "active-active" replication, between the "primary" and "standby"? Or there are some limitations, that make it impossible?

Thanks

2 Answers
0
Accepted Answer

Hi, From what I have understood from your question, you might need to setup multi-master R/W nodes DB to get "active-active" replication model. As of today RDS does not support multi-master. Only Aurora supports this but limited only for MySQL that too little old compatible 5.6 version(need to cross check this). Other limitation of aurora multi master is that it is tied to single region(I think us-east-1, us-east-2, us-west-2 as of today) and only 2 AZ. So, basically your R/W instances is placed only in 2 AZ's however the underlying storage can span multi-AZ. I think you can configure MySQL binlog replication between 2 nodes. The main point to note here is - your application needs to implement health checks between 2 nodes, load balance requests(since you can use both endpoints to write) and have logic to switch endpoints if any failure happens in any AZ. Nothing is managed by AWS here. Please go through this blog for more details https://aws.amazon.com/blogs/database/building-highly-available-mysql-applications-using-amazon-aurora-mmsr/

answered a year ago
profile picture
EXPERT
reviewed 23 days ago
  • Hi, thanks for the answer, as far as we have found out, Amazon aurora version 1 (the one, which supports Mysql 5.6) has "end of life" date, which is quite soon, so that is out of option. I have tested implementing "active-active" replication using "binlog", using single-az RDS mysql database, and the question, is if "multi-az cluster" and "aurora cluster" has any restrictions, that make the "binlog" replication being setup-ed impossible.

  • Hey, sorry for late reply. I do not see any restrictions in setting up binlog replication in RDS multi-az or Aurora cluster. But be sure this can take up storage space and can have performance issues if you set up ROW level logging. You can also set up till how long RDS can retain the binary logs. Also you can check binary logs from the writer instance only. You cannot access read only replica instances. Also if you want almost 'zero' downtime, I would recommend to check out Aurora Global Database. The replication is done physically with AWS dedicated infrastructure rather than logical(binlog). https://aws.amazon.com/premiumsupport/knowledge-center/enable-binary-logging-aurora/

0

From the referenced blog it seems that you are attempting to create a maintenance environment for some maintenance such as version upgrade? If so you should check out the RDS blue green deployments feature. This is probably what you want. Hth.

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments-overview.html

AWS
MODERATOR
philaws
answered a year ago
  • Hi, thanks for the answer, we are trying to achieve "0 downtime" solution for AWS RDS databases, both, in case of update scenario and database fail over, and this "blue/green" solution does have downtime.

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