VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Esimene osa. Sissejuhatus
Teine osa. Firewalli ja NAT-i reeglite seadistamine
Kolmas osa. DHCP seadistamine
Neljas osa. Suunamise seadistamine

Eelmisel korral rÀÀkisime NSX Edge'i vĂ”imalustest staatilise ja dĂŒnaamilise marsruutimise osas, tĂ€na aga uurime koormuse tasakaalustajat.
Enne seadistamise alustamist sooviksin lĂŒhidalt meenutada peamisi tasakaalustamise tĂŒĂŒpe.

Teooria

KÔik tÀnapÀeva koormuse tasakaalustamise lahendused jagunevad enamasti kaheks kategooriaks: tasakaalustamine neljandas (transport) ja seitsmendas (rakenduse) tasemes. OSI. OSI mudel ei ole parim viidatud punkt tasakaalustamismeetodite kirjeldamiseks. NÀiteks, kui L4 tasakaalustaja toetab ka TLS-i lÔpetamist, kas ta muutub sel juhul L7 tasakaalustajaks? Aga mis seal siis ikka.

  • L4 tasakaalustaja tavaliselt esindab vahekohtuniku sĂŒsteemi, mis asub kliendi ja saadaolevate tagapoolsete vahel, lĂ”petades TCP-ĂŒhendused (st vastates iseseisvalt SYN-le), valib tagapoolse ja algatab tema suunas uue TCP-seansi, saates iseseisvalt SYN. See tĂŒĂŒp on ĂŒks pĂ”hilisi, olemas on ka teisi variante.
  • L7 tasakaalustaja suunab liiklust saadaval olevate tagaplaanide vahel „keerukamalt” kui L4- tasandi koormuse jaotur. See suudab tagaplaani valikute tegemisel arvestada nĂ€iteks HTTP-sĂ”numi sisu (URL, kĂŒpsis jne).

Olenemata tĂŒĂŒbist, koormuse jaotur vĂ”ib toetada jĂ€rgmisi funktsioone:

  • Teenuste avastamine – protsess saadaval olevate tagaplaanide (Static, DNS, Consul, Etcd jne) mÀÀramiseks.
  • Avastatud tagaplaanide töökontroll (aktiivne „ping” HTTP-pĂ€ringu abil, probleemide passiivne avastamine TCP-ĂŒhendustes, mitu jĂ€rjestikust 503 HTTP-koodi vastustes jne).
  • Koormuse jaotamine (ringikujuline, juhuslik valik, allika IP-hashing, URI).
  • TLS-i lĂ”petamine ja sertifikaatide valideerimine.
  • Turvalisuse tagamisega seotud valikud (autentimine, DoS-rĂŒnnakute ennetamine, kiiruspiirang) ja palju muud.

NSX Edge pakub toetust kaheks koormuse jaoturi juurutamise reĆŸiimiks:

ProxireĆŸiim, ehk one-arm. Selles reĆŸiimis kasutab NSX Edge pĂ€ringu saatmisel ĂŒhele tagasuunamisdestinaatorist IP-aadressi allika aadressina. Seega tĂ€idab tasakaalustaja samaaegselt nii Source kui ka Destination NAT funktsioone. Tagasuunamisdestinaator nĂ€eb kogu liiklust kui tasakaalustajalt saadetud ja vastab sellele otse. Sellises skeemis peab tasakaalustaja olema samas vĂ”rgu segmendis sisemiste serveritega.

Nii see toimub:
1.       Kasutaja saadab pÀringu VIP-aadressile (tasakaalustaja aadress), mis on konfigureeritud Edge'il.
2.       Edge valib ĂŒhe tagasuunamisdestinaatoritest ja teostab sihtkoha NAT, asendades VIP-aadressi valitud tagasuunamisdestinaatori aadressiga.
3.       Edge teostab allika NAT, asendades pÀringu saatva kasutaja aadressi oma enda aadressiga.
4.       Pakett saadetakse valitud tagasuunamisdestinaatorile.
5.       Tagasuunamisdestinaator ei vasta otse kasutajale, vaid Edge'ile, kuna algne kasutaja aadress oli muudetud tasakaalustaja aadressiks.
6.       Edge edastab serveri vastuse kasutajale.
Allolev skeem.
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

LĂ€bipaistev vĂ”i inline reĆŸiim. Selles stsenaariumis on koormuse tasakaalustajal liideseid nii sise- kui ka vĂ€lisvĂ”rgus. VĂ€lisest vĂ”rgust ei ole sisevĂ”rku otsesele ligipÀÀsule.

Mehanism on jÀrgmine:
1.       Kasutaja saadab pÀringu VIP-aadressile (tasakaalustaja aadress), mis on konfigureeritud Edge'il.
2.       Edge valib ĂŒhe tagasuunamisdestinaatoritest ja teostab sihtkoha NAT, asendades VIP-aadressi valitud tagasuunamisdestinaatori aadressiga.
3.       Paket saadetakse valitud taustteenusele.
4.       Taustteenus saab pÀringu kasutaja algse aadressiga (source NAT ei ole teostatud) ja vastab sellele otse.
5.       Liiklus vÔetakse taas vastu koormuse tasakaalustaja poolt, kuna inline skeemis toimib see tavaliselt serverifarmi vaikevÀravana.
6.       Edge teostab source NAT, et saata liiklust kasutajale, kasutades oma VIP-d source IP-aadressina.
Allolev skeem.
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Praktika

Minu testimise keskuses on seadistatud 3 serverit, mille Apache on konfigureeritud töötama HTTPS-iga. Edge teostab HTTPS-pÀringute koormuse tasakaalustamist round robin meetodiga, edastades iga uue pÀringu uuele serverile.
Alustame.

Genereerime SSL-sertifikaadi, mida kasutab NSX Edge.
Saate importida kehtiva CA-sertifikaadi vÔi kasutada iseenese allkirjastatud sertifikaati. Selles testis kasutan iseenese allkirjastatud sertifikaati.

  1. vCloud Director'i liideses liigume Edge teenuste seadete juurde.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. Liigume sertifikaatide vahekaardile. Tegevuste loendist valime uue CSR lisamise.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  3. TÀidame vajalikud vÀljad ja vajutame Keep.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  4. Valime just loodud CSR-i ja valime valiku self-sign CSR.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  5. Valime sertifikaadi kehtivusaja ja vajutame Keep.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  6. Enesepoolt allkirjastatud sertifikaat ilmus saadavalolevate hulka.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Seame Application Profile'i.
Rakendusprofiilid annavad tĂ€ieliku kontrolli vĂ”rgu liikluse ĂŒle ning muudavad selle haldamise lihtsaks ja tĂ”husaks. Nende abil saab mÀÀrata kĂ€itumise konkreetsetele liiklustĂŒĂŒpidele.

  1. Liigume Load Balancer'i vahekaardile ja aktiveerime tasakaalustamise. Valik Acceleration enabled aitab tasakaalustajal kasutada kiiremaks L4 tasakaalustamist L7 asemel.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. Liigume rakendusprofiili vahekaardile, et mÀÀrata rakendusprofiil. Vajutage +.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  3. MÀÀrame profiili nime ja valime liikluse tĂŒĂŒbi, millele profiil kehtib. Selgitan mĂ”ningaid parameetreid.
    Persistence – salvestab ja jĂ€lgib sessiooni andmeid, nĂ€iteks: milline konkreetne server teenindab kasutaja pĂ€ringut. See tagab, et kasutaja pĂ€ringud suunatakse kogu sessiooni vĂ”i jĂ€rgmiste sessioonide vĂ€ltel sama grupi liikme juurde.
    Luba SSL'i edasiviimine – kui see valik on valitud, NSX Edge enam SSL'i ei termineeri. Selle asemel toimub termineerimine otse serverites, millele toimub koormuse jaotamine.
    Sisesta X-Forwarded-For HTTP pĂ€is – vĂ”imaldab mÀÀrata kliendi algse IP-aadressi, kes ĂŒhendub veebiserveriga koormuse jaotaja kaudu.
    Luba rĂŒhma poolne SSL – vĂ”imaldab mÀÀrata, et valitud rĂŒhm koosneb HTTPS-serveritest.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  4. Kuna ma balanseerin HTTPS-liiklust, tuleb lubada rĂŒhma poolne SSL ja valida eelnevalt genereeritud sertifikaat vahekaardilt Virtuaalserveri Sertifikaadid —> Teenuse Sertifikaat.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  5. Sama kehtib ka rĂŒhma Sertifikaatide —> Teenuse Sertifikaadi kohta.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Loome serverite rĂŒhma, millele liiklus jaotatakse

  1. Liigume vahekaardile RĂŒhmad. KlĂ”psame +.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. MÀÀrame partii nime, valime algoritmi (kasutan ringjuhitust) ja jĂ€lgimise tĂŒĂŒbi bĂ€nneri tervisekontrolli jaoks. Valik Transparent nĂ€itab, kas algsed kliendi allika IP-d on nĂ€htavad sisemistele serveritele.
    • Kui valik on keelatud, siis sisemistele serveritele edastatav liiklus tuleb tasakaalustajast allika IP-ga.
    • Kui valik on lubatud, nĂ€evad sisemised serverid klientide allika IP-d. Sellise konfiguratsiooni puhul peab NSX Edge olema vaikimisi vĂ€rav, et tagada tagasisaadetavate pakettide lĂ€bimine NSX Edge'ist.

    NSX toetab jÀrgmisi tasakaalustamisalgorithme:

    • IP_HASH – serveri valik pĂ”hineb hash-funktsiooni tulemuste alusel iga paketi allika ja siht-IP jaoks.
    • LEASTCONN – sisenemisseoste tasakaalustamine sĂ”ltub juba olemasolevate seoste arvust konkreetses serveris. Uued seosed suunatakse serverisse, kus on kĂ”ige vĂ€hem seoseid.
    • ROUND_ROBIN – uued seosed saadetakse vaheldumisi igasse serverisse vastavalt mÀÀratud kaalule.
    • URI – URI vasak osa (kuni kĂŒsimĂ€rgini) on hÀÀlestatud ja jagatud serverite kogukaaluga. Tulemuseks on see, milline server saab pĂ€ringu, tagades, et pĂ€ring suunatakse alati ĂŒhte ja samasse serverisse, kuni kĂ”ik serverid on endiselt kĂ€ttesaadavad.
    • HTTPHEADER – tasakaalustamine pĂ”hineb kindlal HTTP-pealkirjal, mida saab mÀÀrata parameetrina. Kui pealkiri puudub vĂ”i ei oma mingit vÀÀrtust, rakendatakse ROUND_ROBIN algoritmi.
    • URL – igas HTTP GET pĂ€ringus otsib URL-i parameetrit, mis on mÀÀratud argumendina. Kui parameetrile jĂ€rgneb vĂ”rdusmĂ€rk ja vÀÀrtus, siis vÀÀrtus hÀÀlestatakse ja jagatakse kĂ€ivitatud serverite kogukaaluga. Tulemuseks on see, milline server saab pĂ€ringu. Seda protsessi kasutatakse kasutaja ID-de jĂ€lgimiseks pĂ€ringutes ja tagamiseks, et sama kasutaja ID saadetakse alati ĂŒhte ja samasse serverisse, kuni kĂ”ik serverid on endiselt kĂ€ttesaadavad.

    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

  3. Liikmete blokis vajutage +, et lisada serverid puuli.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

    1. Elasticsearch serveri aadress (seatakse installimise ajal).
    • serveri nimi;
    • serveri IP-aadress;
    • port, kuhu server saab liiklust;
    • health check'i port (Monitor healthcheck);
    • kaal (Weight) – selle parameetri abil saab reguleerida konkreetse basseini liikme jaoks saadud liikluse proportsionaalset hulka;
    • Max Connections – maksimaalne ĂŒhenduste arv serverisse;
    • Min Connections – minimaalne ĂŒhenduste arv, mida server peab töötlema, enne kui liiklus suunatakse jĂ€rgmisele basseini liikmele.

    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

    Nii nÀeb vÀlja lÔppbassein kolmest serverist.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Lisame Virtuaalse Serveri

  1. Liigume Virtuaalsete Serverite vahekaardile. Vajutame +.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. Aktiveerime virtuaalse serveri, kasutades Enable Virtual Server.
    MÀÀrame nime, valime varem loodud Rakenduse Profiili, Basseini ja nÀitame IP-aadressi, kuhu Virtuaalne Server vÀljastpoolt pÀringuid vastu vÔtab. Valime protokolliks HTTPS ja pordiks 443.
    Siin on valikulised parameetrid:
    Connection Limit – maksimaalne arv samaaegseid ĂŒhendusi, mida virtuaalne server suudab töödelda;
    Connection Rate Limit (CPS) – maksimaalne arv uusi sissetulevaid pĂ€ringuid sekundis.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Selle konfiguratsiooni koormuse jaotaja lĂ”petamine on nĂŒĂŒdseks tehtud ja saab kontrollida selle tööd. Serveritel on lihtne konfiguratsioon, mis vĂ”imaldab mĂ”ista, milline server grupist on pĂ€ringut töötlenud. Seadistuse kĂ€igus valisime Round Robin tasakaalustamismeetodi ja iga serveri kaal on ĂŒks, seega töödeldakse iga jĂ€rgmine pĂ€ring jĂ€rgmise serveri poolt grupist.
Sisestame brauserisse koormuse jaotaja vÀlise aadressi ja nÀeme:
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

PÀrast lehe uuendamist töödeldakse pÀring jÀrgmise serveri poolt:
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Ja veel kord – et kontrollida ka kolmandat serverit grupist:
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Kontrollimisel on nÀha, et sertifikaat, mille Edge meile saadab, on just see, mille genereerisime alguses.

Kontrollige koormuse jaotaja staatust Edge gateway konsoolist. Selleks sisestage show service loadbalancer pool.
VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Seadistame teenuse monitori serverite seisundi kontrollimiseks grupis
Teenuse monitori abil saame jÀlgida serverite seisundit tagapool grupis. Kui pÀringu vastus ei vasta ootusele, saab serveri grupist eemaldada, et see ei saaks uusi pÀringuid.
Vaikimisi on seadistatud kolm kontrollimise meetodit:

  • TCP-monitor,
  • HTTP-monitor,
  • HTTPS-monitor.

Loome uus.

  1. Liigume jaotisse Service Monitoring, klÔpsame +.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. Valime:
    • uue meetodi nime;
    • intervall, millega pĂ€ringud saadetakse,
    • ootamise aja piirang,
    • monitooringu tĂŒĂŒp – HTTPS pĂ€ring, kasutades meetodit GET, oodatav staatuse kood – 200 (OK) ja pĂ€ringu URL.
  3. Sellega on uue Service Monitori seadistamine lĂ”petatud, nĂŒĂŒd saame seda kasutada puu loomisel.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Seame Application Rules

Application Rules – liikluse kĂ€sitlemise meetod, mis pĂ”hineb teatud vallandajatel. Selle tööriistaga saame luua tĂ€iustatud koormuse tasakaalustamise reegleid, mille seadistamine vĂ”ib olla vĂ”imatu lĂ€bi Application profiles vĂ”i teiste teenuste, mis on saadaval Edge Gatewayl.

  1. Reegli loomiseks liigume koormuse tasakaalustaja jaotisse Application Rules.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  2. Valime nime, skripti, mis reeglit kasutab, ja klÔpsame Keep.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  3. PĂ€rast reegli loomist peame redigeerima juba seadistatud Virtual Serverit.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine
  4. Jaotises Advanced lisame meie loodud reegli.
    VMware NSX kÔige vÀiksematele. Osa 5. Koormuse tasakaalustaja seadistamine

Ülaltoodud nĂ€ites aktiveerisime tlsv1 toe.

Veel mÔned nÀited:

Liikluse suunamine teise puusse.
Selle skripti abil saame suunata liiklust teise tasakaalustusgruppi, kui pÔhigrupp ei toimi. Et reegel rakenduks, peab tasakaalustajal olema konfigureeritud mitu gruppi ja kÔik pÔhigrupi liikmed peavad olema seisundis 'down'. Tuleb nÀidata just grupi nime, mitte selle ID-d.

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

Liikluse ĂŒmber suunamine vĂ€listesse allikatesse.
Siin suuname liikluse vÀlish veebisaidile, kui kÔik pÔhigrupi osalised on seisundis 'down'.

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

Veel rohkem nÀiteid siin.

Sellega on tasakaalustaja teemad kaetud. Kui on kĂŒsimusi, kĂŒsige, vastan meeleldi.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster