← Cloudflare Load Balancing / load-balancing / understand-basics
Статус прокси
Вы можете балансировать трафик на разных уровнях сетевого стека, например:
- Уровень 7 (HTTP/HTTPS) (самый распространённый)
- DNS-only
- Уровень 4 (TCP)
Балансировка нагрузки на уровне 7
Балансировщики нагрузки уровня 7 направляют трафик на определённые эндпоинты на основе информации в каждом HTTP- или HTTPS-запросе (HTTP-заголовки, URI, cookie, тип данных и так далее).
Когда клиент обращается к вашему приложению, Cloudflare направляет его запрос на работоспособную конечную точку (которая определяется вашей политика маршрутизации трафика и веса эндпоинтов).
Cloudflare выполняет балансировку нагрузки на уровне 7, если трафик к вашему имени хоста проксируется через Cloudflare. В Load Balancing такие балансировщики нагрузки отмечены оранжевым облаком.
Преимущества
По сравнению с балансировкой нагрузки типа DNS-only балансировка нагрузки на уровне 7:
- Защищает конечные точки от DDoS-атак, скрывая их IP-адреса.
- Обеспечивает более быстрое переключение при отказе и более точную маршрутизацию, на которые иначе могло бы повлиять кэширование DNS.
- Интегрируется с другими функциями Cloudflare, такими как кеширование, Workers и WAF.
- Снижает количество авторитетных запросов к Cloudflare, что может сократить расходы клиентов с оплатой по факту использования.
- Поддерживает настраиваемые привязка сессии и endpoint drain.
- Точнее определяет географическое положение трафика, используя дата-центр, связанный с пользователем, отправившим запрос, а не дата-центр, связанный с рекурсивным DNS-резолвером пользователя.
- Поддерживает частные IP-адреса с Private Network Load Balancing.
Балансировка нагрузки типа DNS-only
Балансировщики нагрузки в режиме DNS-only маршрутизируют трафик, возвращая определённые IP-адреса в ответ на DNS-запрос клиента.
Когда клиент обращается к вашему приложению, Cloudflare предоставляет адрес работоспособной конечной точки (который определяется вашей политика маршрутизации трафика и политика распределения трафика на уровне эндпоинтов). Однако Cloudflare полагается на то, что DNS-резолверы соблюдают короткий TTL и повторно запрашивают DNS Cloudflare для получения обновлённого списка работоспособных адресов. Если у клиента есть кешированный DNS-ответ, он перейдёт к предыдущему адресу назначения, потенциально игнорируя ваш балансировщик нагрузки.
Cloudflare выполняет DNS-only балансировку нагрузки, если трафик к вашему имени хоста не проксируется через Cloudflare. В Load Balancing такие балансировщики нагрузки отмечены серым облаком.
Преимущества
Если ваш балансировщик нагрузки привязан к имени хоста, используемому для MX или SRV запись , а не A, AAAA, или CNAME запись: её режим прокси должен быть DNS-only.
Ограничения
По сравнению с проксируемой балансировкой нагрузки на уровне 7 балансировка нагрузки типа DNS-only:
- Не скрывает IP-адреса конечных точек, оставляя их уязвимыми для DDoS-атак.
- Обеспечивает более медленное переключение при отказе и менее точную маршрутизацию, так как приходится полагаться на DNS-резолверы и настройки кэша.
- Не может использоваться совместно с другими функциями Cloudflare, такими как кеширование, Workers и WAF.
- Увеличивает число авторитативных запросов к Cloudflare, что может увеличить расходы для клиентов с оплатой по фактическому использованию.
- Не поддерживает привязка сессии. Как вариант, можно использовать Персистентность DNS.
- Определяет географическое положение трафика по дата-центру, связанному с исходным адресом ECS, если он доступен. Если он недоступен, местоположение определяется по рекурсивному DNS-резолверу пользователя, что иногда может вызывать проблемы с маршрутизация на основе задержки.
- Не поддерживает Private Network Load Balancing.
Балансировка нагрузки на уровне 4
Балансировщики нагрузки уровня 4 направляют трафик, перенаправляя его на определённые порты или IP-адреса.
В настоящее время Cloudflare поддерживает балансировку нагрузки на уровне 4 только в рамках Cloudflare Spectrum.