Компоненты Azure Load Balancer

Azure Load Balancer — это сетевой сервис, который распределяет входящий трафик между группой бэкенд-ресурсов для повышения масштабируемости и доступности ваших приложений. Понимание его компонентов помогает настроить, как балансировщик нагрузки распределяет трафик, отслеживать состояние бэкенд-ресурсов и управлять входящим и исходящим подключением для ваших нагрузок. В этой статье описывается каждый компонент и его вклад в балансировку нагрузки.

Azure Load Balancer включает следующие ключевые компоненты:

  • Конфигурация IP внешнего интерфейса
  • Бекенд-пул
  • Проверки состояния
  • Правила подсистемы балансировки нагрузки
  • Порты с высокой доступностью (HA)
  • Правила NAT для входящего трафика
  • Правила для исходящего трафика

Вы настраиваете эти компоненты в своей подписке через портал Azure, Azure CLI, Azure PowerShell или шаблон Azure Resource Manager.

Конфигурация IP внешнего интерфейса

Конфигурация фронтенда IP — это IP-адрес вашего Azure Load Balancer и контактная точка для клиентов. IP-адрес фронтенда может быть одним из следующих типов:

  • Общедоступный IP-адрес
  • Частный IP-адрес

Характер IP-адреса определяет тип балансировщика нагрузки, который вы создаёте. Приватный IP-адрес создаёт внутренний балансировщик нагрузки. Публичный IP-адрес создаёт публичный балансировщик нагрузки.

Атрибут общедоступная подсистема балансировки нагрузки; Внутренняя подсистема балансировки нагрузки
Конфигурация IP внешнего интерфейса Общедоступный IP-адрес Частный IP-адрес
Description Общедоступная подсистема балансировки нагрузки сопоставляет общедоступный IP-адрес и порт входящего трафика с частным IP-адресом и портом виртуальной машины. Балансировщик нагрузки направляет трафик в обратном направлении в случае ответного трафика от виртуальной машины. Правила балансировки нагрузки распределяют определённые типы трафика между несколькими виртуальными машинами или сервисами. Например, они распределяют нагрузку веб-запроса между несколькими веб-серверами. Внутренний балансировщик нагрузки распределяет трафик между ресурсами внутри виртуальной сети. Azure ограничивает доступ к IP-адресам внешнего интерфейса виртуальной сети, балансируемым нагрузкой. Azure никогда напрямую не открывает IP-адреса фронтенда и виртуальные сети интернет-конечной точке, поэтому внутренний балансировщик нагрузки не может принимать входящий трафик из интернета. Внутренние бизнес-приложения выполняются в Azure и доступны из Azure или из локальных ресурсов.
Поддерживаемые номера SKU Стандарт Стандарт

Important

30 сентября 2025 года базовая подсистема балансировки нагрузки была прекращена. Дополнительные сведения см. в официальном объявлении. Если вы используете базовую Load Balancer, выполните обновление до Load Balancer (цен. категория "Стандартный") как можно скорее. Рекомендации по обновлению см. в разделе Переход с базового балансировщика нагрузки — рекомендации.

Снимок экрана: схема архитектуры подсистемы балансировки нагрузки, показывающая распределение трафика между интерфейсными и внутренними компонентами.

Балансировщик нагрузки может иметь несколько фронтенд-IP. Дополнительные сведения о нескольких внешних интерфейсах.

Бекенд-пул

Внутренний пул — это группа виртуальных машин или экземпляров в наборе масштабирования виртуальных машин, обслуживающих входящие запросы. Для экономически эффективного масштабирования и обработки больших объёмов входящего трафика добавьте дополнительные экземпляры в пул серверной части.

Балансировщик нагрузки автоматически перенастраивается при увеличении или уменьшении числа экземпляров. Добавление или удаление виртуальных машин из серверного пула перенастраивает балансировщик нагрузки, без других операций. Область серверного пула — это любая виртуальная машина в отдельной виртуальной сети.

Бэкенд-пулы поддерживают добавление экземпляров с помощью сетевых интерфейсов или IP-адресов. Виртуальным машинам не нужен публичный IP-адрес для подключения к бэкенд-пулу публичного балансировщика нагрузки. Вы можете подключить виртуальные машины к бэкенд-пулу балансировщика нагрузки, даже если они находятся в остановленном состоянии. Вы также можете настроить несколько бэкенд-пулов с разными группами экземпляров для одного балансировщика нагрузки. Создавая несколько правил балансировки нагрузки, каждое из которых ориентировано на разный бэкенд-пул, вы можете распределять трафик между разными наборами бэкенд-ресурсов на основе фронтенд-порта балансировщика нагрузки и протокола.

Проверки состояния

Зонд здоровья проверяет состояние экземпляров в бэкенд-пуле. Когда вы создаёте балансировщик нагрузки, вы настраиваете для его использования проверку работоспособности. Эта проверка работоспособности определяет, исправен ли экземпляр и может ли он обрабатывать трафик.

Вы можете установить нездоровый порог для своих зондов здоровья. Когда зонд не отвечает, балансировщик нагрузки перестаёт отправлять новые соединения к нездоровым экземплярам. Установленные TCP-соединения с нездоровым экземпляром сохраняются, пока не произойдёт одно из следующих событий:

  • Приложение завершает поток.
  • Происходит тайм-аут на холостом ходу.
  • Работа виртуальной машины завершается.

Если один экземпляр нездоров, существующие потоки UDP перемещаются в другой здоровый экземпляр в бэкенд-пуле. Если все экземпляры нездоровы, все существующие потоки UDP прекращаются.

Load Balancer предоставляет разные типы зондов здоровья для конечных точек: TCP, HTTP и HTTPS. Чтобы узнать больше, см. раздел Проверки работоспособности балансировщика нагрузки.

Базовый Load Balancer (вышел из эксплуатации) не поддерживает HTTPS-зонды. Когда проверка работоспособности отдельного экземпляра не проходит, уже установленные TCP-соединения с этим экземпляром сохраняются. Когда проверки работоспособности всех экземпляров не проходят, Basic Load Balancer завершает все существующие потоки TCP к внутреннему пулу.

Правила подсистемы балансировки нагрузки

Правило балансировщика нагрузки определяет, как балансировщик нагрузки распределяет входящий трафик между всеми экземплярами в пуле бэкенда. Правило сопоставляет IP-конфигурацию и порт внешнего интерфейса с несколькими внутренними IP-адресами и портами. Правила балансировки нагрузки применяются только к входящему трафику.

Например, используйте правило балансировки нагрузки для порта 80, чтобы направить трафик с внешнего IP-адреса на порт 80 ваших внутренних экземпляров.

Диаграмма, показывающая правило балансировщика нагрузки, которое сопоставляет внешний IP-адрес и порт с портами на внутренних экземплярах.

Рисунок: Правила балансировки нагрузки

Порты с высоким уровнем доступности

Правило портов высокой доступности (HA) — это правило балансировщика нагрузки, которое вы настраиваете, если для protocol задано значение All, а для port — значение 0. Правило HA-портов распределяет нагрузку между всеми потоками TCP и UDP, поступающими через все порты внутреннего балансировщика нагрузки уровня Standard. Когда вы включаете порты HA, правило также поддерживает ICMP-трафик.

Балансировщик нагрузки принимает решение о балансировке нагрузки для каждого потока на основе следующего пятикортежного соединения:

  • Исходный IP-адрес
  • Исходный порт
  • IP-адрес назначения
  • Конечный порт
  • Protocol

Порты HA поддерживают критические сценарии, требующие высокой доступности и масштабирования на многих портах, таких как сетевые виртуальные устройства (NVA), такие как файрволы, VPN или SD-WAN устройства. В таких случаях определить отдельное правило балансировки нагрузки для каждого порта непрактично. Балансировщик нагрузки распределяет трафик на основе потока соединения и использует проверки работоспособности, чтобы направлять трафик только на работоспособные экземпляры.

Базовые балансировщики нагрузки (устаревшие) и общедоступные балансировщики нагрузки не поддерживают порты HA. Порты HA не предназначены для типичных веб- или приложений, требующих специфических правил для порта.

Снимок экрана схемы конфигурации портов высокой доступности Azure Load Balancer, показывающей, как внешние порты направляют трафик на экземпляры на стороне сервера.

Рисунок: Правило портов HA

Узнайте больше о HA портах.

Правила NAT для входящего трафика

Правило входящего NAT перенаправляет входящий трафик, поступающий на комбинацию внешнего IP-адреса и порта. Правило отправляет этот трафик на конкретную виртуальную машину или экземпляр в бэкенд-пуле. Переадресация портов использует тот же механизм распределения на основе хеширования, что и балансировка нагрузки.

Диаграмма, показывающая правило входящего NAT, которое пересылает трафик с фронтенд-порта на конкретную серверную виртуальную машину.

Рисунок. Правила NAT для входящего трафика

Правила для исходящего трафика

Правило для исходящего трафика настраивает трансляцию исходящих сетевых адресов (NAT) для всех виртуальных машин или экземпляров, входящих во внутренний пул. С помощью этого правила экземпляры на серверной части могут взаимодействовать по исходящим соединениям с Интернетом или другими конечными точками.

Узнайте больше об исходящих подключениях и правилах.

Базовый балансировщик нагрузки (устаревший) не поддерживает правила исходящего трафика.

Снимок экрана: схема конфигурации правила исходящего трафика с преобразованием NAT для экземпляров внутреннего пула.

Рисунок. Правила для исходящего трафика

Ограничения

  • Узнайте о пределах балансировщиков нагрузки.
  • Подсистема балансировки нагрузки обеспечивает балансировку нагрузки и перенаправление портов для конкретных протоколов TCP или UDP. Правила балансировки нагрузки и входящие правила NAT не поддерживают другие IP-протоколы, включая ICMP, за исключением того, что внутренний Load Balancer (цен. категория "Стандартный") поддерживает ICMP-трафик при включении портов HA. Для получения дополнительной информации см. обзор портов HA.
  • Пул бекендов балансировщика нагрузки не может состоять из Private Endpoint.
  • Исходящий трафик от бэкенд-виртуальной машины к интерфейсной части внутреннего балансировщика нагрузки не проходит.
  • Правило подсистемы балансировки нагрузки не может охватывать две виртуальные сети. Все внешние интерфейсы и серверные экземпляры подсистемы балансировки нагрузки должны находиться в одной виртуальной сети.
  • Правила балансировки нагрузки не поддерживают пересылку IP-фрагментов. Правила балансировки нагрузки не поддерживают фрагментацию IP пакетов UDP и TCP.
  • На каждый набор доступности можно иметь только один публичный балансировщик нагрузки (на базе NIC) и один внутренний балансировщик нагрузки (на базе NIC). Однако это ограничение не применяется к подсистемам балансировки нагрузки на основе IP-адресов.

Следующий шаг