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

已提问 1 年前468 查看次数
2 回答
0
已接受的回答

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/

已回答 1 年前
profile picture
专家
已审核 1 个月前
  • 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
审核人员
philaws
已回答 1 年前
  • 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.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则