Облачный балансировщик нагрузки Elastic Load Balance (
) автоматически распределяет входящий трафик между множеством серверов. Распределение происходит на основании настроенных правил. Балансировщик ELB расширяет возможности обслуживания серверов приложений и повышает их доступность за счет устранения единых точек отказа ().Отслеживание нагрузки происходит с помощью «слушателей» (
). «Слушатели» используют указанные вами сетевые протоколы и порты для проверки запросов от клиентов и маршрутизируют запросы к на основании определенных вами правил. Для и «слушателей» можно добавить правила перенаправления запросов (Forwarding policy) на основании доменного имени или .Таким образом, после создания балансировщика нагрузок (Load Balancer) необходимо создать как минимум одного «слушателя» и группу бэкенд-серверов, которая содержит как минимум один сервер.
Алгоритм балансировки нагрузки, выбранный при добавлении «слушателя», определяет, каким образом распределяются запросы.
Поддерживаемые алгоритмы
- Weighted round robin
- Weighted least connection
- Source IP hash
Каждому серверу присваивается весовой коэффициент, в соответствии с которым распределяются запросы. Бэкенд-серверы с более высоким коэффициентом получают, относительно других, большее количество запросов. Этот алгоритм часто используется для коротких подключений, например, в HTTP-сервисах.
Использует активные соединения для каждого бэкенд-сервера, чтобы сделать решение по балансировке нагрузки. Этот алгоритм учитывает количество подключений у серверов и каждый следующий запрос передает тому серверу, у которого нагрузка наименьшая.
Исходный IP-адрес для каждого запроса рассчитывается, используя алгоритм хеширования, для того, чтобы сформировать уникальный хеш-ключ. Все бэкенд-серверы нумеруются. По сформированному хеш-ключу запросы клиента распределяются по определенным бэкенд-серверам. Этот алгоритм гарантирует, что запросы от различных клиентов будут направлены к тому же серверу, к которому они обращались прежде. Алгоритм подходит для TCP-соединений, не использующих cookie.
Тип балансировщика
ELB предоставляет два типа балансировщика нагрузки:
- Dedicated Load balancer (выделенный)
Использует выделенные ресурсы, не зависящие от других балансировщиков нагрузки, поэтому они не влияют на его производительность.
- Shared load balancer (общий)
Использует ресурсы совместно с другими балансировщиками нагрузки, которые влияют на его производительность. Не рекомендуется применять этот тип балансировщика для продуктивных сред.
Знакомство с сервисом Elastic Load Balance
Пошаговые инструкции по работе с Elastic Load Balance
Ответы на часто задаваемые вопросы о Elastic Load Balance
Правила расчета стоимости использования Elastic Load Balance
Документация Elastic Load Balance на английском языке
Спецификация публичного API для управления Elastic Load Balance