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

Невозможно подключить подчиненное устройство RDS к удаленному мастеру

Я хочу создать реплику базы данных, размещенной на виртуальной машине на моем компьютере (MASTER), в облаке AWS (SLAVE).

Я могу подключиться к 2 БД из экземпляра EC2.

Я задаю параметры с помощью скрипта AWS:

mysql> CALL mysql.rds_set_external_master ('<MY.PUBLIC.IP>', 3306, '<username>', '<password>', 'mysqld-bin.0000013', 343, 0);

(Конечно, мой IP, имя пользователя и пароль здесь скрыты)

Но при запуске репликации (с помощью сценария AWS) он продолжает застревать:

mysql> SHOW SLAVE STATUS\G;
*************************** 1. row ***************************
               Slave_IO_State: Connecting to master
                  Master_Host: <MY-PUBLIC-IP> (censored here)
                  Master_User: slaveuser
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysqld-bin.0000013
          Read_Master_Log_Pos: 343
               Relay_Log_File: relaylog.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysqld-bin.0000013
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 

Я добавил свой общедоступный IP-адрес в группу безопасности RDS с портом MYSQL (не менял его, по-прежнему 3306), но ничего, в частности, никакой ошибки (Last_errno: 0 и т. Д.)

Что я упустил?

Спасибо за Ваш ответ :)

  1. Он находится за NAT, но 3306 перенаправлен на него. Он доступен по WAN, я подключен из экземпляра EC2

  2. Возможно, вы правы, это натолкнуло меня на мысль попытаться подключиться к базе данных RDS с виртуальной машины и ... я не могу (время ожидания соединения истекло) Я не понимаю, почему, однако, RDS является общедоступным RDS находится в группа безопасности, принимающая мой публичный IP для трафика MYSQL

Нашел, изменил свои таблицы маршрутов, и все в порядке!

Спасибо, что направили меня по правильному пути

  1. Находится ли ваша основная виртуальная машина БД за NAT? И если да, то у вас есть Порт MySQL перенаправлен извне на ВМ?

  2. Находится ли ваш RDS в подсети, из которой он имеет доступ снаружи? Т.е. либо в публичной подсети с подключенным IGW и Публичный IP, или в частной подсети с NAT шлюзом?

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

Надеюсь, это поможет :)