Django не может подключиться к серверу MySQL RDS
ГОЛ
Подключение EC2 Django API к RDS
Архитектура
AWS VPC имеет две подсети
- 1 частный с экземпляром RDS
- 1 публичный с моими двумя серверами EC2
- Главный сервер: Хостинг Django API, подключенный к интернет-шлюзу .
- Базовый сервер: Разрешены только аутентифицированные SSH-соединения, используется для административных целей на экземпляре RDS .
Фон
Я установил успешное соединение на MySQL Workbench. Установлено SSH-соединение с сервером EC2, затем соединение с хостом MySQL RDS. Я могу выполнить все C.R.U.D с помощью этого соединения.
Когда я пытаюсь воссоздать этот процесс вручную в командной строке, у меня не получается. Я подключаюсь по SSH к серверу EC2, затем пытаюсь подключиться к RDS с помощью SSH к MySQL с той же конечной точкой, пользователем, портом и паролем, но ничего не получается.
Когда я пытаюсь запустить свой сервер Django на удаленном EC2, он также не работает. У меня есть пользователь, конечная точка и пароль, сохраненные как переменные окружения. Когда я запускаю сервер Django, он говорит, что соединение не удалось.
Это расстраивает, поскольку я почти уверен, что мои AWS VPC настроены правильно, потому что я могу подключиться через MySQL workbench, но когда я пытаюсь подключиться вручную или с помощью Django, это не работает.
Django: settings.py (Django config)
# Database
# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bucket',
'USER': os.getenv('BUCKET_RDS_USER'),
'PASSWORD': os.getenv('BUCKET_RDS_PASS'),
'HOST': os.getenv('BUCKET_RDS_HOST'),
'PORT': '3306',
}
}
Скриншоты вывода терминала: Imgur Link to Screenshots