Beanstalk не может подключиться к экземпляру rds

Я нахожусь в такой же лодке, как и пользователь в этом вопросе; Подключение среды elastic beanstalk к существующему экземпляру RDS

У меня есть проект Codestar (Django через Beanstalk), и я не могу заставить приложение получить доступ к любым экземплярам rds. При попытке развертывания на этапе тестирования (python manage.py test) выдается следующее сообщение об ошибке;

django.db.utils.OperationalError: could not connect to server: Connection timed out
    Is the server running on host "172.31.44.126" and accepting
    TCP/IP connections on port 5432?

То, что я уже пробовал

  • Запуск локально

прекрасно работает через django и psql

  • используя ip-адрес и публичное имя хоста (name.key.eu-west-2.rds.amazonaws.com)

оба отлично работают локально и выдают одинаковое сообщение об ошибке при развертывании

  • Подключение к rds через экземпляр EC2

Это работает нормально, подключаясь через локальный ip и имя. Такие запросы, как \d и \l возвращаются нормально, указывая на то, что экземпляр может видеть базу данных.

.
  • Изменение vpc / подсетей

Оба экземпляра EC2 и rds находятся в одном vpc (есть только один) и подсети (eu-west, группа доступности 2a)

.
  • Раскрутка присоединенного экземпляра beanstalk rds

Я пробовал выделенные экземпляры rds и подключенный экземпляр с помощью инструмента EBS, и приложение не смогло подключиться ни к одному из них.

Settings.py

if 'RDS_DB_NAME' in os.environ:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': os.environ['RDS_DB_NAME'],
            'USER': os.environ['RDS_USERNAME'],
            'PASSWORD': os.environ['RDS_PASSWORD'],
            'HOST': os.environ['RDS_HOSTNAME'],
            'PORT': os.environ['RDS_PORT'],
        }
    }
else:
    DATABASES = {
        'default':
        {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'postgres',
            'USER': 'db_user',
            'PASSWORD': 'db_pwd',
            'HOST': 'db_host',
            'PORT': '5432',
        }
}
Вернуться на верх