Облачная платформаAdvanced

Подробности сравнения функций

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Протоколы

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

Протокол

Описание

Dedicated Load Balancer

Shared Load Balancer

TCP/UDP (Layer 4)

После получения TCP или UDP запросов от клиентов балансировщик нагрузки напрямую направляет запросы на серверы backend servers.

Балансировка нагрузки на уровне Layer 4 обеспечивает высокую эффективность маршрутизации.

Поддерживается

Поддерживается

HTTP/HTTPS (Layer 7)

После получения запроса доступа listener должен определить запрос и перенаправить его на основе полей заголовка.

Балансировка нагрузки на уровне Layer 7 предоставляет некоторые расширенные функции, такие как зашифрованная передача и cookie-based sticky sessions.

Поддерживается

Поддерживается

Поддержка HTTPS

HTTPS можно использовать как протокол фронтенда, так и бэкенда.

Поддерживается

Не поддерживается

TLS

Сетевое балансирование нагрузки: TLS применяется в сценариях, требующих ультра‑высокой производительности и масштабного TLS‑выгрузки.

Поддерживается

Не поддерживается

QUIC

Если вы используете UDP или QUIC в качестве протокола фронтенда, вы можете выбрать QUIC в качестве протокола бэкенда и выбрать алгоритм connection ID для маршрутизации запросов с одинаковым connection ID к тому же серверу бэкенда.

QUIC обеспечивает низкую задержку, высокую надёжность и устраняет блокировку в начале линии (head-of-line blocking, HOL blocking), что делает его идеальным для мобильных интернет‑приложений. Он позволяет бесшовно переключаться между Wi‑Fi и сетями операторов без установления новых соединений.

Поддерживается

Не поддерживается

HTTP/2

Hypertext Transfer Protocol 2.0 (HTTP/2) — новая версия протокола HTTP. Совместима с HTTP 1.x и обеспечивает повышенную производительность и безопасность.

Только HTTPS‑слушатели поддерживают эту функцию.

Supported

Supported

WebSocket

WebSocket — новый протокол HTML5, обеспечивающий полнодуплексную связь между браузером и сервером. WebSocket экономит ресурсы сервера и пропускную способность, а также позволяет реализовать обмен данными в реальном времени.

Supported

Supported

Конфигурации сети

Table 2 Сравнение конфигураций сети

Feature

Description

Dedicated Load Balancer

Shared Load Balancer

Публичная IPv4 сеть

Балансировщик нагрузки направляет запросы от клиентов к серверам back‑end через Интернет.

Поддерживается

Поддерживается

Приватная IPv4 сеть

Балансировщик нагрузки направляет запросы от клиентов к серверам back‑end в VPC.

Поддерживается

Поддерживается

IPv6 сеть

Балансировщики нагрузки могут направлять запросы от IPv6‑клиентов.

Поддерживается

Не поддерживается

Изменение приватного IPv4 адреса

Вы можете изменить приватный IPv4 адрес на другой в текущей подсети или в других подсетях.

Поддерживается

Не поддерживается

Привязка или отвязка EIP

Вы можете привязать EIP к балансировщику нагрузки или отвязать EIP от балансировщика нагрузки в соответствии с требованиями сервиса.

Поддерживается

Поддерживается

Изменение пропускной способности

Вы можете изменить пропускную способность публичных сетевых балансировщиков нагрузки по мере необходимости.

Поддерживается

Поддерживается

Ключевые функции Listeners

Table 3 Сравнение ключевых функций

Функция

Описание

Dedicated Load Balancer

Shared Load Balancer

Access Control

Вы можете добавить IP-адреса в whitelist или blacklist, чтобы контролировать доступ к listener.

  • Whitelist позволяет указанным IP-адресам получать доступ к listener.
  • Blacklist запрещает доступ с указанных IP-адресов.

Supported

Supported

Mutual Authentication

Эта функция позволяет клиентам и балансировщику нагрузки аутентифицировать друг друга. Только аутентифицированные клиенты будут иметь доступ к балансировщику нагрузки.

Взаимная аутентификация поддерживается только HTTPS listeners.

Supported

Supported

SNI

Server Name Indication (SNI) — расширение TLS, используемое, когда сервер обслуживает несколько доменных имён и сертификатов. После включения SNI требуются сертификаты, соответствующие доменным именам.

SNI можно включить только для HTTPS listeners.

Supported

Поддерживается

Transfer Client IP Address

Эта функция позволяет серверам back‑end получать реальные IP‑адреса клиентов.

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

Поддерживается

Поддерживается

Расширенные функции HTTP/HTTPS listeners

Default Security Policy

Вы можете выбрать подходящие security policies для повышения безопасности сервиса при добавлении HTTPS listeners. Security policy представляет собой комбинацию TLS protocols и cipher suites.

Поддерживается

Поддерживается

Custom Security Policy

Вы можете выбрать TLS protocol и cipher suite для добавления custom security policy при добавлении HTTPS listeners.

Поддерживается

Не поддерживается

Transfer Load Balancer EIP

Вы можете сохранять привязанный к балансировщику нагрузки EIP в заголовке X-Forwarded-ELB-IP и передавать его backend servers.

Supported

Supported

Forwarding Capabilities

Вы можете настраивать политики переадресации для HTTP или HTTPS listeners, чтобы перенаправлять запросы в разные backend server groups. Расширенные политики переадресации доступны только для dedicated load balancers.

Table 4 и Table 5 описывают доступные правила переадресации и действия.

Table 4 Правила переадресации, поддерживаемые каждым типом балансировщика нагрузки

Forwarding Rule

Description

Dedicated Load Balancer

Shared Load Balancer

Domain name

Маршрутизирует запросы на основе domain name. domain name в запросе должен точно соответствовать domain name в политике переадресации.

Supported

Поддерживается

Путь

Маршрутизирует запросы на основе указанного пути.

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

Поддерживается

Поддерживается

Метод HTTP‑запроса

Маршрутизирует запросы на основе метода HTTP.

Варианты включают GET, POST, PUT, DELETE, PATCH, HEAD и OPTIONS.

Поддерживается

Не поддерживается

HTTP‑заголовок

Маршрутизирует запросы на основе HTTP‑заголовка.

HTTP‑заголовок состоит из ключа и одного или нескольких значений. Необходимо настроить ключ и значения отдельно.

Поддерживается

Не поддерживается

Строка запроса

Маршрутизирует запросы на основе строки запроса.

Поддерживается

Не поддерживается

CIDR‑блок

Маршрутизирует запросы на основе исходных IP‑адресов, откуда они исходят.

Поддерживается

Не поддерживается

Table 5Действия, поддерживаемые каждым типом load balancer

Действие

Описание

Dedicated Load Balancer

Shared Load Balancer

Перенаправить к backend server group

Перенаправляет запросы к указанной группе серверов бэкенда.

Поддерживается

Поддерживается

Перенаправление на другой listener

Перенаправляет запросы к HTTPS listener, который затем направляет запросы в связанную с ним группу серверов бэкенда.

Поддерживается

Поддерживается

Перенаправление на другой URL

Перенаправляет запросы на настроенный URL.

Когда клиенты обращаются к website A, балансировщик нагрузки возвращает 302 или любой другой код состояния 3xx и автоматически перенаправляет клиентов на website B. Вы можете настроить URL перенаправления, который будет возвращаться клиентам.

Поддерживается

Не поддерживается

Возврат конкретного тела ответа

Возвращает фиксированный ответ клиентам.

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

Supported

Not supported

Actions (optional)

Write header

Записывает настроенный заголовок в запрос перед передачей его в указанную backend server group.

Можно указать ключ и значение заголовка, который нужно записать в запрос, соответствующий forwarding rule. Настроенные заголовки перезапишут существующие заголовки.

Not supported

Remove header

Удаляет настроенные заголовки из запроса перед передачей его в указанную backend server group.

Можно указать значение заголовка, который нужно удалить из запроса, соответствующего forwarding rule. Заголовки, совпадающие с настроенными, будут удалены из запросов.

Not supported

Limit request

Ограничивает максимальное количество запросов в секунду, если выбран действие Forward to a backend server group или Return a specific response body.

Если количество запросов достигает указанного значения, новые запросы будут отклоняться, а клиенту будет возвращён код 503 Service Unavailable.

Not supported

CORS

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

Not supported

Зеркалировать трафик в backend server group

Зеркалирует трафик в указанный backend server group для инспекции трафика, аудита, анализа и устранения неполадок.

Если вы настроили другие дополнительные действия, трафик сначала будет обработан этими действиями, прежде чем будет зеркальован в указанный backend server group.

Not supported

Ключевые функции Backend Server Groups

Table 6 Ключевые функции, поддерживаемые каждым типом load balancer

Ключевая функция

Описание

Dedicated Load Balancer

Shared Load Balancer

Повторное использование backend server group

В Enterprise проекте backend server group может быть связан с несколькими load balancer и listeners.

Поддерживается

Не поддерживается

Проверка работоспособности

ELB периодически отправляет запросы к серверам back‑end для проверки их статуса работы. Этот процесс называется проверкой работоспособности. Вы можете выполнять проверки работоспособности, чтобы определить, доступен ли сервер back‑end.

Поддерживается

Поддерживается

Sticky session

Запросы от одного и того же клиента будут направляться к одному и тому же серверу back‑end в течение сеанса.

Поддерживается

Поддерживается

Slow start

Балансировщик нагрузки линейно увеличивает долю запросов, направляемых к новым серверам back‑end, добавленным в группу серверов back‑end.

Slow start дает приложениям время для прогрева и позволяет отвечать на запросы с оптимальной производительностью.

Поддерживается

Не поддерживается

Active/Standby forwarding

Load balancer направляет трафик к активному серверу, если он работает нормально, и к резервному серверу, если активный сервер становится нездоровым.

Необходимо добавить два backend server в backend server group, один в роли активного сервера, а другой — в роли резервного сервера.

Supported

Not supported

Load Balancing Algorithms

Table 7Сравнение алгоритмов балансировки нагрузки

Load Balancing Algorithm

Description

Dedicated Load Balancer

Shared Load Balancer

Weighted round robin

Маршрутизировать запросы к backend servers с использованием алгоритма round robin. Backend servers с более высоким весом получают пропорционально больше запросов, тогда как серверы с одинаковым весом получают одинаковое количество запросов.

Supported

Supported

Взвешенные наименьшие соединения

Маршрутизировать запросы к серверам backend с наименьшим соотношением (текущие соединения, делённые на вес).

Поддерживается

Поддерживается

Хеш IP‑адреса источника

Маршрутизировать запросы от одного клиента к одному серверу backend в течение определённого периода времени.

Поддерживается

Поддерживается

Тип сервера backend

Table 8 Поддерживаемые типы серверов backend

Тип сервера backend

Описание

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

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

IP в качестве backend

Вы можете добавлять серверы в peer VPC, в VPC, находящийся в другом регионе и подключённый через облачное соединение, или в локальном дата‑центре на другом конце Direct Connect или VPN‑соединения, используя IP‑адреса серверов.

Supported

Not supported

Supplementary network interface

Вы можете присоединять supplementary network interfaces к backend servers.

Supported

Not supported

ECS

Вы можете использовать load balancers для распределения входящего трафика между ECSs.

Supported

Supported