Подключение базы данных метабазы ​​к 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 секунд.

Другие вопросы по тегам