AWS Aurora предоставляет следующие конечные точки , которые вы сможете использовать в значении host
в вашем коде:
Конечная точка кластера
Конечная точка кластера является конечной точкой для Aurora DB
кластер, который подключается к текущему первичному экземпляру для этой БД
кластер. Каждый кластер Aurora DB имеет конечную точку кластера и один основной
экземпляр.
Конечная точка считывателя
Конечная точка считывателя - это конечная точка для Aurora DB
кластер, который подключается к одной из доступных реплик Авроры для этого
Кластер БД. Каждый кластер Aurora DB имеет конечную точку считывателя. Если там есть
более одной реплики Авроры, конечная точка читателя направляет каждого
запрос на подключение к одной из реплик Авроры.
Конечная точка экземпляра
Конечная точка экземпляра является конечной точкой для БД
экземпляр в кластере Aurora DB, который подключается к этой конкретной БД
пример. Каждый экземпляр БД в кластере БД, независимо от экземпляра
тип, имеет свою собственную уникальную конечную точку экземпляра. Итак, есть один экземпляр
конечная точка для текущего первичного экземпляра кластера БД, и там
одна конечная точка экземпляра для каждой реплики Авроры в БД
кластер.
Мне не совсем ясно, какую конечную точку вы используете в данный момент. Часть вашего кода, которая получает значение host
, или метод, который вы используете для установки этого значения вручную, является единственной релевантной частью вашего кода, о которой идет речь, и вы ее не включили. Возможно, вы используете конечную точку экземпляра для указания на основной экземпляр, но в случае сбоя этот экземпляр становится репликой чтения, что вызывает вашу проблему.
Вы должны использовать конечную точку кластера, которая гарантирует, что ваши подключения будут идти к основному экземпляру чтения / записи.