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

Как работает проверка работоспособности Amazon ELB?

У меня проблемы с настройкой ELB для моих серверов.

Я запускаю 2 микроэкземпляра с одной и той же конфигурацией и пытаюсь выполнить балансировку нагрузки. Однако они никогда не проходят проверку работоспособности (путь HTTP-порта 80: «/»).

Как работала проверка работоспособности? Я что-то делаю неправильно?

РЕДАКТИРОВАТЬ:

Я пришел к выводу, что ответ, помимо ответа HTTP 200, должен содержать определенные заголовки. У меня был HTTP 200, возвращенный с моего сервера tomcat, работающего на экземпляре, который не работает, но статическая страница html, обслуживаемая httpd (также возвращающая код 200), работает нормально. Глядя на заголовки, одно из немногих отличий заключалось в том, что заголовок tomcat не содержал тип содержимого. Не знаю, почему это может иметь значение.

Я предполагаю, что он выполняет HTTP-запрос GET по указанному пути "/" каждого из серверов и ищет успешный код HTTP-ответа (200). Можете ли вы успешно отправить запрос GET на http://<backend_server_IP>:80/ через браузер (или инструмент CLI, например wget или curl).

Если запрос обслуживается успешно, второй вопрос, который следует спросить: настроили ли вы группу безопасности своих серверов так, чтобы доступ к порту 80 был ограничен определенным адресом источника или подсетью? Если это так, вам нужно добавить группу безопасности ELB в фильтр. Группа всегда называется:

amazon-elb/amazon-elb-sg

Таким образом, вы можете просто добавить это в поле «Источник» в разделе «Группы безопасности» консоли AWS.

У меня та же проблема. Я просто проверяю TCP: 80 как временное решение (которое отлично работает).

Вы должны использовать определенное доменное имя на своем веб-сервере. Или вы настраиваете свой веб-сервер для удовлетворения любого запроса (привязка *) или следования документация.

так что у меня только что работает проверка http, указав ее на статический файл html (в отличие от страницы php).

'/' не работает, несмотря на то, что он возвращает действительный статус http при использовании curl и т. д. '/file.html', однако, проходит проверку работоспособности.

  • Во-первых, убедитесь, что трафик безопасности ELB разрешил трафик от экземпляра, а группа безопасности экземпляра разрешает трафик от ELB.
  • Было упомянуто, что ответ должен быть 200
  • И, наконец, есть ли у вас более одного интерфейса, насколько я могу судить, он выбирает случайным образом, какой интерфейс.
  • ELB должен находиться в подсети с интернет-маршрутом к IGW