Назад | Перейти на главную страницу

Можно ли использовать экземпляр EC2 RDS MySQL в качестве подчиненного устройства внешнего мастера?

У меня есть главный экземпляр MySQL, работающий в нашей локальной сети, но мне было интересно, могу ли я получить экземпляр EC2 RDS для репликации мастера, или это заблокировано Amazon?

Судя по всему, сейчас это возможно, однако не полностью «поддерживается». Amazon теперь позволяет реплицировать RDS на внешнее ведомое устройство и реплицировать на RDS с внешнего ведущего устройства, однако их отказ от ответственности предполагает, что они не намерены делать это постоянной частью настройки вашего сервера.

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

Учитывая ваш вопрос, лучше всего подходит приведенный ниже документ AWS.

Репликация в RDS с внешнего Мастера: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html

Доказательство концепции в сообщении блога Зёнке Рюмплера (RDS to External Slave): http://www.ruempler.eu/2013/07/07/replicating-aws-rds-mysql-databases-to-external-slaves/

По состоянию на февраль 2011 года это все еще не поддерживается, см. Экземпляр RDS в качестве подчиненного устройства репликации:

Репликация без RDS на RDS в настоящее время не поддерживается [...]. Тем не менее, мы зарегистрируем ваш интерес для нашего будущего планирования дорожной карты.

Теперь это официально поддерживается. В дополнение к ссылке Джона Си (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html), AWS также подготовила (длинную) веб-трансляцию об этом: http://youtu.be/TT1M_XRAlQo

Я не буду полностью воспроизводить документацию AWS, но сокращенные шаги:

  1. Создайте экземпляр RDS, который будет действовать как подчиненный (MySQL 5.5 версии 5.5.33 или новее, или MySQL 5.6 версии 5.6.13 или новее)
  2. Отредактируйте группу безопасности RDS, чтобы авторизовать IP-адрес вашего внешнего мастера.
  3. Если внешний главный компьютер - это компьютер EC2, обновите группу безопасности этого компьютера, чтобы разрешить входящие и исходящие соединения с IP-адресом RDS через TCP 3306.
  4. Задайте переменные сервера на внешнем главном устройстве и подчиненном устройстве RDS, чтобы разрешить репликацию (например, log-bin, server-id и т. Д.; Выходит за рамки этого вопроса)
  5. Создайте репликантного пользователя на внешнем мастере
  6. Запустите mysqldump на внешнем мастере
  7. Запустите head dump.sql -n80 | grep "MASTER_LOG_POS", чтобы получить значения MASTER_LOG_FILE и MASTER_LOG_POS
  8. Бегать mysql -u[RDS username] -h'[RDS IP address]' -p'[password]' < ~/dump.sql
  9. После того, как файл дампа загружен в машину RDS, вы не можете запускать те же типы команд, которые вы бы запускали в стандартном MySQL для настройки переменных репликации, поэтому вместо этого вы входите в mysql на экземпляре RDS и запускаете

mysql> CALL mysql.rds_set_external_master ('[external master ip]', 3306, '[replicant username form step 5]', '[replicant password]' , '[MASTER_LOG_FILE value from step 7, e.g., mysql-bin.000042]', [MASTER_LOG_POS value from step 7 e.g., 107] , 1); mysql> call mysql.rds_start_replication;

Это можно сделать с помощью Tungsten Replicator, который представляет собой замену собственной репликации MySQL с открытым исходным кодом. Теперь он поддерживает репликацию от ведущего устройства MySQL к ведомому устройству Amazon RDS. Дополнительные сведения см. В следующей статье блога:

http://scale-out-blog.blogspot.com/2013/01/replicating-from-mysql-to-amazon-rds.html

Ура, Роберт Ходжес (коммиттер Tungsten)

К сожалению, в настоящее время не поддерживается Amazon. Надеюсь, что в будущем, поскольку я тоже жду этой способности.

http://aws.amazon.com/about-aws/whats-new/2010/10/05/announcing-read-replicas-lower-high-memory-db-instance-prices-for-amazon-rds/

Amazon AWS:

Мы рады объявить о выпуске реплик чтения для Amazon RDS. Теперь вы можете создать одну или несколько реплик данного «исходного» инстанса БД и обслуживать входящий трафик чтения из нескольких копий ваших данных. Этот новый вариант развертывания базы данных позволяет эластично масштабироваться за пределы ограничений емкости одного инстанса БД для рабочих нагрузок базы данных с большим количеством операций чтения. Вы можете использовать реплики чтения в сочетании с репликацией в нескольких зонах доступности для масштабируемых, надежных и высокодоступных развертываний производственных баз данных. Чтобы узнать больше о выпуске реплик для чтения, посетите сообщение на форуме здесь.

В дополнение к выпуску реплик чтения мы также снизили цены по требованию и зарезервированные для инстансов БД с двойной сверхбольшой памятью (m2.2xlarge) и Quadruple Extra Large (m2.4xlarge). Подробную информацию см. В разделе цен на странице сведений об Amazon RDS.