Обзор
Сетевой балансировщик нагрузки распределяет входящий сетевой трафик между подключенными к нему виртуальными машинами, повышая отказоустойчивость и масштабируемость системы. Он обеспечивает обработку TCP- и UDP-трафика одной сессии одной и той же виртуальной машиной.
Сервис Network Load Balancer позволяет разворачивать сетевые балансировщики нагрузки двух типов — внешние и внутренние. Они различаются областью доступности и сценариями применения.
Внешний балансировщик нагрузки
Заголовок раздела «Внешний балансировщик нагрузки»Внешний балансировщик принимает трафик из интернета и направляет его на виртуальные машины, расположенные в облачной сети VPC. Он используется при публикации приложений в интернете — например, веб-сервисов или публичных API.
По умолчанию входящий трафик из интернета запрещен, поэтому для работы внешнего балансировщика нагрузки нужно создать правило файрвола, которое разрешает принимать внешний трафик. У внешнего балансировщика нагрузки должен быть внешний IP-адрес, доступный из интернета.
Внутренний балансировщик нагрузки
Заголовок раздела «Внутренний балансировщик нагрузки»Внутренний балансировщик нагрузки обрабатывает трафик только внутри облачной сети и недоступен из интернета. Он используется в рамках инфраструктуры, например, при взаимодействии сервисов в микросервисной архитектуре.
На стадии Preview внутренний балансировщик не учитывает, из какой зоны доступности пришел трафик и в какой зоне доступности находится целевая виртуальная машина. Благодаря этому нагрузка распределяется равномернее, но в некоторых случаях возможно увеличение сетевых задержек (latency) из-за передачи трафика между зонами доступности.
Режим балансировки pass-through
Заголовок раздела «Режим балансировки pass-through»И внутренние, и внешние балансировщики нагрузки работают в режиме pass-through. В этом режиме балансировщик не прерывает соединение с клиентом, а передает все заголовки исходного запроса на целевую виртуальную машину, и соединение разрывается уже на ней.
Преимущества pass-through-балансировки:
- Высокая пропускная способность — поскольку балансировщик не прерывает и не устанавливает новые соединения, он тратит меньше ресурсов и может обработать больше трафика.
- Поддержка Direct Server Return — запросы клиента проходят через балансировщик, но ответы виртуальной машины возвращаются клиенту напрямую. Это снижает нагрузку на балансировщик, уменьшает сетевые задержки и также позволяет обрабатывать больше трафика.