ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Први део. уводни
Други део. Конфигурисање заштитног зида и НАТ правила
Трећи део. Конфигурисање ДХЦП-а
Четврти део. Подешавање рутирања

Прошли пут смо говорили о могућностима НСКС Едге-а у смислу статичког и динамичког рутирања, а данас ћемо се позабавити балансатором оптерећења.
Пре него што почнемо да постављамо, желео бих да вас укратко подсетим на главне врсте балансирања.

Теорија

Сва данашња решења за балансирање терета најчешће се деле у две категорије: балансирање на четвртом (транспорт) и седмом (апликациони) нивоу модела. ОСИ. ОСИ модел није најбоља референтна тачка када се описују методе балансирања. На пример, ако Л4 балансер такође подржава ТЛС терминацију, да ли онда постаје Л7 балансер? Али то је оно што јесте.

  • Баланцер Л4 најчешће је то средњи прокси који стоји између клијента и скупа доступних позадина, који прекида ТЦП везе (тј. независно одговара на СИН), бира бацкенд и покреће нову ТЦП сесију у његовом правцу, независно шаљући СИН. Овај тип је један од основних, могуће су и друге опције.
  • Баланцер Л7 дистрибуира саобраћај преко доступних позадинских система „софистицираније“ од Л4 балансера. Може одлучити који бацкенд да изабере на основу, на пример, садржаја ХТТП поруке (УРЛ, колачић, итд.).

Без обзира на тип, балансер може да подржи следеће функције:

  • Откривање услуге је процес одређивања скупа доступних позадина (Статиц, ДНС, Цонсул, Етцд, итд.).
  • Провера функционалности откривених бацкенд-а (активан „пинг“ бацкенд-а помоћу ХТТП захтева, пасивно откривање проблема у ТЦП конекцијама, присуство неколико 503 ХТТП кодова у одговорима, итд.).
  • Само балансирање (роунд робин, случајни избор, изворни ИП хасх, УРИ).
  • Престанак ТЛС-а и верификација сертификата.
  • Опције везане за безбедност (аутентификација, превенција ДоС напада, ограничење брзине) и још много тога.

НСКС Едге нуди подршку за два режима примене балансера оптерећења:

Прокси режим, или једноручни. У овом режиму, НСКС Едге користи своју ИП адресу као изворну адресу када шаље захтев једном од позадинских делова. Дакле, балансер истовремено обавља функције изворног и одредишног НАТ-а. Позадина види сав саобраћај као послат из балансера и одговара директно на њега. У таквој шеми, балансер мора бити у истом сегменту мреже са интерним серверима.

Ево како то иде:
1. Корисник шаље захтев на ВИП адресу (адресу балансера) која је конфигурисана на Едге-у.
2. Едге бира један од позадинских делова и извршава одредишни НАТ, замењујући ВИП адресу адресом изабраног позадинског дела.
3. Едге врши изворни НАТ, замењујући адресу корисника који је послао захтев својом.
4. Пакет се шаље на изабрану позадину.
5. Бацкенд не реагује директно на корисника, већ на Едге, пошто је оригинална адреса корисника промењена у адресу балансера.
6. Едге преноси одговор сервера кориснику.
Дијаграм је испод.
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Транспарентни или инлине режим. У овом сценарију, балансер има интерфејсе на интерној и екстерној мрежи. Истовремено, не постоји директан приступ интерној мрежи са спољне. Уграђени балансатор оптерећења делује као НАТ гатеваи за виртуелне машине на интерној мрежи.

Механизам је следећи:
1. Корисник шаље захтев на ВИП адресу (адресу балансера) која је конфигурисана на Едге-у.
2. Едге бира један од позадинских делова и извршава одредишни НАТ, замењујући ВИП адресу адресом изабраног позадинског дела.
3. Пакет се шаље на изабрану позадину.
4. Бацкенд прима захтев са оригиналном адресом корисника (изворни НАТ није обављен) и директно одговара на њега.
5. Саобраћај поново прихвата балансатор оптерећења, пошто у инлине шеми обично делује као подразумевани пролаз за фарму сервера.
6. Едге врши изворни НАТ да пошаље саобраћај кориснику, користећи свој ВИП као изворну ИП адресу.
Дијаграм је испод.
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Пракса

Моја тестна клупа има 3 сервера који користе Апацхе, који је конфигурисан да ради преко ХТТПС-а. Едге ће извршити кружно балансирање ХТТПС захтева, проксијући сваки нови захтев новом серверу.
Хајде да почнемо.

Генерисање ССЛ сертификата који ће користити НСКС Едге
Можете да увезете важећи ЦА сертификат или да користите самопотписани. За овај тест користићу самопотписане.

  1. У интерфејсу вЦлоуд Дирецтор идите на подешавања Едге услуга.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Идите на картицу Сертификати. Са листе радњи изаберите додавање новог ЦСР-а.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  3. Попуните обавезна поља и кликните на Задржи.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  4. Изаберите новокреирани ЦСР и изаберите опцију за самопотписивање.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  5. Изаберите период важења сертификата и кликните на Задржи
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  6. Самопотписани сертификат се појављује на листи доступних.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Подешавање профила апликације
Профили апликација вам дају потпунију контролу над мрежним саобраћајем и чине управљање једноставним и ефикасним. Могу се користити за дефинисање понашања за одређене врсте саобраћаја.

  1. Идите на картицу Лоад Баланцер и омогућите балансер. Опција омогућена за убрзање овде омогућава балансеру да користи брже балансирање Л4 уместо Л7.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Идите на картицу Профил апликације да бисте подесили профил апликације. Кликните на +.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  3. Подесите назив профила и изаберите тип саобраћаја за који ће профил бити примењен. Дозволите ми да објасним неке параметре.
    Истрајност – складишти и прати податке о сесији, на пример: који одређени сервер у скупу опслужује кориснички захтев. Ово осигурава да се захтеви корисника усмеравају ка истом члану скупа током животног века сесије или наредних сесија.
    Омогући ССЛ пролаз – Када је ова опција изабрана, НСКС Едге престаје да прекида ССЛ. Уместо тога, прекид се дешава директно на серверима који се балансирају.
    Уметните ХТТП заглавље Кс-Форвардед-Фор – омогућава вам да одредите изворну ИП адресу клијента који се повезује на веб сервер преко балансера оптерећења.
    Омогући ССЛ на страни базена – омогућава вам да наведете да се изабрани скуп састоји од ХТТПС сервера.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  4. Пошто ћу балансирати ХТТПС саобраћај, морам да омогућим ССЛ на страни базена и да изаберем претходно генерисани сертификат на картици Виртуелни серверски сертификати -> Сертификат услуге.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  5. Слично за Поол сертификате -> Сертификат услуге.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Креирамо скуп сервера, чији ће саобраћај бити балансирани

  1. Идите на картицу Базени. Кликните на +.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Постављамо име базена, бирамо алгоритам (користићу роунд робин) и тип надгледања за позадину провере здравља. Опција Транспарентна показује да ли су почетни изворни ИП-ови клијената видљиви интерним серверима.
    • Ако је опција онемогућена, саобраћај за интерне сервере долази са изворне ИП адресе балансера.
    • Ако је опција омогућена, интерни сервери виде изворну ИП адресу клијената. У овој конфигурацији, НСКС Едге мора да делује као подразумевани мрежни пролаз како би се осигурало да враћени пакети пролазе кроз НСКС Едге.

    НСКС подржава следеће алгоритме балансирања:

    • ИП_ХАСХ – избор сервера на основу резултата хеш функције за изворну и одредишну ИП адресу сваког пакета.
    • ЛЕАСТЦОНН – балансирање долазних веза, у зависности од броја који је већ доступан на одређеном серверу. Нове везе ће бити усмерене на сервер са најмање конекција.
    • РАЗИГРАВАЊЕ – нове везе се шаљу сваком серверу редом, у складу са тежином која му је додељена.
    • УРИ – леви део УРИ-ја (пре знака питања) се хешује и дели са укупном тежином сервера у групи. Резултат показује који сервер прима захтев, обезбеђујући да се захтев увек преусмерава на исти сервер, све док су сви сервери доступни.
    • ХТТПХЕАДЕР – балансирање засновано на специфичном ХТТП заглављу, које се може навести као параметар. Ако заглавље недостаје или нема никакву вредност, примењује се алгоритам РОУНД_РОБИН.
    • УРЛ адреса – Сваки ХТТП ГЕТ захтев тражи УРЛ параметар наведен као аргумент. Ако параметар прати знак једнакости и вредност, онда се вредност хешује и дели са укупном тежином покренутих сервера. Резултат показује који сервер прима захтев. Овај процес се користи за праћење корисничких ИД-ова у захтевима и за осигурање да се исти кориснички ИД увек шаље истом серверу, све док су сви сервери доступни.

    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

  3. У блоку Чланови кликните на + да додате сервере у скуп.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

    Овде треба да наведете:

    • име сервера;
    • Серверова ајпи адреса;
    • порт на коме ће сервер примати саобраћај;
    • порт за здравствену проверу (Монитор хеалтхцхецк);
    • тежина – помоћу овог параметра можете подесити пропорционалну количину примљеног саобраћаја за одређеног члана групе;
    • Мак Цоннецтионс – максимални број конекција са сервером;
    • Мин. Цоннецтионс – минимални број веза које сервер мора да обради пре него што се саобраћај прослеђује следећем члану скупа.

    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

    Овако изгледа коначни скуп од три сервера.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Додавање виртуелног сервера

  1. Идите на картицу Виртуелни сервери. Кликните на +.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Виртуелни сервер активирамо користећи Енабле Виртуал Сервер.
    Дајемо му име, бирамо претходно креирани Профил апликације, Поол и означавамо ИП адресу на коју ће Виртуелни сервер примати захтеве споља. Наводимо ХТТПС протокол и порт 443.
    Опциони параметри овде:
    Ограничење везе – максималан број истовремених веза које виртуелни сервер може да обради;
    Ограничење брзине везе (ЦПС) – максималан број нових долазних захтева у секунди.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Ово завршава конфигурацију балансера; можете проверити његову функционалност. Сервери имају једноставну конфигурацију која вам омогућава да разумете који сервер из скупа је обрадио захтев. Приликом подешавања изабрали смо Роунд Робин алгоритам за балансирање, а параметар Веигхт за сваки сервер је једнак један, тако да ће сваки следећи захтев обрадити следећи сервер из пула.
У претраживач уносимо спољну адресу балансера и видимо:
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Након освежавања странице, захтев ће обрадити следећи сервер:
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

И опет - да проверите трећи сервер из пула:
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Приликом провере можете видети да је сертификат који нам Едге шаље исти онај који смо генерисали на самом почетку.

Провера статуса балансера са Едге гатеваи конзоле. Да бисте то урадили, унесите схов сервице лоадбаланцер поол.
ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Конфигурисање Сервице Монитор-а за проверу статуса сервера у групи
Користећи Сервице Монитор можемо пратити статус сервера у бацкенд поол-у. Ако одговор на захтев није очекиван, сервер се може извадити из скупа тако да не прима нове захтеве.
Подразумевано су конфигурисана три метода верификације:

  • ТЦП-монитор,
  • ХТТП монитор,
  • ХТТПС-монитор.

Хајде да направимо нову.

  1. Идите на картицу Надгледање услуге, кликните на +.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Изаберите:
    • назив за нови метод;
    • интервал у коме ће се захтеви слати,
    • време чекања на одговор,
    • тип праћења – ХТТПС захтев користећи ГЕТ метод, очекивани статусни код – 200(ОК) и УРЛ захтева.
  3. Овим је завршено подешавање новог сервисног монитора; сада га можемо користити када креирамо скуп.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

Постављање правила апликације

Правила апликације су начин да се манипулише саобраћајем на основу одређених покретача. Помоћу овог алата можемо креирати напредна правила за балансирање оптерећења која можда неће бити могућа кроз профиле апликације или друге услуге доступне на Едге Гатеваи-у.

  1. Да бисте креирали правило, идите на картицу „Правила апликације“ балансера.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  2. Изаберите име, скрипту која ће користити правило и кликните на Задржи.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  3. Након креирања правила, потребно је да уредимо већ конфигурисани виртуелни сервер.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења
  4. На картици Напредно додајте правило које смо креирали.
    ВМваре НСКС за најмлађе. Део 5: Конфигурисање балансера оптерећења

У горњем примеру смо омогућили подршку за тлсв1.

Још пар примера:

Преусмери саобраћај на други скуп.
Са овом скриптом можемо да преусмеримо саобраћај на други балансни скуп ако главни скуп не ради. Да би правило функционисало, више скупова мора бити конфигурисано на балансеру и сви чланови главног скупа морају бити у неактивном стању. Морате да наведете име базена, а не његов ИД.

acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME

Преусмери саобраћај на спољни ресурс.
Овде преусмеравамо саобраћај на спољну веб локацију ако сви чланови главног скупа не раде.

acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down

Још више примера овде.

То је све за мене у вези балансера. Ако имате питања, питајте, спреман сам да одговорим.

Извор: ввв.хабр.цом

Додај коментар