|
Если ваше приложение поддерживает горизонтальное масштабирование для увеличения производительности и отказоустойчивости, то вы может использовать встроенный в VMware VDC Load Balancer.
В данном примере настроим Load Balancer для распределения трафика https на 2 виртуальных сервера.
Имеем:
- Есть внешний IP у которого не задействован порт 443 (стандартный порт https) 37.yyy.xxx.3
- 2 ВМ на каждой веб-сервер и настроена работа сайта (приложения) по https ВМ1 - 192.168.1.11 ВМ2 - 192.168.1.20
Задачи: - настроить балансировку пользовательского трафика https на 2 ВМ - в случае недоступности веб-сервера на ВМ не направлять на нее пользовательский трафик
1. В VDC перейдите в "Networking" и выберите нужный "Edges", в данном случае gw_activecloud_01.

2. Нажмите "Services" и в открывшемся окне перейдите на вкладку "Load Balancer"

3. Сначала создадим пул серверов на которые балансировщик будет распределять запросы. Для балансировщика это будут backend сервера.
Перейдите на вкладку "Pool" и нажмите кнопку "+" для создания пула серверов для балансировки

4. Заполните Name* - задайте имя пулу Description - добавьте описание пула, если нужно Algorithm - Выберите алгоритм балансировки Algorithm Parameters - если применимо укажите параметры для алгоритма балансировки Monitors - выберите тип мониторинга для health check бэкенда. Есть 3 предустановленных типа мониторинга: default_tcp_monitor default_http_monitor default_https_monitor
С их параметрами вы можете ознакомиться на вкладке "Service Monitoring", там же вы можете добавить свой тип мониторинга.
В данном примере мы будет использовать предустановленый тип "default_https_monitor"
Transparent - Чтобы внутренние серверы видели реальные source IP клиентов и Edge выступал в качестве шлюза по умолчанию, включите переключатель Transparent. Если он выключен, трафик для внутренних серверов идет с source IP балансировщика.
Для добавления серверов в пул нажмите кнопку "+" в разделе "Members"

Заполните: Name* - задайте имя, Это имя члена пула, то есть оно может не совпадать с именем ВМ IP Address* - укажите IP-адрес сервера на который он будет получать запросы Port* укажите порт, на который сервер будет получать трафик. Monitor Port - введите порт для health check (Monitor healthcheck), если требуется Weight - введите вес — с его помощью можно регулировать пропорциональное количество получаемого трафика для конкретного члена пула. Max Connections - введите максимальное количество соединений к серверу. Min Connections - введите минимальное количество соединений, которое должен обработать сервер, прежде чем трафик будет перенаправлен следующему члену пула.
Для добавления сервера нажмите "Keep".
Добавьте таким образом другие сервера в пул. В данном примере мы добавили web01 и web02


После того как нужные параметры указали для пула и добавили все серверы (Members) в пул, сохраните настройки пула нажав кнопку "Keep".
5. Для более полного управления трафиком нужно настроить Application Profiles.
Перейдите на вкладку "Application Profiles" и нажмите кнопку "+" для создания профиля.
Name* - задайте имя профиля Type - выберите тип трафика, для которого профиль будет применен. Enable SSL Passthrough - активируйте, чтобы Edge перестал терминировать SSL и терминация происходила непосредственно на серверах, для которых выполняется балансировка. Persistence - выберите, по какому параметру сохранять и отслеживать данные сеанса
Поля могут быть не доступны для редактирования так как есть зависимость от других полей. Например, Insert X-Forwarded-For HTTP header - чтобы определять исходный IP-адрес клиента, подключающегося к веб-серверу через балансировщик. Опция доступна если выбран тип трафика https и отключен Enable SSL Passthrough. В таком случае требуется в конфигурационных файлах веб-сервера вносить изменения, чтобы логировал заголовок X-Forwarded-For HTTP header. Для этого обратитесь к документации вашего веб-сервера.
Enable Pool Side SSL - Опция доступна если выбран тип трафика https и отключен Enable SSL Passthrough.
Можно указать какой сертификат использовать, если выбран тип трафика https и включен Enable Pool Side SSL. SSL сертификат предварительно нужно добавить на вкладке Certificates.

Сохраните настройки профиля нажав кнопку "Keep".
6. Перейдите на вкладку "Virtual Servers" и нажмите кнопку "+" для создания виртуального сервера балансировки
Enable Virtual Server - активируйте виртуальный сервер Application Profile - выберите ранее созданный профиль Name* - задайте имя виртуального сервера IP Address* - укажите IP на котром виртуальный сервер будет принимать запросы Protocol* - укажите протокол Port* - укажите порт на котором виртуальный сервер будет принимать запросы Default Pool - укажите пул серверов на который нужно будет отправлять принятые запросы Connection Limit - можно указать максимальное количество одновременных соединений, которые может обработать виртуальный сервер. Connection Rate Limit (CPS) - можно укажить максимальное количество новых входящих запросов в секунду.

Сохраните настройки виртуального сервера нажав кнопку "Keep".
7. Активируйте балансировщик, для этого перейдите на вкладку "Global Configuration" В блоке "Status" включите "Enabled", здесь можно еще активировать "Acceleration Enabled".
Enable Logging - можно включить логирование. События будут отправляться на syslog server, который указан на вкладке "Edge Settings".

Для сохранения изменений нажмите "Save".
8. Если вы активировали балансировщик, то в NAT автоматически добавляется правило DNAT c описанием loadBalancer

Не забудьте в firewall разрешить трафик на этот IP и порт.
В данном случае настроена балансировка сайта HTTPS. Если нужно, чтоб пользователей с http перенаправлено на https, то вам нужно дополнительно настроить балансировщик http.
|