Открыть сервис

Elastic Load Balancer

Elastic Load Balancer — это облачный сервис автоматического распределения входящего трафика между несколькими целевыми ресурсами (виртуальными машинами, контейнерами, IP-адресами) в рамках одной или нескольких зон доступности. Относится к категории балансировщиков нагрузки как услуги (LBaaS) и является компонентом инфраструктуры Amazon Web Services (AWS). Обеспечивает отказоустойчивость, масштабируемость и высокую доступность приложений путём перенаправления запросов только на работоспособные экземпляры.

История

Первый тип балансировщика — Classic Load Balancer (CLB) — был запущен в 2009 году. Он работал на четвёртом (транспортном) уровне модели OSI, поддерживая протоколы TCP и SSL/TLS, а также базовое HTTP/HTTPS-балансирование. В 2016 году AWS представила Application Load Balancer (ALB), работающий на седьмом (прикладном) уровне, что позволило выполнять маршрутизацию на основе содержимого запроса (путь, заголовки, параметры). В 2017 году появился Network Load Balancer (NLB), ориентированный на сверхнизкие задержки и работу на четвёртом уровне. В 2021 году был анонсирован Gateway Load Balancer (GWLB), предназначенный для прозрачной интеграции сетевых устройств (межсетевых экранов, систем обнаружения вторжений) в сетевой трафик.

Типы

AWS выделяет четыре типа Elastic Load Balancer, каждый из которых оптимизирован для определённых сценариев.

Classic Load Balancer (CLB)

Устаревший тип, поддерживаемый для обратной совместимости. Работает на четвёртом и седьмом уровнях, но с ограниченной функциональностью. Поддерживает протоколы TCP, SSL/TLS, HTTP и HTTPS. Не поддерживает маршрутизацию на основе содержимого запроса. Рекомендуется заменять на ALB или NLB.

Application Load Balancer (ALB)

Работает на седьмом уровне (прикладном). Основные возможности:

Network Load Balancer (NLB)

Работает на четвёртом уровне (транспортном). Отличается минимальными задержками (до 1 мс) и высокой пропускной способностью. Основные характеристики:

Gateway Load Balancer (GWLB)

Предназначен для развёртывания и масштабирования виртуальных сетевых устройств (межсетевых экранов, систем предотвращения вторжений, WAF). Работает на третьем (сетевом) уровне. Особенности:

Устройство и принцип работы

Elastic Load Balancer состоит из следующих компонентов:

Процесс обработки запроса:

  1. Клиент отправляет запрос на DNS-имя балансировщика.
  2. DNS-сервер AWS возвращает IP-адреса балансировщика в одной или нескольких зонах доступности.
  3. Слушатель принимает запрос и применяет правила маршрутизации.
  4. Балансировщик выбирает целевой ресурс из целевой группы (по алгоритму round-robin, наименьшее количество запросов или наименьшее время отклика).
  5. Запрос перенаправляется на выбранный ресурс. Для ALB и NLB возможна поддержка липких сессий (sticky sessions) для сохранения привязки клиента к одному экземпляру.

Характеристики

Применение

Elastic Load Balancer используется в следующих сценариях:

Примеры

Интересные факты

Критика

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →