Я успешно настроил ситуацию master-slave MySQL на отдельных экземплярах AWS EC2.
Подчиненный сервер работает и успешно копирует ведущий.
Все идет нормально.
Теперь я хочу иметь возможность запрашивать подчиненное устройство (для аналитики и т. д.), но я не могу найти правильную конфигурацию, чтобы иметь возможность отправлять запрос от главного устройства к подчиненному устройству.
Ошибки, которые я получаю (в зависимости от настроек моего профиля безопасности AWS): «Отказано в подключении» или «Время ожидания подключения истекло».
На ведомом устройстве у меня было разрешение группы безопасности EC2 для основного IP-блока, который можно было использовать для подключения к порту 3306, и я использовал IP-адрес ведомого устройства в конфигурации соединения ведущего устройства.
Это привело к ошибке «Отказано в соединении», когда я попытался запросить ведомое устройство у ведущего.
На мастере я запустил «показать полный список процессов» и увидел, что подчиненный хост — это имя хоста AWS EC2, а не IP-адрес, а порт 44508 был добавлен в конец, поэтому я изменил информацию о соединении на мастере, чтобы использовать подчиненный хост. имя вместо IP-адреса и параметр группы безопасности на ведомом устройстве, чтобы разрешить трафик от ведущего устройства на порт 44508 вместо 3306.
Это привело к ошибке «Время ожидания подключения истекло».
Я пробовал комбинации IP/имени хоста/порта в группе безопасности ведомого устройства, но просто получил одну из этих двух ошибок с любой комбинацией.
Может ли кто-нибудь предложить советы о том, как настроить вещи, чтобы я мог выполнять запросы (только для чтения) на ведомом устройстве с этой главной машины и возвращать результаты обратно ведущему? ТИА.
Обе системы настроены одинаково, за исключением того, что на мастере также работает Codeigniter4, где я устанавливаю конфигурацию подключения:
Ubuntu 20.04.3 LTS и MySQL 8.0.26-0