Подключение базы данных метабазы к MySQL RDS: истекло время ожидания через 5000 миллисекунд

0

Моя Metabase работает на экземпляре Amazon Beanstalk, и я создал базу данных RDS (MySQL), к которой у меня есть доступ к MySQL Workbench.

Когда я пытаюсь добавить свою базу данных в Metabase, я получаю следующее сообщение об ошибке:

Вышло после 5000 миллисекунд.

Я попытался увеличить тайм-аут на экземпляре RDS, но, видимо, вы должны создать новую группу параметров. Но я не знаю, как указать эту группу параметров в Metabase (возможно, в дополнительных параметрах строки подключения 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."}
  • 0
    Вам когда-нибудь удавалось подключаться к RDS для выполнения запросов? Какая конфигурация группы безопасности связана с экземпляром Amazon RDS?
  • 0
    Да, через MySQL Workbench я могу подключаться к базе данных RDS и без проблем выполнять запросы. Я вставляю настройки группы безопасности как обновление к вопросу в ближайшее время.
Показать ещё 3 комментария
Теги:
amazon-web-services
amazon-rds
metabase

1 ответ

1
Лучший ответ

В настоящее время ваша группа безопасности разрешает доступ только с одного IP-адреса (как показано выше). Это блокирует доступ из веб-приложения.

Вам нужно будет добавить правило в группу безопасности RDS, разрешающую входящий доступ из веб-приложения.

Лучший способ сделать это - найти идентификатор группы безопасности, которая связана с вашим веб-приложением (например, sg-abcd1234). Затем добавьте правило в группу безопасности RDS, разрешающую доступ из этого идентификатора группы безопасности. Затем это позволит получить доступ к любому экземпляру EC2, который использует эту группу безопасности (даже если Beanstalk добавляет/удаляет экземпляры, все они будут наследовать доступ).

  • 0
    Genius! Спасибо за обнаружение проблемы.
  • 0
    У меня та же проблема, но мое приложение работает на DigitalOcean. Я разрешил IP-адрес Droplet в RDS. Я не совсем понял, как добавить правило с идентификатором группы безопасности ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню