Протокол | Описание | 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 |
Feature | Description | Dedicated Load Balancer | Shared Load Balancer |
|---|---|---|---|
Публичная IPv4 сеть | Балансировщик нагрузки направляет запросы от клиентов к серверам back‑end через Интернет. | Поддерживается | Поддерживается |
Приватная IPv4 сеть | Балансировщик нагрузки направляет запросы от клиентов к серверам back‑end в VPC. | Поддерживается | Поддерживается |
IPv6 сеть | Балансировщики нагрузки могут направлять запросы от IPv6‑клиентов. | Поддерживается | Не поддерживается |
Изменение приватного IPv4 адреса | Вы можете изменить приватный IPv4 адрес на другой в текущей подсети или в других подсетях. | Поддерживается | Не поддерживается |
Привязка или отвязка EIP | Вы можете привязать EIP к балансировщику нагрузки или отвязать EIP от балансировщика нагрузки в соответствии с требованиями сервиса. | Поддерживается | Поддерживается |
Изменение пропускной способности | Вы можете изменить пропускную способность публичных сетевых балансировщиков нагрузки по мере необходимости. | Поддерживается | Поддерживается |
Функция | Описание | Dedicated Load Balancer | Shared Load Balancer |
|---|---|---|---|
Access Control | Вы можете добавить IP-адреса в whitelist или blacklist, чтобы контролировать доступ к listener.
| 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 |
Вы можете настраивать политики переадресации для HTTP или HTTPS listeners, чтобы перенаправлять запросы в разные backend server groups. Расширенные политики переадресации доступны только для dedicated load balancers.
Table 4 и Table 5 описывают доступные правила переадресации и действия.
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‑адресов, откуда они исходят. | Поддерживается | Не поддерживается |
Действие | Описание | 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 |
Ключевая функция | Описание | 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 Algorithm | Description | Dedicated Load Balancer | Shared Load Balancer |
|---|---|---|---|
Weighted round robin | Маршрутизировать запросы к backend servers с использованием алгоритма round robin. Backend servers с более высоким весом получают пропорционально больше запросов, тогда как серверы с одинаковым весом получают одинаковое количество запросов. | Supported | Supported |
Взвешенные наименьшие соединения | Маршрутизировать запросы к серверам backend с наименьшим соотношением (текущие соединения, делённые на вес). | Поддерживается | Поддерживается |
Хеш IP‑адреса источника | Маршрутизировать запросы от одного клиента к одному серверу 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 |