Подключение к экземпляру базы данных 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:password@server/db
Кроме того, я могу проверить консоль AWS RDS на наличие информации о моем экземпляре базы данных. Консоль выглядит так: это .
Прямо сейчас я предполагаю, что "username" в SQLAlchemy относится к "Master Username" в консоли AWS RDS, "сервер" в SQLAlchemy означает "конечную точку" в консоли AWS RDS, а "БД" относится к "базе данных Имя Экземпляра "
Что я делаю не так??
Если бы кто-то мог описать SQLALCHEMY_DATABASE_URI для меня с помощью консольных терминов AWS RDS, это полностью решило бы проблему.
2 ответа:
Перейдите в консоль AWS RDS и выберите экземпляр - > группы безопасности DB - > нажмите Default
И добавьте новый CIDR в соответствии с рекомендуемым диапазоном IP.
Это в основном конфигурация брандмауэра, которая определяет, кто может подключиться к экземпляру базы данных.
Вы можете установить его в качестве 0.0.0.0/0, чтобы брандмауэр не препятствовал доступу к нему с любого хоста/сети.
Это допустимый путь: панель мониторинга EC2 - > найти сеть и безопасность на левой боковой панели -> группы безопасности.
Если у вас есть созданная группа безопасности, вы можете перейти к номеру 2.
- Создание новой группы безопасности:
Там вы можете назвать свою группу безопасности и описание.
VPC, вероятно, будет автоматически создан для вас.
После его создания выберите его из списка список.
- настройка входящих и / или исходящих соединений:
Здесь можно настроить правила входящих подключений.
On edit - > add rule у вас есть стандартные предустановки для легкой настройки, например HTTP на порту 80.
Я надеюсь, что теперь это поможет всем.