Архитектура Termidesk Connect

Эта статья предназначена для архитекторов и администраторов, которые будут внедрять Termidesk Connect в корпоративную инфраструктуру.

Технология Application Delivery Controller

Application Delivery Controller (ADC) или контроллер доставки приложений – это технология, представляющая собой специализированное сетевое устройство или программное обеспечение, оптимизирующее доставку приложений пользователям с целью обеспечения высокой доступности, производительности и безопасности. Контроллер доставки приложений функционирует как интеллектуальный посредник между серверами приложений и пользователями.

ADC включает в себя функции балансировки нагрузки, ускорения приложений, оптимизации трафика и защиты от угроз. Балансировка нагрузки обеспечивает распределение входящего трафика между несколькими серверами приложений, предотвращая перегрузку отдельных серверов и гарантируя непрерывность обслуживания. Ускорение приложений включает в себя ряд техник, направленных на снижение времени отклика приложений и повышение удовлетворенности пользователей. Функции безопасности, интегрированные в контроллер доставки приложений, включают защиту от распространенных атак.

Назначение

Termidesk Connect – многофункциональное сетевое устройство, обеспечивающее масштабирование, высокую доступность и защиту приложений, оптимизацию их работы за счет гибких настроек коммуникационных протоколов, а также георезервирование инфраструктуры.

Termidesk Connect является посредником между пользователем и сервером приложений в сетевой инфраструктуре. Получив запрос пользователя на подключение, Termidesk Connect отправляет его на сервер приложений. При этом Termidesk Connect может использоваться как:

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

  • балансировщик нагрузки – для распределения запросов пользователей по нескольким серверам и оптимизации использования сетевых ресурсов;

  • глобальный балансировщик нагрузки – для обеспечения доступности приложений в географически распределенной инфраструктуре. В этом случае Termidesk Connect распределяет запросы между центрами обработки данных (ЦОД) и направляет их на наиболее производительный или наименее загруженный ЦОД.

Функции

Основной функционал шлюза:

  • шлюз как единая точка входа в инфраструктуру программного комплекса Термидеск обеспечивает:

    • SSL-терминирование;

    • возможность создания политик на основе данных аутентификации пользователей (запрет/разрешения ресурсов);

    • авторизацию;

  • аутентификация пользователей;

  • сбор статистических данных о подключениях пользователей и отправка их на сторонние системы (Syslog/Json);

  • функционал географической балансировки;

  • защита от DoS.

Основной функционал балансировщика:

  • балансировка трафика:

    • на транспортном уровне L4 (поддержка Source NAT) – TCP, UDP;

    • на прикладном уровне L7 (поддержка Full Proxy) – HTTP, HTTPS, WS;

    • различные алгоритмы балансировки нагрузки;

    • проверки балансируемых серверов – ping, TCP, HTTP, HTTPS, скрипты (логические выражения для комбинаций проверок);

    • различные способы сохранения сессии пользователя (persistence);

    • перенаправление запросов на группы серверов в зависимости о содержимого запроса;

  • геобалансировка (GSLB, RHI);

  • защита от DоS;

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

    • изменение содержимого заголовков на основе политик;

    • добавление заголовков в запрос/ответ;

    • удаление заголовков;

  • предаутентификация запросов пользователей;

  • аутентификация пользователей перед получением доступа к ресурсу:

    • LDAP;

    • клиентский сертификат;

    • комбинирование методов (2FA);

  • проброс полученных учетных данных на балансируемый сервер:

    • BASIC;

    • Negotiation/NTLM.

Termidesk Connect обеспечивает настройку и управление устройством через:

  • командную строку;

  • веб-интерфейс;

  • интерфейс API;

  • интерфейс NETCONF.

Архитектура

Логически Termidesk Connect делится на несколько компонентов, объединенных между собой через общую шину – Termidesk Connect Bus (далее TCBus). Каждый из компонентов выполняет определенную функцию. Взаимодействие компонентов представлено на рисунке (см.Взаимодействие компонентов Termidesk Connect).

image
Рисунок 1. Взаимодействие компонентов Termidesk Connect

где:

  • WEB-UI – веб-конфигуратор;

  • Configuration Manager – сервис настройки и конфигурирования остальных сервисов в шине;

  • Global Server Load Balancing – сервис балансировки на основе DNS-запросов;

  • Performance Acceleration stack – быстрая L4-балансировка;

  • Local Servers Balancer – сервис балансировки локальных серверов;

  • Health Check – сервис проверки работоспособности Реальных Серверов.

Termidesk Connect состоит из группы объектов, представленных в таблице (см. Объекты Termidesk Connect).

Таблица 1. Объекты Termidesk Connect
Объект Описание

Виртуальный Сервер

Точка подключения клиентов к приложению. Для Виртуального Сервера задаются: IP-адрес, порт, тип, правила выбора Серверов Балансировки, правила модификации трафика и другие параметры. Помимо указанных параметров к Виртуальному Серверу привязывается SSL-Профиль, представляющий собой набор настроек протокола SSL/TLS (сертификат, ключ, используемые алгоритмы)

Сервер Балансировки

Абстракция, не имеющая собственного IP-адреса и порта. Для Сервера Балансировки задаются: тип, алгоритм балансировки, действия при недоступности Реальных Серверов, правила модификации трафика, а также привязываются одна или несколько Групп Реальных Серверов

Группа Реальных Серверов

Объединение нескольких Реальных Серверов и их периодических Проверок. Реальный Сервер – это узел с установленным приложением, доставку которого обеспечивает Termidesk Connect. Для включения Реального Сервера в список доставки Termidesk Connect задаются его IP-адрес и порт. Проверка – это набор правил для проверки балансируемых (Реальных) Серверов. При создании Проверка не выполняется. Фонд IP – опциональный параметр, в котором можно указать IP-адреса, которые должен использовать Termidesk Connect при взаимодействии с Реальным Сервером

Помимо вышеперечисленных, в состав группы включаются объекты из таблицы (см. Объекты Termidesk Connect для геораспределенной балансировки) в случае, если Termidesk Connect используется для геораспределенной балансировки.

Таблица 2. Объекты Termidesk Connect для геораспределенной балансировки
Объект Описание

Виртуальный Сервер геобалансировки

Представляет собой абстракцию, терминирующую на себя трафик. Для него задаются алгоритм балансировки, время жизни (TTL) и другие параметры

Сервис

Объект (абстракция) с назначенным IP-адресом, доступ к которому нужно предоставить пользователю в рамках геобалансировки. Для Сервиса задается локальный IP-адрес, отправляющийся в DNS-ответе, если пользователь подключается из внутренней сети организации, и общедоступный IP-адрес для остальных случаев

Все эти абстракции возможно комбинировать между собой в любом сочетании. Например, для всех Групп Реальных Серверов может быть использована одна и та же Проверка. Один Сервер Балансировки может быть задействован в конфигурации разных Виртуальных Серверов и так далее.

Балансировка

Типы балансировок, реализованные в Termidesk Connect:

  • локальная балансировка;

  • геобалансировка.

Локальная балансировка

Для локальной балансировки процесс подключения имеет следующую последовательность (см. Локальная балансировка Termidesk Connect):

  • пользователь обращается на IP-адрес и порт Виртуального Сервера;

  • Виртуальный Сервер определяет правила обработки поступившего запроса на основе заданных настроек;

  • запрос передается на Сервер Балансировки на основании алгоритма балансировки уровней L4 или L7;

  • Сервер Балансировки согласно алгоритму балансировки и другим параметрам выбирает Реальный Сервер и направляет на него подключение.

image
Рисунок 2. Локальная балансировка Termidesk Connect

В Termidesk Connect реализованы типы локальной балансировки:

  • TCP;

  • HTTP;

  • RAPID-TCP/RAPID-UDP.

Пример TCP-балансировки представлен на рисунке (см. TCP-балансировка).

image
Рисунок 3. TCP-балансировка

Пример HTTP-балансировки представлен на рисунке (см. HTTP-балансировка).

image
Рисунок 4. HTTP-балансировка

Пример балансировки для RAPID-TCP представлен на рисунке (см. Балансировка для RAPID-TCP).

image
Рисунок 5. Балансировка для RAPID-TCP
Самые высокие показатели производительности получаются именно в режиме RAPID. Минус данного подхода: отсутствует возможность влиять на данные приложения, отсутствует поддержка SSL-Профилей.

Геобалансировка

Геобалансировка – технология, работающая на основе DNS. Высокоуровневую архитектуру внедрения для географической балансировки в Termidesk Connect можно пояснить на примере (см. Геобалансировка Termidesk Connect):

  • компания имеет территориальные офисы и ЦОД, размещенные в разных городах:

    • для пользователей необходимо обеспечить подключение к ближайшему или наименее загруженному ЦОД;

    • пользователю доступен один (единый) адрес для подключения к требуемым сервисам (веб-приложениям, почтовой системе, 1С-системе);

    • при переходе по этому адресу Termidesk Connect:

      • определяет какой ЦОД обеспечит оптимальную работу пользователя;

      • определяет какой Реальный Сервер обеспечит оптимальную работу пользователя;

      • подключает пользователя к требуемому Сервису;

    • в случае отказа одного из ЦОД, пользователи при подключении автоматически перенаправляются на доступные ЦОД;

  • при перемещении пользователя в другой регион, алгоритм выбора рабочей площадки предложит ему наиболее подходящий ЦОД. Такая схема обеспечивает оптимальную работу для пользователя независимо от его местоположения и количества территориально распределённых ЦОД;

  • на каждой площадке (каждом ЦОД) устанавливается отказоустойчивая пара Termidesk Connect, собираемые по схеме активный-резервный ЦОД.

image
Рисунок 6. Геобалансировка Termidesk Connect

Решения по георезервированию в Termidesk Connect разделяются по архитектурам:

  • GSLB – распределяет трафик между Площадками, используя протокол DNS;

  • RHI – применяется для динамического управления маршрутами, передаваемыми протоколами BGP и OSPF.

Построение геораспределенной архитектуры GSLB (см. Геораспределенная архитектура GSLB) обеспечивает:

  • разрешение доменного имени в IP-адрес, связанный с определенной Площадкой;

  • проверку Сервисов, участвующих в геобалансировке для распределения нагрузки;

  • интеллектуальные механизмы распределения пользователей (например,выбор ближайшей доступной Площадки или привязка к конкретному ЦОД);

  • реализация сценариев работы ЦОД и распределённых ЦОД.

image
Рисунок 7. Геораспределенная архитектура GSLB

Построение геораспределенной архитектуры RHI (см. Геораспределенная архитектура RHI) обеспечивает:

  • георезервирование с помощью протоколов BGP/OSPF;

  • анонсирование в зависимости от состояния Серверов Балансировки;

  • поддержку сценариев маршрутизации;

  • автоматическое перераспределение трафика при сбоях.

image
Рисунок 8. Геораспределенная архитектура RHI

Отказоустойчивость

Решения по отказоустойчивости в Termidesk Connect разделяются на:

  • локальная отказоустойчивость – надежность в рамках одной площадки;

  • географическая отказоустойчивость – надежность в рамках всей инфраструктуры с несколькими ЦОД.

Механизмы локальной отказоустойчивости Termidesk Connect (см. Отказоустойчивая конфигурация Termidesk Connect):

  • для обеспечения отказоустойчивости приложений реализован подход Active/Standby. Active-устройство обрабатывает весь трафик, а Standby-устройство в первую очередь проверяет Active-устройство. Также Active-устройство может осуществлять проверку Балансируемых Серверов для создания различных failover-сценариев;

  • между устройствами синхронизируются конфигурация, файлы сертификатов и файлы Сценариев.

image
Рисунок 9. Отказоустойчивая конфигурация Termidesk Connect