Чем больше улик у детектива, тем легче ему раскрыть дело. Именно так работает балансировщик нагрузки. Чем больше информации имеет балансировщик нагрузки, тем лучше он работает. В этом блоге я собираюсь рассказать о Application Load Balancer и о том, как он распределяет входящий трафик, получая более широкий доступ к заголовкам пакетов, HTTPS и деталям HTTPS.
Темы охватывали:
- Что такое Application Load Balancer?
- Работа балансировщика нагрузки приложений
- Функции, которые делают его лучше, чем классический балансировщик нагрузки
- Демонстрация: создание балансировщика нагрузки приложений и демонстрация его работы
Что такое Application Load Balancer?
Я уверен, что вы слышали о модели OSI. Это семиуровневая архитектура, в которой каждый уровень выполняет определенную задачу по передаче данных по всему миру. Эти уровни включают в себя - физический уровень, уровень канала передачи данных, сетевой уровень, транспортный уровень, сеансовый уровень, уровень представления и уровень приложений. Application Load Balancer работает на 7-м уровне модели OSI, как следует из названия. Этоимеет возможность исследовать контент на уровне приложений и маршрутизировать трафик на основе полученной информации. Контент уровня приложения включает сведения о пакете, сведения о HTTP и HTTPS. Это делает маршрутизацию проще, быстрее и намного эффективнее. Это один из наиболее широко используемых .
таблица смешивания данных левое соединение
Работа балансировщика нагрузки приложений
Балансировщик нагрузки приложения состоит из слушатели и правила . Когда клиент делает запрос, слушатель его подтверждает. Правила - это руководящие принципы, которые регулируют маршрутизацию каждого клиентского запроса после того, как он услышан слушателем. Правила состоят из трех компонентов - Целевая группа , Приоритет и Условия . Целевые группы состоят из зарегистрированные цели (серверы, на которые будет маршрутизироваться трафик). Каждая целевая группа направляет запросы к одному или нескольким зарегистрированным целям, например экземплярам EC2, с использованием указанного вами протокола и номера порта. Таким образом, когда слушатель получает запрос, он проходит через порядок приоритетов, чтобы определить, какое правило применить, анализирует правила и в зависимости от условия решает, какая целевая группа получит запрос.
Вы всегда можете добавлять или удалять цели из вашего балансировщика нагрузки по мере необходимости, не нарушая общий поток запросов к вашему приложению. ELB динамически масштабирует ваш балансировщик нагрузки, то есть по мере того, как трафик вашего приложения изменяется с течением времени, обеспечивая готовность вашего приложения к различным ситуациям.
Функции, которые делают его лучше, чем классический балансировщик нагрузки
Маршрутизация на основе содержимого: Application Load Balancer должен иметь доступ к заголовкам HTTP и, следовательно, маршрутизировать трафик на их основе.
Поддержка контейнерных приложений: Благодаря мощной концепции контейнеризации большинство пользователей упаковывают свои микросервисы в контейнеры и размещают их на инстансах EC2. Это позволяет одному экземпляру EC2 запускать несколько служб. Application Load Balancer поддерживает эти приложения на основе контейнеров. Один экземпляр может размещать несколько контейнеров и прослушивать несколько портов за одной целевой группой. Он также выполняет детальные проверки работоспособности на уровне портов.
Лучшие показатели: Application Load Balancer выполняет проверки работоспособности для каждого порта, а также создает отчет. Проверка работоспособности определяет диапазон приемлемых HTTP-ответов. Эти проверки работоспособности также сопровождаются подробными кодами ошибок.
Маршрутизация на основе пути: Application Load Balancer поддерживает маршрутизацию на основе путей и узлов, чего нельзя сказать о Classic load balancer. Yвы можете направлять запросы в несколько доменов с помощью одного балансировщика нагрузки.
Зарегистрируйте IP-адрес и лямбда-функции: Помимо регистрации экземпляров EC2, вы также можете зарегистрировать IP-адреса и функции Lambda для своей цели. И, следовательновы также можете регистрировать цели, находящиеся за пределами VPC.
Предоставляет дополнительные протоколы и рабочие нагрузки:
Application Load Balancer предоставляет два дополнительных протокола - HTTP / 2 и WebSocket.
HTTPS / 2: Этот протокол поддерживает мультиплексированные запросы через одно соединение. Это снижает сетевой трафик.
WebSocket: Этот протокол позволяет вам установить длительное TCP-соединение между клиентом и сервером. Этот протокол намного более эффективен по сравнению со старыми методами.
Демонстрация: создание балансировщика нагрузки приложений и демонстрация его работы
Давайте лучше разберемся в Application Load Balancer, создав его и используя. В этой демонстрации я собираюсь создать два экземпляра EC2, развернуть веб-сервер Nginx на обоих из них с разным выводом HTML (их легко различить), создать балансировщик нагрузки приложения, зарегистрировать эти два экземпляра в этом балансировщике нагрузки и проверить если к веб-серверу, развернутому на экземплярах, можно получить доступ через DNS балансировщика нагрузки. Давайте начнем.
Шаг 1: и подключите свои экземпляры к Putty или cmder.
Шаг 2: Установите веб-сервер Nginx на оба экземпляра. Выполните следующие команды для установки Nginx:
$ sudo apt-get update $ sudo apt install nginx $ sudo ufw app list $ sudo ufw allow 'Nginx HTTP' $ sudo ufw status
Скопируйте общедоступный IP-адрес экземпляров и вставьте его в браузер как URL-адрес, чтобы проверить, успешно ли установлен Nginx.
Шаг 3 : Изменить вывод HTML веб-сервера Nginx, чтобы избежать путаницы между развертываниями в обоих экземплярах.
$ cd / var / www / html $ sudo vi index.nginx-debian.html
Измените содержимое тега H1 на «Добро пожаловать в Nginx! - СЕРВЕР 1 ». Сделайте то же самое с другим экземпляром, но измените его на «Добро пожаловать в Nginx! - СЕРВЕР 2 ».
Шаг 4: Создайте балансировщик нагрузки приложения. На панели навигации под БАЛАНСИРОВКИ НАГРУЗКИ , выбирать Балансировщики нагрузки и нажмите на Создайте в Application Load Balancer.
Вы перейдете на другую страницу. Выберите Создать балансировщик нагрузки Там.
Давайте настроим балансировщик нагрузки. В поле «Имя» введите имя, которое должно быть у вашего балансировщика нагрузки. Для «Схема» выберите «Доступ в Интернет» или «Внутренний». В данном случае я выбрал выход в Интернет. Выход в Интернет в основном направляет запросы от клиентов к цели через Интернет.
Для слушателей по умолчанию используется TCP-трафик на порт 80, и я продолжаю использовать ту же конфигурацию слушателя по умолчанию. Если вы хотите добавить еще одного слушателя, вы можете выбрать Добавить слушателя .
Для зоны доступности выберите VPC, который вы использовали для создания инстансов EC2. Выберите зону доступности и подсеть для этой зоны доступности для каждой зоны доступности, используемой для создания экземпляра EC2.
При необходимости вы добавляете теги в свой балансировщик нагрузки. Теги особенно полезны, когда у вас есть несколько балансировщиков нагрузки.
Нажмите на Далее: Настройка параметров безопасности . Вы можете увидеть предупреждение, но можете проигнорировать его.
На этом этапе вы можете настроить безопасность вашего балансировщика нагрузки. Вы можете либо Создать новую группу безопасности или Выберите существующую группу безопасности . В данном случае я выбрал существующую группу безопасности.
как использовать анаконду для Python
После завершения настройки безопасности нажмите Далее: Настроить маршрутизацию . Выберите Новая целевая группа. Добавить имя ты хотел бы дать свой Целевая группа . Выберите Тип цели как Instance, поскольку мы прикрепляем экземпляры. Приложение Load Balancer также позволяет прикреплять IP-адреса и лямбда-функции. Пусть Протокол и Порт быть по умолчанию.
Я ничего не менял в Проверки здоровья и Расширенные проверки здоровья либо. Нам вполне достаточно настроек по умолчанию.
Нажмите на Далее: Зарегистрируйте цели чтобы добавить ваши цели (в данном случае экземпляры) в ваш балансировщик нагрузки.
Выберите экземпляры, которые вы хотите добавить в качестве целей, а затем нажмите Добавить в регистр.
Ваши цели (экземпляры) теперь зарегистрированы в Load Balancer.
Нажмите на Далее: Обзор . Проверьте балансировщик нагрузки и, наконец, нажмите Создайте .
Теперь балансировщик нагрузки создан, и вы можете проверить его статус.
Ура !! Вы успешно создали балансировщик нагрузки приложения. Теперь давайте проверим, действительно ли это работает.
как создать динамический массив в java
Шаг 5: Скопируйте DNS-имя вашего балансировщика нагрузки и вставьте его в браузер как URL-адрес. Вы должны увидеть результат первого экземпляра.
Теперь перейдите в другой браузер и вставьте то же DNS-имя, вы должны увидеть вывод второго экземпляра.
И это показывает, что балансировщик нагрузки балансирует на нем нагрузку двух экземпляров. Нагрузки на оба ваших экземпляра EC2 будут обрабатываться этим балансировщиком нагрузки. Еще один способ проверить работу балансировщика нагрузки - закрыть один экземпляр и проверить, развернуты ли его развертывания на DNS балансировщика нагрузки.
На этом мы подошли к концу этого блога о Application Load Balancer. Я надеюсь, что вы, ребята, поняли концепцию этой удивительной услуги, предоставляемой Amazon. Чтобы узнать больше о таких блогах, посетите сайт « '.
Если вы хотите узнать больше об облачных вычислениях и построить карьеру в облачных вычислениях, ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и реальный проектный опыт. Это обучение поможет вам глубже понять облачные вычисления и поможет вам достичь мастерства в этой области.
Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев, и мы свяжемся с вами или разместим ваш вопрос на . В Edureka Community есть более 1000000 фанатиков, готовых помочь.