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

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

Esimene osa. Sissejuhatus
Teine osa. Firewali ja NAT-i reeglite seadistamine
Kolmas osa. DHCP seadistamine
Neljas osa. MarĆĄrutimise seadistamine

Eelmises osas rÀÀkisime NSX Edge'i vĂ”imetest staatilise ja dĂŒnaamilise marĆĄrutimise kontekstis ning tĂ€na uurime koormuse tasakaalustajat.
Enne seadistamise alustamist tahaksin lĂŒhidalt meenutada peamisi koormuse tasakaalustamise tĂŒĂŒpe.

Teooria

Praegused koormuse tasakaalustamise lahendused jagunevad tavaliselt kaheks kategooriaks: koormuse tasakaalustamine neljandal (transport) ja seitsmendal (rakendus) tasemel mudelis. OSIOSI mudel ei ole parim juhtpunkt tasakaalustamismeetodite kirjeldamiseks. NÀiteks, kui L4 koormuse tasakaalustaja toetab ka TLS-i lÔpetamist, kas siis muutub see L7 tasakaalustajaks? Aga mis on, see on.

  • L4 koormuse tasakaalustaja on kĂ”ige sagedamini vaheline proxy, mis asub kliendi ja kavaliteetide tagumise kogumi vahel ning lĂ”petab TCP-ĂŒhendused (st vastab SYN-ile), valib tagumise serveri ja algatab temaga uue TCP-seansi, saates iseseisvalt SYN-i. See tĂŒĂŒp on ĂŒks alusteist, kuid vĂ”imalused pole piiratud.
  • L7 koormuse tasakaalustaja jagab liiklust kavaliteetide vahel „peenemalt“ kui L4 koormuse tasakaalustaja. See vĂ”ib tagumise serveri valimise otsuse langetada nt HTTP sĂ”numi sisu (URL, kĂŒpsised jne) pĂ”hjal.

ÜkskĂ”ik millise tĂŒĂŒbi puhul vĂ”ib koormuse tasakaalustaja toetada jĂ€rgmisi funktsioone:

  • Teenuste avastamine – protsess, millega mÀÀratakse kindlaks kavaliteetide kogum (Static, DNS, Consul, Etcd jms).
  • Leitud tagumise serveri töökindluse kontrollimine (aktiivne „pingimine“ HTTP-pĂ€ringu kaudu, passiivne probleemide avastamine TCP-ĂŒhendustes, jĂ€rjestikuste 503 HTTP-koodide olemasolu vastustes jne).
  • Ise koormuse tasakaalustamine (round robin, juhuslik valik, allika IP-hash, URI).
  • TLS-i lĂ”petamine ja sertifikaatide kontrollimine.
  • Turvafunktsioonidega seotud vĂ”imalused (autentimine, DoS-rĂŒnnakute vĂ€ltimine, kiiruspiirangud) ja palju muud.

NSX Edge pakub koormuse tasakaalustaja kahe juurutamismoodi tuge:

Proxy-reĆŸiim ehk one-arm. Sellise reĆŸiimi puhul kasutab NSX Edge taotluse saatmisel ĂŒhe bĂ€ndi IP-aadressi allika aadressina. Nii tĂ€idab koormuse tasakaalustaja samaaegselt nii Allika kui Kahtluse NAT funktsioone. BĂ€nd nĂ€eb kogu liiklust kui saadetud koormuse tasakaalustajast ja vastab sellele otse. Sellisel skeemil peab koormuse tasakaalustaja olema samas vĂ”rgusegmentis sisemiste serveritega.

Nii see töötab:
1.       Kasutaja esitab taotluse VIP-aadressile (koormuse tasakaalustaja aadress), mis on seadistatud Edge'ile.
2.       Edge valib ĂŒhe bĂ€ndidest ja teostab sihtkoha NAT, asendades VIP-aadressi valitud bĂ€ndi aadressiga.
3.       Edge teostab allika NAT, asendades taotluse saatnud kasutaja aadressi oma isiklikuga.
4.       Pakett saadetakse valitud bÀndile.
5.       BÀnd vastab mitte otse kasutajale, vaid Edge'ile, sest kasutaja algne aadress muudeti koormuse tasakaalustaja aadressiks.
6.       Edge edastab serveri vastuse kasutajale.
Allolev skeem.
VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

LĂ€bipaistev, vĂ”i inline, reĆŸiim. Selles stsenaariumis on koormuse tasakaalustajal liidesed sise- ja vĂ€listesse vĂ”rkudesse. SisevĂ”rgule ei ole otsest juurdepÀÀsu vĂ€lisest. Sisseehitatud koormuse tasakaalustaja toimib NAT gateway'na virtuaalmasinate jaoks sisevĂ”rgus.

Mehhanism on jÀrgmine:
1.       Kasutaja esitab taotluse VIP-aadressile (koormuse tasakaalustaja aadress), mis on seadistatud Edge'ile.
2.       Edge valib ĂŒhe bĂ€ndidest ja teostab sihtkoha NAT, asendades VIP-aadressi valitud bĂ€ndi aadressiga.
3.       Pakett saadetakse valitud bÀndile.
4.       BÀnd saab taotluse originaali aadressiga (allika NAT'i ei teostatud) ja vastab sellele otse.
5.       Liiklus vÔetakse uuesti vastu koormuse tasakaalustaja poolt, kuna inline skeemis toimib see tavaliselt vaikimisi vÀravana serverite farmi jaoks.
6.       Edge teostab allika NAT'i, et saata liiklus kasutajale, kasutades oma VIP-d allika IP-aadressina.
Allolev skeem.
VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Praktika

Minu testkeskkonnas on seadistatud 3 serverit Apache'iga, mis on seadistatud HTTPS-i töötamiseks. Edge teostab HTTPS-i taotluste tasakaalustamist round robin meetodiga, edastades iga uue taotluse uuele serverile.
Hakkame pihta.

KĂŒpsetame SSL-sertifikaadi, mida NSX Edge kasutab
Saate importida kehtiva CA-sertifikaadi vÔi kasutada isekirjutatud. Selles testis kasutan iseallkirjastatud sertifikaati.

  1. vCloud Director'i liidese kaudu liikuda Edge'i teenuste seadete juurde.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. Liigume Sertifikaadid vahelehele. Toimingute nimekirjast valige uue CSR-i lisamine.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  3. TÀida vajalikud vÀljad ja vajuta Keep.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  4. Vali just loodud CSR ja vali valik self-sign CSR.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  5. Vali sertifikaadi kehtivusaeg ja vajuta Keep.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  6. Isesigneeritud sertifikaat on ilmunud saadavalolevate hulka.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Seadista Rakenduse Profiil.
Rakenduse profiilid annavad suurema kontrolli vĂ”rgu liikluse ĂŒle ja muudavad selle haldamise lihtsaks ja tĂ”husaks. Nende abil on vĂ”imalik mÀÀrata kĂ€itumine konkreetse liikluse tĂŒĂŒbi jaoks.

  1. Minna Load Balancer vahelehele ja aktiveerida tasakaalustaja. Valik Acceleration enabled vÔimaldab tasakaalustajal kasutada kiiremat L4 tasakaalustust L7 asemel.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. Mine Rakenduse profiili vahelehele, et mÀÀrata rakenduse profiil. Vajuta +.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  3. MÀÀrake profiili nimi ja valige liikluse tĂŒĂŒp, millele profiil rakendub. Selgitan mĂ”ningaid parameetreid.
    Persistence – salvestab ja jĂ€lgib kasutusseansi andmeid, nĂ€iteks: milline konkreetne server basseinist teenindab kasutaja pĂ€ringut. See tagab, et kasutaja pĂ€ringud suunatakse kogu seansi vĂ”i jĂ€rgnevate seansside vĂ€ltel samasse basseiniliikmesse.
    Enable SSL passthrough – kui see valik on valitud, NSX Edge lĂ”petab SSL-i. Selle asemel toimub lĂ”petamine otse serverites, millele tasakaalustamine toimub.
    Insert X-Forwarded-For HTTP header – vĂ”imaldab mÀÀrata kliendi algse IP-aadressi, kes ĂŒhendub veebiserveriga tasakaalustaja kaudu.
    Enable Pool Side SSL – vĂ”imaldab mĂ€rkida, et valitud bassein koosneb HTTPS-serveritest.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  4. Kuna ma tasakaalustan HTTPS-liiklust, pean lubama Pool Side SSL-i ja valima varem genereeritud sertifikaadi Virtual Server Certificates vahelehelt → Service Certificate.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  5. Sarnaselt Pool Certificates → Service Certificate.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Loome serverite basseini, mille juurde liiklus tasakaalustatakse Pools.

  1. Mine Pools vahelehele. Vajuta +.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. MÀÀrake basseini nimi, valige algoritm (kasutan round robin) ja tervisekontrolli tĂŒĂŒbi jaoks. Valik Transparent nĂ€itab, kas kliendi algsed IP-d on sise-serverite jaoks nĂ€htavad.
    • Kui valik on vĂ€lja lĂŒlitatud, tuleb sise-serveritele liiklus tasakaalustaja algse IP-ga.
    • Kui valik on sisse lĂŒlitatud, nĂ€evad sise-serverid klientide algset IP-aadressi. Sellises konfiguratsioonis peab NSX Edge olema vaikimisi lĂŒhiĂŒhendus, et tagada, et tagastatud paketid lĂ€hevad lĂ€bi NSX Edge.

    NSX toetab jÀrgmisi koormuse tasakaalustamise algoritme:

    • IP_HASH – serveri valik pĂ”hineb hash-funktsiooni tulemustel, mis arvutatakse iga paketi source ja destination IP jaoks.
    • LEASTCONN – sissetulevate ĂŒhenduste tasakaalustamine, sĂ”ltuvalt juba olemasolevate ĂŒhenduste arvust konkreetses serveris. Uued ĂŒhendused suunatakse serverisse, kus on kĂ”ige vĂ€hem ĂŒhendusi.
    • ROUND_ROBIN – uued ĂŒhendused saadetakse iga serveri juurde jĂ€rjestikku vastavalt mÀÀratud kaalule.
    • URI – URI vasak pool (kuni kĂŒsimĂ€rkide) hashitakse ja jagatakse serverite kogukaalu jĂ€rgi. Tulemuseks on see, milline server saab pĂ€ringu, tagades, et pĂ€ring saadetakse alati samasse serverisse, kuni kĂ”ik serverid jÀÀvad kĂ€ttesaadavaks.
    • HTTPHEADER – tasakaalustamine pĂ”hineb kindlal HTTP pĂ€isel, mida saab mÀÀrata parameetrina. Kui pĂ€is puudub vĂ”i ei oma mingit vÀÀrtust, rakendatakse algoritmi ROUND_ROBIN.
    • URL – igas HTTP GET pĂ€ringus otsitakse URL-i parameetrit, mis on mÀÀratud argumendiks. Kui parameetri jĂ€rel on vĂ”rdsuse mĂ€rk ja vÀÀrtus, siis vÀÀrtus hashitakse ja jagatakse kĂ€imasolevate serverite kogukaalu jĂ€rgi. Tulemuseks on see, milline server saab pĂ€ringu. Selle protsessi eesmĂ€rk on jĂ€lgida kasutaja id-d pĂ€ringutes ja tagada, et sama kasutaja id saadetakse alati samasse serverisse, kuni kĂ”ik serverid jÀÀvad kĂ€ttesaadavaks.

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

  3. Members plokis vajuta +, et lisada serverid gruppi.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

    Siia tuleb mÀrkida:
    • serveri nimi;
    • serveri IP-aadress;
    • port, millele server saab liiklust;
    • port tervise kontrollimiseks (Monitor healthcheck);
    • kaal (Weight) – selle parameetriga saab reguleerida koormuse jaotust konkreetse grupi liikme vahel;
    • Max Connections – maksimaalne ĂŒhenduste arv serverisse;
    • Min Connections – minimaalne ĂŒhenduste arv, mida server peab töötlema, enne kui liiklus suunatakse jĂ€rgmisele grupi liikmed.

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

    Nii nÀeb vÀlja lÔplik grupp kolmest serverist.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Lisame Virtuaalse Serveri

  1. Liigume virtuaalsete serverite vahekaardile. Vaja on vajutada +.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. Aktiveerime virtuaalse serveri nuppu Enable Virtual Server.
    Anname sellele nime, valime varasemalt loodud rakenduse profiili, bassein ja mÀÀrame IP-aadressi, kuhu Virtuaalne Server vÀljastpoolt pÀringud vastu vÔtab. MÀÀra protokoll HTTPS ja port 443.
    Valikulised parameetrid siin:
    Ühenduse limiit – maksimaalne samal ajal avatud ĂŒhenduste arv, mida virtuaalne server saab töödelda;
    Ühenduse mÀÀramise limiit (CPS) – maksimaalne uute sissetulevate pĂ€ringute arv sekundis.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Sellega on koormustasakaalu konfiguratsioon lĂ”petatud, nĂŒĂŒd saab selle töökindlust kontrollida. Serveritel on kĂ”ige lihtsam konfiguratsioon, mis vĂ”imaldab mĂ”ista, milline server basseinist pĂ€ringu töötleb. Seadistamise ajal valisime koormuse jaotusmeetodiks Round Robin ning iga serveri kaal on ĂŒks, seega töödeldakse iga jĂ€rgmine pĂ€ring jĂ€rgmise serveri poolt basseinist.
Sisestame brauserisse koormustasakaalu vÀlise aadressi ja nÀeme:
VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

PÀrast lehe vÀrskendamist töödeldakse pÀring jÀrgmisel serveril:
VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

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

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

Kontrollime koormustasakaalu staatust Edge gateway konsoolist. Selle jaoks sisestage show service loadbalancer pool.
VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Seadistame teenuse seire koondamiseks serverite olekute kontrollimiseks basseinist
Teenuse seire abil saame jÀlgida serverite olekuid tagapool seotud basseinides. Kui pÀringu vastus ei vasta oodatavale, saab serveri basseinist vÀlja jÀtta, et see ei saaks uusi pÀringuid.
VaikesÀtetena on seadistatud kolm kontrollimise meetodit:

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

Loome uue.

  1. Liigume teenuse seiramise vahekaardile, vajutame +.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. Valime:
    • uue meetodi nime;
    • intervall, mille jooksul pĂ€ringud saadetakse,
    • vastuse ootamise aja limit,
    • seire tĂŒĂŒp – HTTPS pĂ€ring kasutades meetodit GET, oodatav staatuse kood – 200 (OK) ja pĂ€ringu URL.
  3. Sellega on uue teenuse seire seadistus lĂ”petatud, nĂŒĂŒd saame seda basseinide loomisel kasutada.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Seadistame rakenduse reegleid

Rakenduse reeglid – liikluse manipuleerimise viis, mis pĂ”hineb teatud kĂ€ivitajatel. Selle tööriista abil saame luua laiendatud koormuse jaotusreegleid, mille seadistamine vĂ”ib olla vĂ”imatu lĂ€bi rakenduse profiilide vĂ”i teiste teenuste, mis on saadaval Edge Gateway's.

  1. LĂ€bi rakenduse reeglite vahekaardi loome reegli tasakaalustaja jaoks.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  2. Valime nime, skripti, mis kasutab reeglit, ja vajutame Hoia.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  3. PĂ€rast reegli loomist tuleb meil redigeerida juba seatud Virtuaalserverit.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine
  4. Vahekaardil TĂ€iendavad lisame meie loodud reegli.
    VMware NSX kÔige vÀiksematele. Osa 5. Laadimisseadmise seadistamine

Eeltoodud nÀites aktiveerisime tlsv1 toe.

Veel mÔned nÀited:

Liiklus suunamine teise gruppi.
Selle skripti abil saame suunata liikluse teise tasakaalustamisrĂŒhma, kui pĂ”higrupp ei tööta. Reegli toimimiseks peab tasakaalustaja olema konfigureerinud mitu gruppi ja kĂ”ik pĂ”higruppi kuuluvad liikmed peavad olema seisundis down. Tuleb mĂ€rkida rĂŒhma nimi, mitte selle ID.

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

Liiklus suunamine vÀlishankijale.
Siin suuname liikluse vÀlishaavale veebisaidile, kui kÔik pÔhigruppi kuuluvad liikmed on seisundis down.

acl pool_down nbsrv(NIME_TIIGI) eq 0
suuna asukoht http://www.example.com, kui pool_down

Veel rohkem nÀiteid siit.

Sellel meie tasakaalustaja teema lĂ”petan. Kui on kĂŒsimusi, kĂŒsige, olen valmis vastama.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster