Улучшите масштабируемость и отказоустойчивость приложений с помощью Azure Load Balancer

Балансировка нагрузки — это равномерное распределение нагрузки между группой внутренних ресурсов или серверов. Azure Load Balancer работает с Layer 4 модели Open Systems Interconnection (OSI). Балансировщик нагрузки распределяет входящий поток, поступающий на переднюю сторону балансировщика нагрузки, между экземплярами внутренних пулов.

Эти потоки соответствуют настроенным правилам балансировки нагрузки и проверкам работоспособности. Экземпляр внутреннего пула может быть виртуальной машиной Azure или экземпляром в наборе масштабирования виртуальных машин.

общий балансировщик нагрузки может обеспечить исходящее подключение к виртуальным машинам (ВМ) в виртуальной сети. Эти подключения осуществляются путем преобразования частных IP-адресов в общедоступные IP-адреса. Публичные балансировщики нагрузки используются для балансировки интернет-трафика для виртуальных машин.

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

Использование балансировщика нагрузки Azure

Вы можете использовать Azure Load Balancer для масштабирования вашего приложения с целью создания высокодоступных сервисов. Балансировщик нагрузки поддерживает сценарии входа и выхода. Балансировщики нагрузки обеспечивают низкую задержку и высокую пропускную способность, которую можно масштабировать до миллионов потоков во всех приложениях TCP и UDP.

Основными сценариями, которые можно запустить с помощью Azure Standard Load Balancer, являются:

  • Балансировка нагрузки внутреннего и внешнего трафика на виртуальные машины Azure.
  • Повышение доступности за счет балансировки ресурсов внутри и между зонами.
  • Настройка исходящих соединений для виртуальных машин Azure.
  • Использование Health Probe для мониторинга ресурсов с балансировкой нагрузки.
  • Используйте перенаправление портов для доступа к виртуальным машинам в вашей виртуальной сети с помощью общедоступных IP-адресов и портов.
  • Включает поддержку балансировки нагрузки IPv6.
  • Стандартный балансировщик нагрузки предоставляет многомерные метрики через Azure Monitor.
  • Служба балансировки нагрузки на нескольких портах, нескольких IP-адресах или на обоих.
  • Перемещение внутренних и внешних ресурсов балансировщика нагрузки между регионами Azure.
  • Используйте порт HA для балансировки нагрузки потоков TCP и UDP одновременно на всех портах.

Безопасность по умолчанию

  • Стандартный балансировщик нагрузки основан на модели безопасности сети zero trust network security model.
  • Стандартный балансировщик нагрузки по умолчанию secure и является частью виртуальной сети.
  • Стандартный балансировщик нагрузки и стандартный публичный IP-адрес закрыты для входящих соединений, если они не открыты группой сетевой безопасности.
  • Балансировщик нагрузки по умолчанию публикуется в Интернете.
  • Балансировщик нагрузки не хранит данные клиентов.

Компоненты балансировщика нагрузки Azure

IP-конфигурация внешнего сервера

IP-адрес балансировщика нагрузки Azure. К этим IP-адресам относятся:

  1. Публичный IP-адрес
  2. Частный IP-адрес

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

Публичный балансировщик нагрузки

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

Внутренний балансировщик нагрузки

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

Внутренний пул

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

Зонд здоровья

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

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

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

Высокодоступный порт

Это правило позволяет одному правилу балансировать все потоки TCP и UDP, поступающие на все порты внутреннего балансировщика нагрузки по умолчанию.

Правила балансировки нагрузки портов HA полезны в критических сценариях, таких как высокая доступность виртуальных сетевых устройств и масштабирование виртуальных сетей. Эта функция полезна, когда требуется балансировка нагрузки на большое количество портов.

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

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

Исходящие правила

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

Алгоритм балансировки нагрузки

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

Балансировщик нагрузки переписывает заголовки TCP / UDP заголовков потока, когда трафик направляется на внутренний пул. Если зонд здоровья балансировщика нагрузки указывает на здоровую конечную точку backend, вы можете использовать экземпляр backend для получения новых потоков трафика.

По умолчанию Azure Load Balancer использует хэш из 5 кортежей.

  • IP-адрес источника
  • Порт источника
  • IP-адрес назначения
  • Порт назначения
  • Номер IP-протокола, используемый для сопоставления потока с доступными серверами.

Балансировщик нагрузки работает на уровне 4 и не предоставляет функции шлюза на уровне приложений. Протокольные рукопожатия всегда выполняются непосредственно между клиентом и внутренним экземпляром пула. Балансировщик нагрузки не взаимодействует с полезной нагрузкой TCP и не обеспечивает разгрузку TLS, что позволяет создавать богатые криптографические сценарии.

Балансировщики нагрузки обеспечивают большое масштабирование TLS-приложений за счет завершения TLS-соединений на самой виртуальной машине. Ответ на
входящий поток всегда является ответом виртуальной машины. Когда поток поступает на виртуальную машину, он также сохраняет исходный IP-адрес источника. Каждая конечная точка отвечает на запросы виртуальной машины. Ответом на запрос к передней конечной точке является ответ, генерируемый задней конечной ВМ. После успешной проверки подключения к передней стороне, она проверяет подключение по крайней мере к одной задней виртуальной машине из конца в конец.

Благодарю за то, что дочитали мою статью до конца. Надеюсь, сегодня вы поняли что-то уникальное. Если вам понравилась эта статья, пожалуйста, поделитесь с друзьями, а если у вас есть предложения или мысли, которыми вы хотите поделиться со мной, пожалуйста, напишите в поле для комментариев.

Следуйте за мной и делитесь своими мыслями,
GitHub
LinkedIn
Twitter

Оцените статью
devanswers.ru
Добавить комментарий