AWS RDS Aurora Mysql подкачка CNAME при отказе

AWS RDS Aurora Mysql подкачка CNAME при отказе

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

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

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

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

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

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

решение1

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

решение2

У меня есть другой вопрос по этому поводу. Так в route53 какой тип записи мы должны создать? CNAME подойдет? и если у меня есть 2 конечных точки кластера, мне нужно создать по одному cname на каждый кластер? или только одно CNAME? Я попробовал и увидел, что невозможно создать 1 CNAME с 2 конечными точками кластера. Спасибо!

Связанный контент