Укажите Healthcheck для балансировщика нагрузки в AWS - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть веб-приложение (сервер ноутбуков jupyter), которое находится в док-контейнере на AWS, поскольку у него нет конечной точки, созданной специально для проверки работоспособности, балансировщик нагрузки не может проверить, что он работает правильно, и мой контейнер ecs регулярно выходит из строяс сообщением: Task failed ELB health checks in (target-group arn:aws:elasticloadbal. Мои вопросы: можно ли параметризовать проверку работоспособности балансировщика нагрузки, чтобы он проверял, отвечает ли страница входа в систему, и считает ли проверку работоспособности успешной в этом случае? Заранее спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2019

Лучший подход - создать конечную точку в вашем приложении, например, /health и вернуть код состояния HTTP 200. Проверка работоспособности LB не читает и не просматривает тело, а просто проверяет ответ http код состояния , если вы используете приложение LB.

LB просто пингует путь входа в систему, но проблема возникаеткогда /login не возвращает код состояния 200 и, конечно, он не вернет 200, поскольку вход в систему не будет считаться успешным без тела.

Выполните ssh и curl -I yourendpoint:port/login и проверьте http respoonseкод предполагает его 401.

Затем перейдите к целевой группе -> проверка работоспособности -> изменить

Обновите код состояния соответственно enter image description here

0 голосов
/ 07 ноября 2019

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

Да, вы бы установили HealthCheckPath для любого пути к странице входа.

...