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

Вернуться на верх