Назад | Перейти на главную страницу

AWS: Target.FailedHealthChecks - сайт всегда в «тяжелом» состоянии

Мое приложение Elastic Beanstalk постоянно severe состояние ... хотя он работает абсолютно нормально.

Глядя на экран Health, он говорит, что 100% его запросов 3xx, и, глядя на журналы, это очевидно подтверждается:

[29/Nov/2017:10:07:46 +0000] "GET / HTTP/1.1" 302 356 "-" "ELB-HealthChecker/2.0"

Это имеет смысл, так как / 302 перенаправит вас на страницу входа.

Дело в том, что я сказал AWS НЕ использовать / при проверке здоровья, но вместо этого использовать /news который всегда должен возвращать 200, вне зависимости от того, вошли вы в систему или нет:

Я пробовал изменить URL-адрес проверки работоспособности на другие подходящие конечные точки и перезапустить экземпляр EC2, но он всегда возвращается к проверке / (по логам). Я дал ему 12 часов, чтобы посмотреть, изменится ли он со временем.

Так почему он продолжает проверять / и вернув severe штат? Что я могу сделать, чтобы это исправить? Возможно, это проблема группы безопасности (хотя сайт открыт для публики)?

Похоже, ошибка была вызвана проверкой состояния здоровья Балансировщик нагрузки приложений, не приложение Elastic Beanstalk. ALB необходимо изменить цель в другом месте (см. документацию).

Это было легко исправить, когда я знал, что:

Чтобы изменить настройки проверки работоспособности целевой группы с помощью консоли

  1. Откройте консоль Amazon EC2 на https://console.aws.amazon.com/ec2/.
  2. На панели навигации в разделе НАГРУЗКА БАЛАНСИРОВКИ выберите Целевые группы.
  3. Выберите целевую группу.
  4. На вкладке Проверки работоспособности выберите Изменить.
  5. На странице «Изменить целевую группу» измените настройки, если необходимо, а затем нажмите «Сохранить».