Проблема проверки работоспособности AWS Elastic Beanstalk - PullRequest
0 голосов
/ 29 мая 2018

Моим веб-приложением является Django, а веб-сервер использует Nginx, использует для развертывания образ Docker и Elastic Beanstalk.

Обычно проблем не было, но по мере того, как балансировщик нагрузки расширяет EC2, мой веб-сервер становится 502 Bad Gateway.

Я проверил журналы приложений Elastic Beanstalk, около 16% запросов вернули ошибки 5xx, в это время балансировщик нагрузки расширяет EC2, в результате чего веб-сервер переходит в состояние 502 Bad Gateway и приложение Elastic Beanstalk.в ухудшенное состояние.

Это обычная проблема, когда балансировщик нагрузки выполняет проверку работоспособности?Если нет, то как отключить проверку работоспособности?

Я прилагаю захваченное изображение для справки.

enter image description here

Ответы [ 2 ]

0 голосов
/ 15 июля 2018

Во время развертывания вашего кода вы получите 502, потому что экземпляр EC2 не проходит проверку работоспособности.Необходимо настроить параметры по умолчанию для проверки работоспособности баланса нагрузки, чтобы у вас было достаточно времени для завершения развертывания.Разрешите больше времени для развертывания, если вы также перезапускаете сервер после каждого развертывания.

Средство балансировки нагрузки AWS отправляет запрос проверки работоспособности каждому зарегистрированному экземпляру каждые N секунд, используя указанный вами путь.Интервал по умолчанию составляет 30 секунд.Если проверка работоспособности не проходит N раз (по умолчанию 2) для любого из запущенных вами экземпляров, состояние меняется на Ухудшенное или Серьезное в зависимости от процента ваших экземпляров, которые не отвечают.

  1. Отправьте запрос, который должен вернуть код ответа 200.По умолчанию используется значение /index.html'
  2. Подождите N секунд до истечения времени ожидания (по умолчанию 5 секунд)
  3. Попробуйте еще раз через N интервалов секунд (по умолчанию 30 секунд)
  4. ЕслиНе удалось выполнить N последовательных вызовов, изменить состояние работоспособности на предупреждение или серьезное состояние (порог нездорового состояния по умолчанию - 2)
  5. После N последовательных успешных вызовов вернуть состояние работоспособности в состояние ОК (по умолчанию 10).

При настройках по умолчанию, если какой-либо экземпляр веб-сервера не работает более минуты (2 попытки по 30 секунд каждая), это считается простоем.Чтобы вернуться в состояние Ok, потребуется 5 минут (10 попыток каждые 30 секунд).

Подробное описание и параметры конфигурации см. В документации AWS: Настройка проверок работоспособности для эластичной балансировки нагрузки

0 голосов
/ 13 июля 2018

Насколько мне известно, ошибку 502 Bad Gateway можно устранить, только вручную проверив основные ссылки, имеющиеся у вас на ваших сайтах, и если они доступны через простой запрос GET.

В случае моего сайтаУ меня были некоторые проблемы со страницей входа и страницей о программе (и, к сожалению, это было около 33% моего сайта), поэтому после загрузки в EC2 я получил ошибку 5xx при проверке работоспособности.Я решил проблему, просто заставив ссылки работать на сервере (некоторые функции работали только на локальном хосте, а не на AWS, поэтому я исправил это и получил статус OK в Health Check)

Не знаюдумаю, что есть смысл удалить проверку работоспособности, так как она дает важную информацию о вашем сайте, и вы, вероятно, не хотите, чтобы на вашем сайте были недоступные страницы.

Следите за журналами, чтобы сузить проблему.

Надеюсь, вы найдете решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...