Обзор Elastic Load Balance

Облачный балансировщик нагрузки Elastic Load Balance (ELB) автоматически распределяет входящий трафик между множеством серверов. Распределение происходит на основании настроенных правил. Балансировщик ELB расширяет возможности обслуживания серверов приложений и повышает их доступность за счет устранения единых точек отказа (SPOFs).

_images/schm__images-elb.svg

Отслеживание нагрузки происходит с помощью «слушателей» (Listeners). «Слушатели» используют указанные вами сетевые протоколы и порты для проверки запросов от клиентов и маршрутизируют запросы к бэкенд-серверам (Backend Servers) на основании определенных вами правил. Для HTTP и HTTPS «слушателей» можно добавить правила перенаправления запросов (Forwarding policy) на основании доменного имени или URL.

Группа бэкенд-серверов (Backend servers group) направляет запросы на один или несколько бэкенд-серверов. Можно настроить проверку работоспособности (Health check) для каждой группы бэкенд-серверов. Когда при проверке работоспособности у сервера выявляется режим работы Abnormal, балансировщик нагрузки автоматически прекращает маршрутизацию новых запросов этому серверу до его восстановления.

_images/schm__images-load-balancer.svg

Таким образом, после создания балансировщика нагрузок (Load Balancer) необходимо создать как минимум одного «слушателя» и группу бэкенд-серверов, которая содержит как минимум один сервер.

Алгоритм балансировки нагрузки, выбранный при добавлении «слушателя», определяет, каким образом распределяются запросы.

Поддерживаемые алгоритмы

Weighted round robin

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

Weighted least connection

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

Source IP hash

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

Тип балансировщика

ELB предоставляет два типа балансировщика нагрузки:

  • выделенный (dedicated load balancer);

  • общий (shared load balancer).

Подробнее о различиях выделенного и общего балансировщиков нагрузки.

Важно

Тарификация балансировщика нагрузки зависит от его типа и трафика публичной сети. Подробнее в разделе Тарификация.