Подключение к экземпляру базы данных AWS RDS MySQL с помощью Flask-SQLAlchemy


Для моего приложения Flask я хочу использовать расширение Flask-SQLAlchemy для подключения к экземпляру базы данных, созданному на AWS RDS.

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

Sqlalchemy.экскавация.OperationalError: (OperationalError) (2003, " не могу подключение к серверу MySQL на 'xxxxxxxxxxxxxxx.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'(60")

Мой Код Выглядит Так:

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
application = Flask(__name__)

application.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{master username}:{db password}@{endpoint}/{db instance name}'
db = SQLAlchemy(application)

@application.route('/')
def hello_world():
    return 'Hello World'

if __name__ == '__main__':
    application.run()

Колба - SQLAlchemy документация говорит, что формат sqlalchemy_database_uri для соединений с базами данных mysql должен выглядеть следующим образом:

mysql://username:[email protected]/db

Кроме того, я могу проверить консоль AWS RDS на наличие информации о моем экземпляре базы данных. Консоль выглядит так: это .

Прямо сейчас я предполагаю, что "username" в SQLAlchemy относится к "Master Username" в консоли AWS RDS, "сервер" в SQLAlchemy означает "конечную точку" в консоли AWS RDS, а "БД" относится к "базе данных Имя Экземпляра "

Что я делаю не так??

Если бы кто-то мог описать SQLALCHEMY_DATABASE_URI для меня с помощью консольных терминов AWS RDS, это полностью решило бы проблему.

2 17

2 ответа:

Перейдите в консоль AWS RDS и выберите экземпляр - > группы безопасности DB - > нажмите Default

И добавьте новый CIDR в соответствии с рекомендуемым диапазоном IP.

Это в основном конфигурация брандмауэра, которая определяет, кто может подключиться к экземпляру базы данных.

Вы можете установить его в качестве 0.0.0.0/0, чтобы брандмауэр не препятствовал доступу к нему с любого хоста/сети.

Это допустимый путь: панель мониторинга EC2 - > найти сеть и безопасность на левой боковой панели -> группы безопасности.

Группа безопасности

Если у вас есть созданная группа безопасности, вы можете перейти к номеру 2.

  1. Создание новой группы безопасности:

Там вы можете назвать свою группу безопасности и описание.

VPC, вероятно, будет автоматически создан для вас.

Окно создать группу безопасности

После его создания выберите его из списка список.

  1. настройка входящих и / или исходящих соединений:

Здесь можно настроить правила входящих подключений.

Входящее окно

On edit - > add rule у вас есть стандартные предустановки для легкой настройки, например HTTP на порту 80.

Окно изменить правила входящих подключений

Я надеюсь, что теперь это поможет всем.