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

AWS RDS Aurora Mysql swap CNAME при аварийном переключении

Несколько дней назад я тестирую RDS Aurora Writer-Reader (например, классический mysql Master-Slave). В частности, в своей способности восстановления снова выполняет переключение в писателе, среди прочего, RDS должен поменять местами роли писателя и читателя (все хорошо на этом этапе) и поменять местами CNAME конечной точки, чтобы приложение могло нормально продолжать работу.

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

Чтобы проверить это, я использую кнопку «Test Failover» на панели RDS.

Функция изменения конечной точки CNAME упоминается в официальных документах: https://aws.amazon.com/rds/faqs/#45

В следующем абзаце:

Amazon RDS автоматически обрабатывает отказоустойчивость, поэтому вы можете как можно быстрее возобновить работу с базой данных без вмешательства администратора. При отказе Amazon RDS просто переворачивает запись канонического имени (CNAME) для вашего инстанса БД, чтобы указать на резервный, который, в свою очередь, становится новым основным. Мы рекомендуем вам следовать лучшим практикам и реализовывать повторные попытки подключения к базе данных на уровне приложения.

Основываясь на @Michael - sqlbot, я исправляю проблему. Когда вы используете aurora в конфигурации высокой доступности, вам необходимо использовать в конфигурации вашего приложения конечную точку кластера, а не конечную точку экземпляра, потому что имя меняется внутри кластера.