← Cloudflare Load Balancing / load-balancing
Мониторы
Монитор с определённым интервалом отправляет запросы проверки состояния, чтобы оценить работоспособность каждой конечной точки в пул.
Когда пул становится недоступным, ваш балансировщик нагрузки исключает этот пул из ротации конечных точек.
flowchart RL
accTitle: Load balancing monitor flow
accDescr: Monitors issue health monitor requests, which validate the current status of servers within each pool.
Monitor -- Health Monitor ----> Endpoint2
Endpoint2 -- Response ----> Monitor
subgraph Pool
Endpoint1((Endpoint 1))
Endpoint2((Endpoint 2))
end
Запросы монитора работоспособности, которые приводят к изменению статуса конечной точки, записываются как события в журналах событий Load Balancing.
Свойства
Актуальный список свойств монитора приведён в Свойства монитора в нашей документации по API.
Создание мониторов
Пошаговые инструкции приведены в Создание мониторов.
Группы мониторов
Группы мониторов позволяют объединять несколько мониторов состояния в одну логическую группу для более точных и интеллектуальных проверок состояния ваших приложений. Объединяя результаты нескольких мониторов, вы точнее отражаете реальное состояние приложения и повышаете отказоустойчивость управления трафиком. Подробнее см. в Группы мониторов страницу документации.
Регионы монитора работоспособности
Когда вы подключить монитор к пулу, можно выбрать несколько регионов, чтобы повысить точность отчётов.
Для каждого варианта, выбранного в поле пула Регионы монитора работоспособности, Cloudflare отправляет запросы монитора работоспособности из трёх отдельных дата-центров в этом регионе.
Если большинство дата-центров данного региона успешно проходят запросы монитора работоспособности, этот регион считается работоспособным. Если работоспособно большинство регионов, то и сама конечная точка считается работоспособной.
Конфигурации
Все дата-центры (только Enterprise)
Зонды монитора работоспособности отправляются из каждого дата-центра сети Cloudflare к конечным точкам связанного пула. Благодаря этому зонды достигают каждой конечной точки с интервалом, заданным клиентом.
Все регионы (только Enterprise)
На каждую конечную точку связанного пула из каждого региона отправляется по три пробы монитора состояния. Всего регионов 13, поэтому общее количество проб составляет 39.
Regional
Из каждого указанного региона в конфигурации пула отправляется три пробы монитора состояния.
Поведение зондов IPv4 и IPv6
По умолчанию зонды монитора работоспособности используют IPv4. Зонды IPv6 отправляются только в том случае, если у адреса конечной точки нет A записи (только AAAA). Каждая конечная точка получает один запрос проверки за интервал: Cloudflare не проверяет одновременно IPv4 и IPv6 для одной и той же конечной точки.
Чтобы принудительно выполнять проверки по IPv6, укажите в качестве адреса конечной точки либо чистый IPv6-адрес, либо имя хоста, у которого есть только AAAA записи.
Приоритизация заголовка Host
Заголовки Host, используемые в запросах монитора состояния, можно настроить либо в самом мониторе или на эндпоинты в пуле.
Если заголовок Host указан одновременно и в мониторе, и в конечной точке, приоритет получает заголовок Host, настроенный в конечной точке, а не тот, что настроен в мониторе.
Если заголовок Host не указан, Cloudflare использует Endpoint Address настроенное на конечных точках в качестве заголовка host для запросов монитора проверки работоспособности.
Подробнее см. в Переопределение HTTP-заголовков Host.
Команды API
Cloudflare API поддерживает следующие команды для мониторов. Примеры приведены для конечной точки уровня пользователя, но применимы и к конечной точке уровня аккаунта.
| Команда | Метод | Конечная точка |
|---|---|---|
| Создание монитора | POST |
accounts/:account_id/load_balancers/monitors |
| Delete Monitor | DELETE |
accounts/:account_id/load_balancers/monitors/:id |
| List Monitors | GET |
accounts/:account_id/load_balancers/monitors |
| Сведения о мониторе | GET |
accounts/:account_id/load_balancers/monitors/:id |
| Перезаписать отдельные свойства | PATCH |
accounts/:account_id/load_balancers/monitors/:id |
| Перезаписать существующий монитор | PUT |
accounts/:account_id/load_balancers/monitors/:id |
| Preview Monitor | POST |
accounts/:account_id/load_balancers/monitors/:id/preview |
Поддерживаемые протоколы
В следующей таблице приведены типы мониторов, доступных в Cloudflare Load Balancing, их методы мониторинга, а также то, как каждая проверка состояния оценивает критерии успешности для определения исправности конечной точки:
| Тип монитора | Тип мониторинга | Описание | Процесс проверки работоспособности | Критерии успеха |
|---|---|---|---|---|
| HTTP/HTTPS | Публичный и приватный | Используется для конечных точек HTTP и HTTPS с определёнными атрибутами протокола. | Для проверки настраиваются параметры и критерии успешности, такие как Method, Simulate Zone, Follow Redirects, Request Headers и Response Body. Затем проверка оценивает заданные критерии успешности по протоколу HTTP. На протяжении всего заданного времени ожидания TCP-соединение поддерживается активным с помощью keep-alive, даже если ответ не получен. | Успешность определяется соответствием заданным критериям успеха HTTP. Отсутствие ответа в течение настроенного времени ожидания и числа повторов считается признаком неработоспособности. |
| TCP | Публичный и приватный | Проверяет доступность по TCP, пытаясь открыть соединение с конечной точкой. | Монитор отправляет сообщение TCP SYN на указанный порт. Для успешной проверки состояния требуется получить сообщение SYN/ACK, устанавливающее соединение. Соединение закрывается отправкой пакета FIN или RST либо получением пакета FIN от конечной точки. | Если TCP-соединение не удаётся установить в течение настроенного времени ожидания и числа повторных попыток, эндпоинт считается неработоспособным. |
| ICMP Ping | Публичный и Tunnel | Проверяет базовую связность на уровне 3 (L3) с конечной точкой с помощью ICMP. Конечным точкам должно быть разрешено отвечать на пакеты ICMP, а всё промежуточное сетевое оборудование должно поддерживать ICMP. | Монитор отправляет эхо-запрос ICMP/ICMPv6 (ping) и ожидает эхо-ответ ICMP/ICMPv6 от конечной точки. | Чтобы считаться исправной, конечная точка должна отвечать на ICMP ping в течение заданного времени ожидания и числа повторов. |
| UDP-ICMP | Публичный и Tunnel | Монитор UDP-ICMP отправляет пробный UDP-пакет после того, как монитор ICMP Ping определяет состояние как работоспособное. | После получения успешного ответа ICMP монитор отправляет конечной точке пробный пакет UDP. Если сообщение ICMP Port Unreachable не получено, конечная точка считается работоспособной. | Если в течение настроенного тайм-аута и количества повторных попыток монитор получает сообщение ICMP Port Unreachable, конечная точка считается нерабочей. |
| SMTP | Общедоступный | Проверяет доступность SMTP на уровне приложения. | Монитор устанавливает TCP-соединение и отправляет команду SMTP HELO, ожидая ответа с кодом 250. Затем он отправляет команду SMTP QUIT, ожидая ответа с кодом 221. В конце каждого интервала TCP-соединение закрывается отправкой пакета TCP FIN. | Чтобы считаться исправной, конечная точка должна отвечать правильными кодами SMTP (250 для HELO, 221 для QUIT) в течение заданного времени ожидания и числа повторов. |