0

У меня есть два rds, которые имеют одинаковую структуру, каждый db служит одному из двух приложений. Некоторые таблицы используют первое приложение другим. Я хочу настроить два способа чтения/записи репликации между двумя rds. Я могу сделать это с помощью автономной mysql, установить репликацию таблицы (https://dev.mysql.com/doc/refman/5.7/en/replication-rules-table-options.html), но не могу найти такой возможности для rdsAmazon RDS двухсторонняя репликация

ответ

1

Это, вероятно, то, что вы бы назвали Really Bad Idea ™.

RDS позволяет настроить экземпляр RDS как подчиненный другой машины.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html

Конечно, на той же странице ...

Предупреждение

Не используйте mysql.rds_set_external_master для управления репликацией между двумя экземплярами Amazon RDS DB.

... однако, похоже, что это не так, как вы настраиваете экземпляр RDS как реплика другого экземпляра. Когда вы настраиваете реплику только для чтения, вы не используете ее - RDS управляет всей конфигурацией репликации.

mysql.rds_set_external_master() является хранимой процедурой, которая позволяет вам выполнить CHANGE MASTER TO..., поскольку в RDS вам не хватает привилегии SUPER и в противном случае было бы невозможно.

Эта функция предназначена для горячей миграции с сервера RDS без RDS в RDS путем репликации событий от внешнего мастера в RDS во время перехода.

... однако если есть способ сделать то, что вы пытаетесь сделать с RDS, это было бы так. Каждый экземпляр будет настроен на использование другого в качестве основного.

Эти два устройства должны иметь сетевое подключение, а это означает, что они должны находиться в одном регионе и одном и том же VPC, или вам придется самостоятельно обрабатывать конфигурацию пиринга или туннеля, чтобы установить этот сетевой путь.

Это почти наверняка неподдерживаемая конфигурация, но опять же, если есть способ ее достижения, это будет именно так. «Неподдерживаемый» не означает, что он не будет работать, но только поддержка AWS вряд ли сможет оказать помощь, если этого не произойдет.

Я упоминал об этом, возможно, не очень хорошая идея?

Смежные вопросы