Высокая доступность

Elastic Load Balancing автоматически распределяет трафик по нескольким целевым объектам – инстансам Amazon EC2, контейнерам и IP‑адресам – в одной или нескольких зонах доступности.

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

Elastic Load Balancing может найти неисправные объекты, перестать отправлять им трафик, а затем распределить нагрузку среди оставшихся исправных объектов.

Возможности безопасности

Используйте облако Amazon Virtual Private Cloud (Amazon VPC), чтобы создавать группы безопасности, связанные с балансировщиками нагрузки, и управлять ими для обеспечения дополнительных возможностей, связанных с сетевой конфигурацией и безопасностью. Кроме того, можно создать внутренний (без выхода в Интернет) балансировщик нагрузки.

Терминация TLS

Elastic Load Balancing имеет встроенные возможности SSL/TLS‑расшифровки и управления сертификатами, что позволяет гибко и централизованно управлять настройками SSL на балансировщике нагрузки, экономя ресурсы ЦП для рабочего приложения.

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

Имеется возможность осуществлять балансировку нагрузки приложений, использующих протокол HTTP / HTTPS, и работать с особыми возможностями уровня 7 или использовать балансировку нагрузки строго на уровне 4 для приложений, которые полагаются исключительно на протокол TCP.

Мониторинг в процессе работы

Для мониторинга производительности приложений в режиме реального времени Elastic Load Balancing поддерживает интеграцию с метриками Amazon CloudWatch и дает возможность отслеживать запросы средствами этого сервиса.

Сравнение продуктов

Выбирать балансировщик нагрузки следует в зависимости от потребностей приложения. Если требуется гибкое управление приложением, рекомендуется использовать Application Load Balancer. Если для приложения требуется очень высокая производительность и статический IP‑адрес, рекомендуется использовать Network Load Balancer. Для существующих приложений, созданных в сети EC2‑Classic, следует использовать Classic Load Balancer.

Возможность

Application Load Balancer

Network Load Balancer

Classic Load Balancer

Протоколы

HTTP, HTTPS

TCP

TCP, SSL/TLS, HTTP, HTTPS

Платформы

VPC

VPC

EC2‑Classic, VPC

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

Метрики CloudWatch

Ведение журналов

Зональная обработка отказов

Connection draining (задержка разрегистрации)

Балансировка нагрузки между несколькими портами одного инстанса

 

WebSockets

 

IP‑адреса как цели
 

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

 

Маршрутизация на основе пути

 

 

Маршрутизация на основе хоста

 

 

Встроенная поддержка HTTP/2

 

 

Настраиваемый тайм‑аут неактивного соединения
 

Балансировка нагрузки между зонами

Разгрузка SSL

 

Server Name Indication (SNI)    

Закрепленные сеансы

 

Шифрование для внутреннего сервера

 

Статический IP‑адрес

 

 

Эластичный IP‑адрес

 

 

Сохранение IP‑адреса источника

 

 

Разрешения IAM на основе
ресурсов
Разрешения IAM на основе тегов  
Плавный запуск
   
Аутентификация пользователей    
Перенаправления    
Фиксированный ответ    

Сведения о продуктах Elastic Load Balancing

  • Application Load Balancer
  • Network Load Balancer
  • Classic Load Balancer
  • Application Load Balancer
  • Application Load Balancer работает на уровне запросов (уровень 7) и направляет трафик целевым объектам (инстансам EC2, микросервисам и контейнерам) в Amazon Virtual Private Cloud (Amazon VPC), исходя из содержимого запроса. Application Load Balancer идеально подходит для балансировки нагрузки трафика HTTP и HTTPS и обеспечивает расширенную маршрутизацию запросов, ориентированную на доставку приложений, которые построены на базе современных архитектур, включая микросервисы и приложения на основе контейнеров. Application Load Balancer упрощает приложение и повышает уровень его безопасности, обеспечивая неукоснительное использование самых последних протоколов и шифров SSL / TLS.

    Основные возможности

    Балансировка нагрузки на уровне 7
    Имеется возможность осуществлять балансировку нагрузки приложений, использующих протокол HTTP / HTTPS, и использовать особые возможности уровня 7, такие как заголовки X‑Forwarded‑For.

    Поддержка HTTPS
    Application Load Balancer поддерживает использование HTTPS‑терминации между клиентами и балансировщиком нагрузки. Application Load Balancer также позволяет управлять SSL‑сертификатами с помощью AWS Identity and Access Management (IAM) и AWS Certificate Manager для предопределенных политик безопасности.

    Высокая доступность
    Для Application Load Balancer необходимо указать более одной зоны доступности. Можно распределять входящий трафик по объектам в нескольких зонах доступности. Application Load Balancer автоматически масштабирует свои ресурсы, необходимые для обработки запросов, в ответ на входящий трафик приложений.

    Возможности безопасности
    При использовании облака Amazon Virtual Private Cloud (Amazon VPC) можно создать группы безопасности, связанные с Elastic Load Balancing, и управлять ими для обеспечения дополнительных возможностей, связанных с сетевой конфигурацией и безопасностью. Можно настроить Application Load Balancer для работы с выходом в Интернет или создать балансировщик нагрузки без публичного IP‑адреса для работы в качестве внутреннего балансировщика нагрузки (без выхода в Интернет).

    Маршрутизация на основе содержимого
    Если приложение состоит из нескольких отдельных сервисов, Application Load Balancer может направлять запрос в определенный сервис на основе содержания запроса.

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

    Маршрутизация на основе пути
    Можно выполнять маршрутизацию запросов на основе URL‑адреса заголовка HTTP.

    Поддержка приложений на основе контейнеров
    Application Load Balancer предоставляет расширенную поддержку контейнеров, распределяя нагрузку между несколькими портами одного инстанса Amazon EC2. Глубокая интеграция с Amazon EC2 Container Service (ECS) дает возможность получить полностью управляемое контейнерное решение. ECS позволяет указать динамический порт в определении задания ECS. В этом случае контейнеру, запланированному для инстанса EC2, будет передан неиспользуемый порт. Планировщик ECS автоматически добавляет задание в балансировщик нагрузки, используя этот порт.

    Поддержка HTTP/2
    HTTP/2 – это протокол передачи гипертекста (HTTP) новой версии, который использует единое мультиплексное соединение, обеспечивающее отправку нескольких запросов по одному соединению. Протокол предусматривает сжатие данных заголовка перед отправкой в двоичном формате, а также поддерживает установку SSL‑соединения с клиентами.

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

    Встроенная поддержка протокола IPv6
    Application Load Balancer поддерживает работу по интернет‑протоколу версии 6 (IPv6) в облаке VPC. Это позволяет клиентам подключаться к Application Load Balancer по протоколам IPv4 или IPv6.

    Закрепленные сеансы
    Закрепленные сеансы – это механизм маршрутизации запросов из одного и того же клиента к одному и тому же получателю. Application Load Balancer поддерживает закрепленные сеансы с помощью файлов cookie, сгенерированных балансировщиком нагрузки. Если включить закрепленные сеансы, то тот же получатель будет получать запрос и сможет использовать файлы cookie для восстановления контекста сеанса. Закрепленность определяется на уровне целевой группы.

    Проверки работоспособности
    Application Load Balancer направляет трафик только к работоспособным объектам. С помощью Application Load Balancer можно получать расширенное представление о работоспособности своих приложений двумя способами: 1) путем улучшенной проверки работоспособности, которая позволяет настроить подробные коды ошибок с 200 по 499. Проверка работоспособности позволяет следить за состоянием каждого из сервисов под управлением балансировщика нагрузки; 2) с помощью новых метрик, которые дают представление о трафике для каждого из сервисов, работающих на инстансе EC2.

    Мониторинг в процессе работы
    В отчетах Amazon CloudWatch присутствует информация о таких метриках Application Load Balancer, как количество запросов, количество ошибок, тип ошибок и время задержки.

    Ведение журналов
    Можно использовать возможность ведения журналов доступа для записи всех запросов, отправленных балансировщику нагрузки, и сохранять файлы журналов в Amazon S3 для последующего анализа. Файлы журналов сжаты и имеют расширение .gzip. Сжатые файлы журналов экономят дисковое пространство и пропускную способность при передаче данных и могут использоваться для диагностики сбоев приложений и анализа сетевого трафика.

    Можно также использовать AWS CloudTrail для записи вызовов API Application Load Balancer в аккаунте и доставки файлов журналов. История вызовов API позволяет выполнять анализ безопасности, аудит соответствия требованиям, а также отслеживать изменения ресурсов.

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

    Отслеживание запросов
    Application Load Balancer вставляет специальный идентификатор X‑Amzn‑Trace‑Id в HTTP‑заголовки всех запросов, поступающих в балансировщик нагрузки. Возможность отслеживания запросов позволяет использовать уникальный идентификатор для отслеживания запроса при прохождении через различные сервисы, которые являются составляющими ваших веб‑сайтов и распределенных приложений. Уникальный идентификатор отслеживания можно использовать для выявления любых проблем с производительностью или синхронизацией в стеке приложения с детализацией на уровне отдельного запроса.

    Брандмауэр для интернет‑приложений
    Теперь можно использовать AWS WAF для защиты интернет‑приложений на балансировщиках Application Load Balancer. AWS WAF – это брандмауэр для интернет‑приложений, который позволяет защитить их от распространенных сетевых эксплойтов, способных повлиять на доступность приложения, создать угрозу безопасности или задействовать чрезмерное количество ресурсов.

  • Network Load Balancer
  • Network Load Balancer работает на уровне соединений (уровень 4) и маршрутизирует соединения целевым объектам (инстансам EC2, микросервисам и контейнерам) в Amazon Virtual Private Cloud (Amazon VPC), исходя из данных протокола IP. Network Load Balancer идеально подходит для балансировки нагрузки трафика TCP и способен обрабатывать миллионы запросов в секунду, сохраняя чрезвычайно низкий уровень задержек. Network Load Balancer оптимизирован для обработки трафика с внезапной и изменяющейся нагрузкой при использовании одного статического IP‑адреса на каждую зону доступности. Он интегрирован с другими популярными сервисами AWS, такими как Auto Scaling, Amazon EC2 Container Service (ECS) и Amazon CloudFormation.

    Основные возможности

    Балансировка нагрузки на основе соединений
    Можно выполнять балансировку нагрузки трафика TCP, направляя соединения целевым объектам: инстансам Amazon EC2, микросервисам и контейнерам.

    Высокая доступность
    Network Load Balancer имеет высокую доступность. Он принимает входящий трафик от клиентов и распределяет его между целевыми объектами внутри одной зоны доступности. Балансировщик нагрузки также отслеживает работоспособность зарегистрированных объектов и маршрутизирует трафик только к тем из них, которые исправны. При обнаружении неисправного объекта балансировщик нагрузки останавливает работу с ним и перераспределяет трафик между оставшимися исправными объектами. Если в зоне доступности нет ни одного исправного целевого объекта, но при этом есть объекты в другой зоне доступности, Network Load Balancer выполнит автоматическую обработку отказа, чтобы маршрутизировать трафик на них.

    Высокая пропускная способность
    Network Load Balancer предназначен для обработки трафика по мере его роста и способен выполнять балансировку нагрузки для миллионов запросов в секунду. Он также может обрабатывать трафик с внезапно изменяющейся нагрузкой.

    Низкая задержка
    Network Load Balancer обеспечивает чрезвычайно низкий уровень задержек для приложений, чувствительных к этому параметру.

    Сохранение IP‑адреса источника
    Network Load Balancer сохраняет клиентский IP‑адрес источника и позволяет серверной части увидеть его. Приложения могут использовать этот адрес для дальнейшей обработки.

    Поддержка статических IP‑адресов
    Network Load Balancer автоматически предоставляет каждой зоне доступности (подсети) статический IP‑адрес, который может использоваться приложениями в качестве клиентского IP‑адреса балансировщика нагрузки.

    Поддержка эластичных IP‑адресов
    Network Load Balancer также позволяет назначить эластичный IP‑адрес для каждой зоны доступности (подсети) и тем самым предоставить собственный фиксированный IP‑адрес.

    Проверки работоспособности
    Network Load Balancer поддерживает проверки работоспособности на уровне сети и на уровне узла приложения. Работоспособность на уровне сети определяется исходя из общей способности целевого узла реагировать на обычный трафик. Если целевой узел не может ответить или отвечает на новые соединения слишком долго, балансировщик нагрузки помечает его как недоступный. Проверки работоспособности на уровне приложений могут использоваться для более глубокого анализа. Благодаря периодическим проверкам определенного URL‑адреса на заданном узле, можно составить общую картину работоспособности приложения. Для быстрой диагностики и эффективной отладки можно обратиться к «кодам причин» в API Network Load Balancer и получить полную информацию о проверках работоспособности и причинах их неудачного завершения. Кроме того, эта информация доступна через метрики Amazon CloudWatch, связанные с проверками работоспособности узла.

    Обработка отказов DNS
    Если Network Load Balancer не находит работоспособные объекты либо узлы Network Load Balancer в данной зоне неисправны, Amazon Route 53 направит трафик на узлы балансировки нагрузки в других зонах доступности.

    Интеграция с Amazon Route 53
    Если Network Load Balancer перестанет отвечать на запросы, то благодаря интеграции с Route 53 IP‑адрес недоступного балансировщика нагрузки будет удален из числа рабочих, а трафик будет перенаправлен на альтернативный Network Load Balancer в другом регионе.

    Интеграция с сервисами AWS
    Network Load Balancer интегрирован с другими сервисами AWS, такими как Auto Scaling, Elastic Container Service (ECS), CloudFormation, Elastic BeanStalk, CloudWatch, Config, CloudTrail и CodeDeploy.

    Долговременные TCP‑подключения
    Network Load Balancer поддерживает долговременные TCP‑подключения, которые идеально подходят для приложений типа WebSocket.

    Поддержка центрального API
    Network Load Balancer использует тот же API, что и Application Load Balancer. Эта возможность позволяет работать с целевыми группами, проверками работоспособности и выполнять балансировку нагрузки между несколькими портами одного инстанса Amazon EC2 для поддержки контейнерных приложений.

    Надежный мониторинг и аудит
    Amazon CloudWatch сообщает о метриках Network Load Balancer. CloudWatch предоставляет такие метрики, как количество активных потоков, количество работоспособных хостов, количество новых потоков, количество обработанных байт и другие. Network Load Balancer также интегрирован с AWS CloudTrail. CloudTrail отслеживает вызовы API к Network Load Balancer.

    Расширенное ведение журнала
    Для записи всех запросов, отправленных балансировщику нагрузки, можно использовать возможность Flow Logs. Flow Logs захватывает информацию об IP‑трафике, идущем к сетевым интерфейсам в VPC или от них. Данные Flow Logs хранятся с использованием Amazon CloudWatch Logs.

    Зональная изоляция
    Network Load Balancer предназначен для архитектур приложений, находящихся в одной зоне. Если в зоне что‑то перестанет работать, мы автоматически переведем приложение в другие исправные зоны доступности. Несмотря на то что мы рекомендуем клиентам настраивать балансировщик нагрузки и целевые узлы в нескольких зонах для обеспечения высокой доступности, Network Load Balancer можно включить в одной зоне доступности, чтобы обеспечить поддержку архитектур, которым требуется зональная изоляция.

  • Classic Load Balancer
  • Classic Load Balancer обеспечивает базовую балансировку нагрузки между несколькими инстансами Amazon EC2 и работает как на уровне запросов, так и на уровне соединения. Classic Load Balancer предназначен для приложений, которые были созданы в сети EC2‑Classic. При использовании облака Virtual Private Cloud (VPC) мы рекомендуем использовать Application Load Balancer для уровня 7 и Network Load Balancer для уровня 4.

    Основные возможности

    Высокая доступность
    Входящий трафик можно распределить между инстансами Amazon EC2 в одной или в нескольких зонах доступности. Classic Load Balancer автоматически масштабирует ресурсы по обработке запросов в ответ на входящий трафик приложений.

    Проверки работоспособности
    Classic Load Balancer может следить за работоспособностью каждого подключенного инстанса Amazon EC2. При обнаружении неисправных инстансов EC2 подача трафика к ним прекращается, при этом нагрузка распределяется между оставшимися работоспособными инстансами.

    Возможности безопасности
    При использовании облака Amazon Virtual Private Cloud (Amazon VPC) можно создать группы безопасности, связанные с Classic Load Balancer, и управлять ими для обеспечения дополнительных возможностей, связанных с сетевой конфигурацией и безопасностью. Можно также создать Classic Load Balancer без публичных IP‑адресов для работы в качестве внутреннего (без выхода в Интернет) балансировщика нагрузки.

    Разгрузка SSL
    Classic Load Balancer поддерживает терминацию SSL‑запросов в балансировщике нагрузки, включая разгрузку SSL‑расшифровки из инстансов приложений, централизованное управление SSL‑сертификатами и шифрование для серверных инстансов с дополнительной аутентификацией с помощью открытого ключа. Поддержка гибкого шифрования позволяет управлять шифрами и протоколами, которые балансировщик нагрузки представляет клиентам.

    Закрепленные сеансы
    Classic Load Balancer поддерживает возможность закреплять сеансы пользователей за конкретными инстансами Amazon EC2 с помощью файлов cookie. Пока пользователь продолжает пользоваться вашим приложением, его трафик направляется к одному и тому же инстансу.

    Поддержка IPv6
    Classic Load Balancer поддерживает использование IP‑протокола как версии 4, так и версии 6 (IPv4 и IPv6) для сетей EC2‑Classic.

    Балансировка нагрузки на уровне 4 или уровне 7
    Имеется возможность осуществлять балансировку нагрузки приложений, использующих протокол HTTP / HTTPS, и использовать особые возможности уровня 7, такие как заголовки X‑Forwarded и закрепленные сеансы. Кроме того, можно использовать балансировку нагрузки строго на уровне 4 для приложений, которые полагаются исключительно на протокол TCP.

    Мониторинг в процессе работы
    В отчетах Amazon CloudWatch присутствует информация о таких метриках Classic Load Balancer, как количество запросов и время задержки.

    Ведение журналов
    Используйте возможность Access Logs для записи всех запросов, отправленных балансировщику нагрузки, и сохраняйте файлы журналов в Amazon S3 для последующего анализа. Журналы могут пригодиться для диагностики сбоев приложений и анализа веб‑трафика. Можно использовать AWS CloudTrail для записи вызовов API Classic Load Balancer в аккаунте и доставки файлов журналов. История вызовов API позволяет выполнять анализ безопасности, аудит соответствия требованиям, а также отслеживать изменения ресурсов.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Узнайте, как начать работу

Ознакомьтесь с руководством по началу работы и видеоресурсами

Подробнее 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Зарегистрируйте бесплатный аккаунт

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

Регистрация 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Начните разработку в консоли

Запустите Elastic Load Balancing в консоли AWS.

Войти