Сервис Elastic Load Balancing автоматически распределяет входящий трафик приложений между несколькими инстансами Amazon EC2. Он дает возможность достичь отказоустойчивости в приложениях, эффективно выделяя объем ресурсов, необходимый для распределения нагрузки согласно объему входящего трафика приложений.

Elastic Load Balancing предлагает два типа балансировщиков нагрузки, которые характеризуются высокой доступностью, возможностью автоматического масштабирования и надежной защитой. Среди них Classic Load Balancer, который осуществляет маршрутизацию трафика на основе данных прикладного или сетевого уровня, и Application Load Balancer, который осуществляет маршрутизацию трафика на основе расширенных данных прикладного уровня, включая содержание запроса. Classic Load Balancer идеально подходит для простого распределения нагрузки трафика между несколькими инстансами EC2, в то время как Application Load Balancer идеально подходит для приложений, требующих расширенных возможностей маршрутизации, для микросервисов, а также решений, использующих архитектуру на основе контейнеров. Application Load Balancer предлагает возможность маршрутизации трафика к нескольким сервисам или распределение нагрузки между несколькими портами на одном инстансе EC2.

Начать работу с AWS бесплатно

Создать бесплатный аккаунт
или войти в Консоль

Уровень бесплатного пользования AWS включает 750 часов Elastic Load Balancing в месяц на один год и обработку до 15 ГБ данных системой Amazon Elastic Load Balancing.

Сведения об уровне бесплатного пользования AWS »


Автоматическая маршрутизация трафика c помощью Elastic Load Balancing между многочисленными экземплярами и зонами доступности позволяет достичь более высокого уровня отказоустойчивости ваших приложений. Исключая нездоровые инстансы Amazon EC2 и перераспределяя трафик приложений между оставшимися, Elastic Load Balancing обеспечивает поддержку приложений только на здоровых инстансах. Если в одной зоне доступности нет ни одного здорового инстанса EC2 и у вас есть инстансы в других зонах доступности, то Elastic Load Balancing выполнит маршрутизацию трафика на них.

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

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

Elastic Load Balancing также поддерживает интегрированную централизованную систему управления сертификатами и SSL-шифрованием, что позволяет легко изменять настройки шифрования на балансировщиках нагрузки и снимать вычислительные задачи, интенсивно использующие ресурсы ЦПУ, с текущих инстансов. Elastic Load Balancing также интегрирован с AWS Certificate Manager, что упрощает использование протоколов SSL/TLS для вашего сайта или приложения. Вы получаете интегрированное управление сертификатами, управляемое обновление и развертывание сертификатов и SSL/TLS дешифрование, что дает вам возможность централизованно управлять настройками протоколов SSL/TLS балансировщика нагрузки.

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

Возможности переброса сервиса DNS и мониторинга состояния системы Amazon Route 53 еще больше повышают доступность приложений, работающих за балансировщиками нагрузки. Route 53 перехватит работу балансировщика нагрузки, если в наличии не осталось здоровых инстансов EC2 или если состояние самого балансировщика упало.

Переброс сервиса DNS при помощи Route 53 позволяет поддерживать работу приложений в разных регионах AWS и назначать альтернативные балансировщики для переброса сервиса в другие регионы. В случае отказа приложения Route 53 перенаправит запросы с упавшего балансировщика нагрузки на альтернативный в другом регионе. Перед началом работы с Route 53 для Elastic Load Balancing, ознакомьтесь с руководствами Elastic Load Balancing Developer Guide и Amazon Route 53 Developer Guide.

Представим, что необходимо постоянно иметь как минимум два здоровых инстанса Amazon EC2 под управлением Elastic Load Balancer. Выставим эти условия в системе Auto Scaling, и при невыполнении условий необходимое количество инстансов Amazon EC2 будет автоматически добавлено в вашу группу Auto Scaling. Или же, если необходимо, чтобы при превышении любым из инстансов Amazon EC2 задержки в 4 секунды в течение 15 минут добавлялся новый – достаточно установить это условие в настройках, и система Auto Scaling сделает все остальное. Auto Scaling работает одинаково хорошо с инстансами Amazon EC2, независимо от того, используется ли Elastic Load Balancing или нет.

Elastic Load Balancing упрощает процесс создания точки входа в VPC из сети Интернет для балансировки нагрузки между уровнями приложений. Можно определить группы безопасности на ELB и контролировать порты и доступ к ним с разрешенных ресурсов. Так как Elastic Load Balancing подключен к VPC, все имеющиеся сетевые списки контроля доступа (ACL) и таблицы маршрутизации продолжают предоставлять дополнительные возможности управления сетью.

При создании балансировщика нагрузки в VPC можно выбрать его тип: внешний (по умолчанию) или внутренний. При выборе внутреннего доступ к нему будет осуществляться без интернет-шлюза, а в соответствующей записи DNS будет использоваться его частный IP.