Ошибка вывода времени при развертывании Node.js приложение для Elastic Beanstalk

#amazon-web-services #amazon-elastic-beanstalk

#amazon-web-services #amazon-elastic-beanstalk

Вопрос:

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

Я создал экземпляр RDS и могу видеть, что он «Доступен», посмотрев на панель мониторинга. Затем я использую интерфейс командной строки Elastic Beanstalk для развертывания своего приложения, и развертывание проходит успешно.

Однако, когда я получаю доступ к конечной точке, я получаю 502 Bad Gateway от nginx. После проверки журналов я вижу следующую ошибку из моего Node.js приложение:

Ошибка: время подключения x.x.x.x: 5432 (ip не указан)

Согласно документации AWS по этому вопросу, я попытался назначить автоматически сгенерированную группу безопасности из моего экземпляра Elastic Beanstalk моему экземпляру RDS, но я все еще получаю ту же ошибку.

Есть ли что-то, что я неправильно понял в документации здесь? Я был бы очень благодарен, если кто-нибудь сможет указать мне здесь правильное направление.

Заранее благодарю вас.

Ответ №1:

Удалось выяснить это после множества проб и ошибок. Оказывается, это было не так уж сложно.

  1. Перейдите в свою среду EB -> Конфигурация
  2. Нажмите «Редактировать» рядом с «Экземплярами»
  3. Запишите идентификатор группы безопасности, который выбран внизу
  4. Создайте новую группу безопасности, например, «my-eb-instance-rds-access».
  5. В разделе «Входящие правила» выберите «Добавить правило». Выберите любую службу БД, которую вы используете, и она должна автоматически заполнить порт. Установите для источника значение «Пользовательский», а затем щелкните в окне поиска. Выберите группу безопасности, имеющуюся в вашем экземпляре EB, которую вы отметили ранее.
  6. Нажмите «Создать группу безопасности»
  7. Найдите свой экземпляр RDS и нажмите «Изменить»
  8. Прокрутите вниз и найдите «Подключение». Затем выберите группу безопасности, которую вы только что создали, из выпадающего списка.
  9. Прокрутите страницу до конца и нажмите продолжить. Здесь я обнаружил, что существует два варианта: один, который обновляет изменения немедленно, а другой, который ожидает регулярного планового обслуживания. Я не эксперт, но я выбрал опцию «немедленно», поскольку база данных еще не используется в производстве, поэтому некоторое время простоя не было проблемой.
  10. Теперь ваш экземпляр EB должен иметь возможность подключаться! Это сработало для меня даже после повторного развертывания.

Отказ от ответственности: я ни в коем случае не эксперт. Это было сделано исключительно методом проб и ошибок. Если у кого-то есть какие-либо советы или улучшения, я был бы рад услышать их и отредактировать ответ.