Балансировка нагрузки

Балансировка трафика между виртуальными машинами на уровне L4 и L7 для распределения нагрузки по обработке запросов, повышения отказоустойчивости и масштабируемости облачной инфраструктуры 

Читать документацию
background image of product banner

Основные преимущества

Управляемый сервис

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

Балансировка L4 и L7

В К2 Облаке доступны два основных вида балансировщиков: сетевой балансировщик нагрузки и балансировщик нагрузки приложений. Первый распределяет трафик на основе заголовков сетевых пакетов (L3/L4), а второй — на основе содержимого HTTP-запросов (L7).

Внутренние и внешние балансировщики

Балансировщик можно сделать доступным извне для распределения трафика из интернета, либо настроить его для распределения только внутреннего трафика в рамках VPC.

Управление распределением запросов

Механизм весов позволяет настроить, какую долю запросов направлять конкретно целевой группе серверов — от равномерного распределения до произвольного перекоса. Кроме того,  с его помощью можно плавно вводить и выводить целевые ресурсы из-под нагрузки, без её резких скачков.

Интеграция с DNS

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

Двухуровневая балансировка с помощью DNS

На первом уровне клиенту предоставляется возможность выбрать IP-адрес экземпляра балансировщика в одной из зон доступности. На втором уровне выбранный экземпляр балансировщика распределяет трафик среди целевых узлов по своему алгоритму.

Интеграция с PaaS

Сетевые балансировщики можно подключить к отказоустойчивому сервису PaaS. Это позволяет обеспечить высокую доступность сервиса, распределение запросов между мастер-узлами и встроенное выделение DNS-имён.

Интеграция с Kubernetes

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

Сценарии использования

Распределение нагрузки

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

Обеспечение высокой доступности сервиса

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

Терминирование TLS

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

Микросервисная архитектура

Балансировщики нагрузки приложений могут гибко распределять HTTP-запросы к микросервисам на основе различных параметров.

Веб-приложения

Параллельная обработка HTTP- и HTTPS-трафика сразу несколькими серверами приложений сокращает время отклика веб-сайтов и онлайн-сервисов с высокой посещаемостью.

Как начать использовать

01
Выберите тип балансировщика

В зависимости от задачи и источника трафика (интернет или VPC) вам может потребоваться NLB или ALB для балансировки внешнего или внутреннего трафика.

02
Создайте балансировщик

Откройте веб-интерфейс облака и перейдите в раздел Балансировщики нагрузки.

03
Настройте целевые ресурсы

Создайте целевую группу и добавьте в неё экземпляры с приложением.

Часто задаваемые вопросы

Какие виды балансировщиков нагрузки поддерживаются?

В К2 Облаке поддерживаются сетевые балансировщики нагрузки (Network Load Balancer) и балансировщики нагрузки приложений (Application Load Balancer). Первые работают на четвёртом уровне сетевой модели OSI и распределяют трафик TCP и UDP  в соответствии с алгоритмом 5-tuple hash, который учитывает протокол, адрес и порт отправителя, адрес и порт получателя. Вторые работают на седьмом уровне OSI и распределяют трафик HTTP и HTTPS на основе содержимого HTTP-заголовка: HTTP path, HTTP host header, HTTP query string и других.

В зависимости от источника трафика балансировщики нагрузки делятся на

  • внешние балансировщики нагрузки,
  • внутренние балансировщики нагрузки.

Первые имеют публичные (внешние) IP-адреса и доступны из интернета. Вторые имеют приватные (внутренние) IP-адреса и доступны только из собственной инфраструктуры клиента

Может ли сетевой балансировщик нагрузки одновременно обрабатывать трафик TCP и UDP?

Да, вы можете одновременно создать обработчик трафика TCP и обработчик трафика UDP для одного сетевого балансировщика нагрузки.

Поддерживает ли балансировщик нагрузки приложений терминирование соединений HTTPS?

Да. Для терминирования соединений HTTPS балансировщик нагрузки использует SSL-сертификаты серверов в формате X.509. При установлении защищённого соединения поддерживаются протоколы TLS 1.0-1.3.
Доменное имя, указанное в сертификате, должно совпадать с заданным в DNS-записи. Это может быть полное (FQDN) или сокращённое (например, example.com) доменное имя, либо имя с символом подстановки (*.example.com) для защиты нескольких поддоменов в одном домене.

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

Может ли балансировщик нагрузки приложений одновременно обрабатывать трафик HTTP и HTTPS?

Да, вы можете одновременно создать обработчик трафика HTTP и обработчик трафика HTTPS для одного сетевого балансировщик нагрузки.

Могут ли балансировщики нагрузки распределять трафик между несколькими зонами доступности?

Балансировщики нагрузки приложений могут распределять трафик между всеми экземплярами в целевой группе независимо от того, в какой зоне доступности те находятся.

Сетевые балансировщики нагрузки поддерживают распределение трафика между зонами доступности при помощи DNS. Клиент выбирает один из предложенных IP-адресов балансировщика и отправляет ему запрос. Получив запрос, балансировщик распределяет трафик между целевыми узлами в своей зоне доступности. 

Чтобы повысить доступность сервиса, вы можете включить в целевую группу ресурсы из нескольких зон доступности. Для этого при создании балансировщика нагрузки необходимо указать подсеть в каждой зоне доступности, где находятся целевые ресурсы (см. подробнее документацию).

Не нашли ответ на свой вопрос?
Задайте его нам, заполнив форму, и мы оперативно ответим на него

Истории успеха

Why we

Почему K2 Cloud

01
К2 Облако
Постоянно совершенствуем облачную платформу собственной разработки.
02
Комплексные проекты для крупного бизнеса
Интегрируем инфраструктуру, данные и приложения для решения ваших бизнес-задач. Успешно реализовано более 400 проектов.
03
Безопасность на всех уровнях
Cоответствие платформы PCI DSS 4.0, ГОСТ Р 57580.1–2017, 152-ФЗ до УЗ-1. Облачные сервисы ИБ.
04
Professional Services Team
Проектируем, внедряем и сопровождаем облачные инфраструктуры для ваших бизнес-сервисов.

Сопутствующие продукты

Кластеры Kubernetes
Кластеры Kubernetes
Простое создание и управление EKS-кластерами Kubernetes в К2 Облаке с поддержкой динамического масштабирования
Подробнее
Виртуальные машины
Виртуальные машины
Масштабируемые вычислительные ресурсы с высокой степенью доступности для различных бизнес-задач
Подробнее
DNSaaS
DNSaaS
Гибкое управление зонами и записями DNS без необходимости развёртывания собственной инфраструктуры
Подробнее

Продолжая использовать сайт k2.cloud, Вы соглашаетесь на обработку персональных данных, собираемых с использованием файлов cookie, а также посредством метрических программ «Яндекс Метрика», «ВК Реклама». Более подробная информация – в политике обработки и использования cookie-файлов.