Как мне подключить приложение Python Flask на Ubuntu ec2 к базе данных MySQL с помощью RDS?

#python #nginx #flask #amazon-ec2 #amazon-rds

Вопрос:

Я пытаюсь заставить свое приложение подключиться к моей базе данных на RDS, также я использую NGINX. При удаленном подключении к ec2 с помощью терминала я могу нормально подключиться к базе данных. Именно на стороне, обращенной к общественности, существует ошибка. Я шаг за шагом следовал руководству, данному мне школой кодирования. Загрузится начальная страница входа/регистрации, но если я попытаюсь создать учетную запись или ошибку входа, я получу 500 внутренних ошибок службы. Ошибка 500

Я правильно настроил свою группу безопасности в том, что касается правил входящих сообщений. Существуют ли какие-либо исходящие правила, которые мне нужны в ec2, чтобы он мог связаться с RDS с общедоступного ip-адреса?

Спасибо

Примечание: На данный момент я не оцениваю это, я уже закончил стек Python, это просто то, что я все еще хочу выяснить. Я не люблю оставлять что-то незаконченным. Я потратил время и прочитал много статей, посмотрел видео, просмотрел документацию AWS и все еще не могу разобраться в проблеме.

Комментарии:

1. В любой момент, когда произойдет ошибка «внутренний сервер», в вашем приложении появятся журналы. не могли бы вы, пожалуйста, добавить журналы в вопрос?

2. Вы пробовали использовать SQLAlchemy? Проверьте это aws.amazon.com/blogs/database/…

3. Я приношу извинения за поздний ответ, в среду мне пришлось лечь в больницу из-за чего-то с моими плечами. @HosseinHeydari Где бы я мог найти эти журналы? Я просмотрел большую часть доступных мне материалов и, похоже, не могу их найти.

4. @GeorgeEfthymiou Я изучаю SQLAlchemy.

5. Я нашел следующее в журнале облачных трасс: «Отказано в доступе=» Проблема не существует до тех пор, пока в базу данных не будет отправлен запрос post.

Ответ №1:

В данном конкретном случае проблема заключалась в том, что база данных находилась не на RDS, а на ec2 вместе с приложением flask. Мне просто нужно было войти в соединение mysql.файл py и измените хост на «локальный хост», имя пользователя на «root» и пароль.

Спасибо