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개 답변
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/

답변함 일 년 전
profile picture
전문가
검토됨 한 달 전
  • 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
답변함 일 년 전
  • 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.

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠