Рубрики
Uncategorized

AWS — балансировка нагрузки

Одной из ключевых функций облачных вычислений является масштабируемость — способность масштабировать системную согласованность … с меткой AWS, Cloud, DevOps.

Одной из ключевых особенностей облачных вычислений является масштабируемость — возможность масштабировать систему в соответствии с спросом.

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

Нет смысла иметь 10 веб -серверов, если весь трафик заканчивается на сервере № 1. Представление «балансировщика нагрузки» поможет нам избежать этого сценария.

Упругая балансировщик нагрузки

Балансировка нагрузки — это, проще говоря, процесс распространения рабочей нагрузки между вашими ресурсами, чтобы избежать перегрузки вашей инфраструктуры и максимизировать ее эффективность. AWS предлагает нам Elastic Load Balancer (ELB), управляемую услугу, которая может автоматически распространять трафик среди наших ресурсов, даже в различных зонах доступности. Расположение ELB как единую точку контакта для клиентов, он может сортировать свои запросы и направить их к соответствующим целям. ELB может даже отслеживать здоровье наших ресурсов и избегать маршрутизации на нездоровые.

Однако AWS дает нам несколько вариантов, когда дело доходит до настройки нашего балансировщика нагрузки.

Приложение нагрузка балансировщика

Этот балансировщик нагрузки используется для управления трафиком HTTP и HTTPS. Он работает на уровне 7 модели OSI, что означает, что его приложение. Благодаря этому он поддерживает расширенную маршрутизацию запросов, позволяя нам нацеливаться на веб-серверы на основе заголовков запросов. Но как это работает? Балансировщик нагрузки приложения состоит из «слушателей» и «целевых групп». Слушатель, хорошо … послушайте запросы от клиентов на определенных портах, которые вы можете определить. Вы можете настроить серию Правила Для слушателей, которые определят, как они будут направлять эти запросы. Каждое правило состоит из приоритета, условий и действий, которые должны выполняться, когда эти условия выполняются. Целевые группы — это коллекции зарегистрированных возможных направлений (например, экземпляры EC2), где запросы могут быть направлены. Цели могут быть динамически добавлены или удалены без прерывания рабочего процесса. Проверки здоровья могут быть настроены на групповом уровне.

Сетевой балансировщик Работая на 4 -м слое OSI (транспорт), этот балансировщик является высокопроизводительным вариантом для соединений TCP и UDP. Общий рабочий процесс аналогичен балансированию нагрузки приложения. Слушатели могут быть настроены для проверки запросов клиентов и пересылать их в целевые группы, даже в разных зонах доступности.

Классический балансировщик нагрузки Ни самый быстрый, ни самый причудливый выбор. По правде говоря, это устаревший вариант, и один из них советует вам переехать, если это возможно. Он поддерживает некоторые специфические параметры Layer-7, в частности, заголовок X-Forwarded-For (который идентифицирует IP-адрес оригинального клиента, а не балансировщик нагрузки) и липкие сеансы. Это также поддерживает балансировку нагрузки Layer-4.

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

Оригинал: «https://dev.to/marianoramborger/aws-load-balancing-2e2c»