Архитектура 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).
где:
-
WEB-UI – веб-конфигуратор;
-
Configuration Manager – сервис настройки и конфигурирования остальных сервисов в шине;
-
Global Server Load Balancing – сервис балансировки на основе DNS-запросов;
-
Performance Acceleration stack – быстрая L4-балансировка;
-
Local Servers Balancer – сервис балансировки локальных серверов;
-
Health Check – сервис проверки работоспособности Реальных Серверов.
Termidesk Connect состоит из группы объектов, представленных в таблице (см. Объекты Termidesk Connect).
| Объект | Описание |
|---|---|
Виртуальный Сервер |
Точка подключения клиентов к приложению. Для Виртуального Сервера задаются: IP-адрес, порт, тип, правила выбора Серверов Балансировки, правила модификации трафика и другие параметры. Помимо указанных параметров к Виртуальному Серверу привязывается SSL-Профиль, представляющий собой набор настроек протокола SSL/TLS (сертификат, ключ, используемые алгоритмы) |
Сервер Балансировки |
Абстракция, не имеющая собственного IP-адреса и порта. Для Сервера Балансировки задаются: тип, алгоритм балансировки, действия при недоступности Реальных Серверов, правила модификации трафика, а также привязываются одна или несколько Групп Реальных Серверов |
Группа Реальных Серверов |
Объединение нескольких Реальных Серверов и их периодических Проверок. Реальный Сервер – это узел с установленным приложением, доставку которого обеспечивает Termidesk Connect. Для включения Реального Сервера в список доставки Termidesk Connect задаются его IP-адрес и порт. Проверка – это набор правил для проверки балансируемых (Реальных) Серверов. При создании Проверка не выполняется. Фонд IP – опциональный параметр, в котором можно указать IP-адреса, которые должен использовать Termidesk Connect при взаимодействии с Реальным Сервером |
Помимо вышеперечисленных, в состав группы включаются объекты из таблицы (см. Объекты Termidesk Connect для геораспределенной балансировки) в случае, если Termidesk Connect используется для геораспределенной балансировки.
| Объект | Описание |
|---|---|
Виртуальный Сервер геобалансировки |
Представляет собой абстракцию, терминирующую на себя трафик. Для него задаются алгоритм балансировки, время жизни (TTL) и другие параметры |
Сервис |
Объект (абстракция) с назначенным IP-адресом, доступ к которому нужно предоставить пользователю в рамках геобалансировки. Для Сервиса задается локальный IP-адрес, отправляющийся в DNS-ответе, если пользователь подключается из внутренней сети организации, и общедоступный IP-адрес для остальных случаев |
Все эти абстракции возможно комбинировать между собой в любом сочетании. Например, для всех Групп Реальных Серверов может быть использована одна и та же Проверка. Один Сервер Балансировки может быть задействован в конфигурации разных Виртуальных Серверов и так далее.
Балансировка
Типы балансировок, реализованные в Termidesk Connect:
-
локальная балансировка;
-
геобалансировка.
Локальная балансировка
Для локальной балансировки процесс подключения имеет следующую последовательность (см. Локальная балансировка Termidesk Connect):
-
пользователь обращается на IP-адрес и порт Виртуального Сервера;
-
Виртуальный Сервер определяет правила обработки поступившего запроса на основе заданных настроек;
-
запрос передается на Сервер Балансировки на основании алгоритма балансировки уровней L4 или L7;
-
Сервер Балансировки согласно алгоритму балансировки и другим параметрам выбирает Реальный Сервер и направляет на него подключение.
В Termidesk Connect реализованы типы локальной балансировки:
-
TCP;
-
HTTP;
-
RAPID-TCP/RAPID-UDP.
Пример TCP-балансировки представлен на рисунке (см. TCP-балансировка).
Пример HTTP-балансировки представлен на рисунке (см. HTTP-балансировка).
Пример балансировки для RAPID-TCP представлен на рисунке (см. Балансировка для RAPID-TCP).
| Самые высокие показатели производительности получаются именно в режиме RAPID. Минус данного подхода: отсутствует возможность влиять на данные приложения, отсутствует поддержка SSL-Профилей. |
Геобалансировка
Геобалансировка – технология, работающая на основе DNS. Высокоуровневую архитектуру внедрения для географической балансировки в Termidesk Connect можно пояснить на примере (см. Геобалансировка Termidesk Connect):
-
компания имеет территориальные офисы и ЦОД, размещенные в разных городах:
-
для пользователей необходимо обеспечить подключение к ближайшему или наименее загруженному ЦОД;
-
пользователю доступен один (единый) адрес для подключения к требуемым сервисам (веб-приложениям, почтовой системе, 1С-системе);
-
при переходе по этому адресу Termidesk Connect:
-
определяет какой ЦОД обеспечит оптимальную работу пользователя;
-
определяет какой Реальный Сервер обеспечит оптимальную работу пользователя;
-
подключает пользователя к требуемому Сервису;
-
-
в случае отказа одного из ЦОД, пользователи при подключении автоматически перенаправляются на доступные ЦОД;
-
-
при перемещении пользователя в другой регион, алгоритм выбора рабочей площадки предложит ему наиболее подходящий ЦОД. Такая схема обеспечивает оптимальную работу для пользователя независимо от его местоположения и количества территориально распределённых ЦОД;
-
на каждой площадке (каждом ЦОД) устанавливается отказоустойчивая пара Termidesk Connect, собираемые по схеме активный-резервный ЦОД.
Решения по георезервированию в Termidesk Connect разделяются по архитектурам:
-
GSLB – распределяет трафик между Площадками, используя протокол DNS;
-
RHI – применяется для динамического управления маршрутами, передаваемыми протоколами BGP и OSPF.
Построение геораспределенной архитектуры GSLB (см. Геораспределенная архитектура GSLB) обеспечивает:
-
разрешение доменного имени в IP-адрес, связанный с определенной Площадкой;
-
проверку Сервисов, участвующих в геобалансировке для распределения нагрузки;
-
интеллектуальные механизмы распределения пользователей (например,выбор ближайшей доступной Площадки или привязка к конкретному ЦОД);
-
реализация сценариев работы ЦОД и распределённых ЦОД.
Построение геораспределенной архитектуры RHI (см. Геораспределенная архитектура RHI) обеспечивает:
-
георезервирование с помощью протоколов BGP/OSPF;
-
анонсирование в зависимости от состояния Серверов Балансировки;
-
поддержку сценариев маршрутизации;
-
автоматическое перераспределение трафика при сбоях.
Отказоустойчивость
Решения по отказоустойчивости в Termidesk Connect разделяются на:
-
локальная отказоустойчивость – надежность в рамках одной площадки;
-
географическая отказоустойчивость – надежность в рамках всей инфраструктуры с несколькими ЦОД.
Механизмы локальной отказоустойчивости Termidesk Connect (см. Отказоустойчивая конфигурация Termidesk Connect):
-
для обеспечения отказоустойчивости приложений реализован подход Active/Standby. Active-устройство обрабатывает весь трафик, а Standby-устройство в первую очередь проверяет Active-устройство. Также Active-устройство может осуществлять проверку Балансируемых Серверов для создания различных failover-сценариев;
-
между устройствами синхронизируются конфигурация, файлы сертификатов и файлы Сценариев.