Подключение базы данных метабазы к MySQL RDS: истекло время ожидания через 5000 миллисекунд
Моя метабаза работает на экземпляре Amazon Beanstalk, и я создал базу данных RDS (MySQL), к которой у меня есть доступ к использованию MySQL Workbench.
Когда я пытаюсь добавить свою базу данных в метабазу, я получаю следующее сообщение об ошибке:
Тайм-аут через 5000 миллисекунд.
Я попытался увеличить время ожидания для экземпляра RDS, но, очевидно, вы должны создать новую группу параметров. Но я не знаю, как упомянуть эту группу параметров в метабазе (возможно, в опциях строки подключения JDBC?)
MySQL RDS общедоступен.
Обновление: параметры группы безопасности в экземпляре RDS
Inbound:
Custom TCP Rule
TCP
3306
83.219.196.40/32
Outbound:
All traffic
All
All
0.0.0.0/0
Обновление 2: сообщение журнала метабазы
Jun 25 12:05:13 ERROR metabase.driver :: Failed to connect to database: Timed out after 5000 milliseconds.
Jun 25 12:05:13 DEBUG metabase.middleware :: POST /api/database 400 (5 s) (0 DB calls)
{:valid false, :dbname "Timed out after 5000 milliseconds.", :message "Timed out after 5000 milliseconds."}
2 ответа
Ваша группа безопасности в настоящее время разрешает доступ только с одного IP-адреса (как показано выше). Это блокирует доступ из веб-приложения.
Вам нужно будет добавить правило в группу безопасности RDS, разрешающее входящий доступ из веб-приложения.
Лучший способ сделать это - найти идентификатор группы безопасности, связанной с вашим веб-приложением (например, sg-abcd1234). Затем добавьте правило в группу безопасности RDS, разрешающее доступ из этого идентификатора группы безопасности. Это позволит затем получить доступ из любого экземпляра EC2, который использует эту группу безопасности (даже если Beanstalk добавляет / удаляет экземпляры, все они наследуют доступ).
export MB_DB_CONNECTION_TIMEOUT_MS=50000
java -jar meatabase.jar
Соединение с базой данных по умолчанию составляет 5 секунд. Вы можете увеличить его, например, на 50 секунд.