Балансировщик нагрузки/ADC ALB-X Test drive Tutorial

(Контроллер доставки приложений ADC)

Пройдите тест-драйв здесь

Оглавление

Мы надеемся, что вам понравится работа с балансировщиком нагрузки ALB-X, и хотели бы, чтобы у вас была реалистичная конфигурация для игры.

  • В рамках тестовой программы мы предварительно сконфигурировали несколько примеров сервисов, чтобы вы могли приступить к работе.
  • Мы размещаем эту установку на Azure, но не беспокойтесь, вам не нужно иметь учетную запись azure, к тому же она БЕСПЛАТНАЯ.
  • Вы можете переконфигурировать устройство и опробовать его на собственных серверах.

Вот несколько слов, которые помогут вам сориентироваться в пользовательском интерфейсе и получить максимум удовольствия от тест-драйва, так что пристегните ремни безопасности....

После регистрации на тест-драйв ALB-X вам будет предоставлен собственный уникальный URL-адрес для доступа к графическому интерфейсу ALB-X через веб-браузер. По возможности мы рекомендуем использовать браузер Google Chrome.

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

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

Настройка тестового диска Azure

  • IP-адрес, автоматически настроенный на устройстве балансировки нагрузки, использует частный IP-адрес Azure.
  • Конечно, можно настроить Azure на открытие и NAT большего количества портов для дополнительных служб.
  • Для данной демонстрации были открыты только порты 80, 443 и 27376 (для графического интерфейса).

ALB-X Test Drive Предварительно заполненные сервисы

Поскольку это пользовательский тест-драйв, мы предварительно наполнили IP-Services некоторыми сервисами, которые Вы можете попробовать прямо сейчас. Для целей тест-драйва мы предоставили реальное содержимое сервера на 2 общедоступных веб-серверах:

Мы предлагаем вам 4 демонстрационных сервиса:

Имя
Порт
Доступность
Балансировка нагрузки при наименьшем количестве соединений HTTP
80
http://yoururl
Выгрузка HTTPS
443
https://yoururl
Персистентность на основе куки-файлов
601
http://yoururl/601/
Переработка тестов для тела
602
http://yoururl/?602

Сервис на порту 80 - балансировка нагрузки на наименьшие соединения HTTP

Первый сервис - это базовый балансировщик нагрузки веб-сервера с портом 80, использующий нашу политику балансировки нагрузки "наименьшее количество соединений" на 2 "реальных сервера".

Test drive IP services
index page data centre

Сервис на порту 443 - разгрузка SSL

Вторая служба работает на порту 443. В этом случае балансировщик нагрузки выполняет шифрование, которое иногда называют "разгрузкой" SSL.

Пожалуйста, не стесняйтесь загрузить собственный SSL-сертификат и применить его к сервису, см. инструкции далее. После того как вы пройдете через исключение безопасности, в браузере отобразится то же самое содержимое.

Перенаправление с HTTP на HTTPS

Первое, что мы можем рассмотреть, используя flightPATH , - это перенаправление HTTP на HTTPS.

Эта функция часто используется для обеспечения безопасного соединения при обслуживании веб-трафика.

				
					/?secure
				
			

Если flightPATH увидит это "условие", он будет действовать в соответствии с трафиком и вернет браузеру 302-й редирект, чтобы сообщить ему о необходимости выполнить еще один GET-запрос к HTTPS://your.original.request.location, который в данном случае будет тем же публичным IP-адресом сервиса, но по каналу 443.

Теперь вы можете посмотреть, как настроено правило flightPATH.

Для этого необходимо перейти на вкладку Library слева и выбрать пункт flightPATH.

Test drive Flightpath

Щелкните на элементе 'Force HTTPS - when query string is secure' , и вы увидите

ИЛИ

Постоянство cookie и использование сервера на основе пути

Как Вы уже поняли, соединения были распределены между обоими реальными серверами — вот почему Вы видите изображения, возвращаемые как с сервера 1, так и с сервера 2. Это связано с тем, что политика балансировки нагрузки по умолчанию — “наименьшее количество соединений”, при этом будет стараться поддерживать четное количество соединений со всеми серверами, настроенными для службы.

Для HTTP-сервисов это может быть достигнуто путем применения специального сессионного cookie, который браузер будет представлять при всех последующих запросах к этому сервису, как правило, на время "сессии".

Правило flightPATH смотрит на запрашиваемый путь, и если он равен /601/, то отправляет трафик на службу, работающую на порту 601. Вот подробности этого правила flightPATH.

Test drive FP rule

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

Мы видим конфигурацию VIP на порту 601:

real servers basic setting
				
					http://myurl/601/
				
			
Test Image DC 1 Server 1

Здесь видно, что все содержимое обслуживается с сервера 1 - вы можете проверить инструменты разработчика вашего браузера и увидите, что был установлен cookie с именем jnAccel=.

Перезапись путей и оценка RegEx

Поскольку на реальном сервере нет содержимого по пути /601/ , нам нужно было удалить его из запроса, иначе мы получили бы ошибку 404 (которую также можно скрыть с помощью flightPATH).

Test drive Flightpath

Здесь мы снова ищем 601 в пути в качестве условия для запуска этого правила.

Поэтому мы создаем NewPath, просто извлекая данные после ведущего префикса пути /601/.

Действие" заключается в переписывании пути с использованием $NewPath1$ и $querystring$, если они присутствуют.

Замена текста тела HTML

В примере с другим сервисом, использующим порт :602 , мы показываем, как можно манипулировать не только HTTP-заголовком, но и HTML-содержимым.

				
					http://myurl/?602
				
			

Если в браузере ввести публичный IP-адрес тестового ALB-X и приписать к нему /?602 , то должен получиться следующий результат.

Test Image DC 1 Server 2

Вы можете увидеть дополнительную строку текста, выделенную оранжевым цветом, в которой говорится, что -.

Это достигается с помощью 2 правил flightPATH.

Следующее правило, примененное к порту:80, ищет значение строки запроса, равное 602, и отправляет все соответствующие запросы на службу, работающую на порту 602.

К службе, работающей на порту :602, применяется правило flightPATH, выполняющее функцию 'Body Replace Last', которая ищет закрывающий тег body

				
					</body>
				
			

и заменяя его на

				
					<font face=’Arial’ size=’6′ color=’orange’><center>This text has been added by flightPATH</center></font></body>
				
			

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

Test drive Flightpath

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

Пожалуйста, поэкспериментируйте сами, и мы будем рады выслушать Ваши конкретные требования.

Реальные проверки состояния сервера

Следующее, что мы рассмотрим, - это реальная проверка работоспособности сервера. Очень важно, чтобы к сервису применялся правильный тип проверки работоспособности, позволяющий надежно определять состояние сервера (серверов) back end и обеспечивающий передачу клиентского трафика только на те серверы, которые находятся в рабочем состоянии.

При создании нового сервиса мы должны определить набор параметров по умолчанию. Для мониторинга сервера мы используем проверку работоспособности TCP-соединения. Опция Server Monitoring находится на вкладке Basic для настраиваемого сервиса.

real servers basic setting

Хотя это вполне разумная отправная точка, настоятельно рекомендуется настраивать и применять к сервису более надежные проверки работоспособности, и мы сделали создание пользовательских проверок работоспособности HTTP очень простым.

В Test Drive мы добавили третий монитор Real Server Monitor, чтобы показать пример проверки работоспособности HTTP-ответа.

Test drive Health check

HTTP 200 OK Метод мониторинга

200OK Используется HTTP GET-запрос к местоположению страницы, настроенному для проверки, и обеспечивается возврат ответа со статусом 200OK.

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

Мы применили этот монитор, как вы можете видеть выше, к службе, работающей на порту:601.

Метод мониторинга HTTP-ответов

Монитор NLS, настроенный в Test Drive, использует проверку HTTP Response.

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

Это гораздо более эффективный тест, так как страница должна присутствовать, а конкретное содержимое должно быть доступно.

Видно, что мы применили этот монитор к службе, работающей на порту:602.

Вы можете изменить текст в поле Required Content для этой проверки, и вы увидите, как серверы окрасятся в красный цвет, показывая, что они не прошли проверку. Верните требуемое содержимое к правильному значению, и серверы вернутся к зеленому цвету OK.

Интервал мониторинга

На вкладке "Дополнительно" вы можете управлять частотой, временем ожидания и т.д. для операции проверки работоспособности данного сервиса.

real servers Advanced setting

Для тестовой поездки мы установили интервал монитора на 3 секунды с двухсекундным тайм-аутом.

Monitoring Out Count установлен на 3, поэтому он должен не получить 3 последовательных ответа, прежде чем пометить сервер как недоступный.

HTTPS и SSL-сертификаты

Все больше сайтов используют HTTPS, и к началу 2017 года процентное соотношение изменилось в пользу HTTPS.

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

real servers basic setting

Служба настроена на разгрузку SSL, поэтому на стороне реального сервера установлено значение No SSL.

Загрузка/импорт сертификатов

Вы можете загрузить в ALB-X собственные подписанные сертификаты, воспользовавшись меню SSL Certificates в разделе Library.

Test Drive SSL Config

Как указано в полях ввода текста, для импорта в ALB-X сертификат должен иметь формат PKCS#12.

Имя (которое не должно содержать пробелов), которое вы присваиваете сертификату при импорте, будет отображаться в выпадающих списках выбора сертификата на вкладке IP-службы Basic.

Перешифровка реального сервера

Если реальные серверы требуют повторного шифрования SSL/TLS, то наиболее целесообразно выбрать опцию "Любой" из выпадающего списка "SSL-сертификат реального сервера".

Test drive SSL Virtual Cert

SNI (индикация имени сервера)

В условиях нехватки публичных IP-адресов и того факта, что в Azure можно настроить только один VIP, полезно иметь возможность поддерживать несколько защищенных доменов/хост-адресов через одну виртуальную службу, и это возможно на ALB-X, поскольку мы поддерживаем SNI.

Test drive SSL

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

Test drive SSL

Приложения

ALB-X поддерживает развертывание дополнительных функций и возможностей путем приобретения и загрузки приложений из нашего магазина App Store для развертывания в контейнерной среде ALB-X.

Мы организовали в Azure два отдельных тест-драйва, где можно увидеть эту функциональность в действии, поэтому, если вам интересно, ознакомьтесь с ними.

Аутентификация

ALB-X поддерживает предварительную аутентификацию совместно с сервером MS AD (Microsoft Active Directory ) / LDAP.

Эта функциональность является популярной заменой снятого с производства продукта Microsoft TMG.

Мониторинг использования устройства и соединений

Раздел меню "Просмотр" позволяет видеть состояние соединения и реальное состояние сервера как в реальном времени (Status), так и в виде динамики за определенное время (History).

Система

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

Test drive System Menu

Advanced

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

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

real servers Advanced setting

Спасибо.

Мы будем рады любым вопросам, которые вы можете задать по адресу pre-sales@edgenexus.io.

Свяжитесь с нами

0808 1645876

(866) 376-0175

Не верьте нам на слово - воспользуйтесь бесплатной пробной версией

Аппаратное и программное обеспечение или даже Ваш собственный онлайн-образ с полной тестовой средой.
Просто сообщите нам, что Вам нужно здесь

Copyright © 2021 Edgenexus Limited.