VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Esimene osa. sissejuhatav
Teine osa. Tulemüüri ja NAT-reeglite konfigureerimine
Kolmas osa. DHCP konfigureerimine
Neljas osa. Marsruutimise seadistamine

Eelmisel korral rääkisime NSX Edge'i võimalustest staatilise ja dünaamilise marsruutimise osas ning täna tegeleme koormuse tasakaalustajaga.
Enne seadistamise alustamist tahaksin teile lühidalt meelde tuletada peamisi tasakaalustamise liike.

Теория

Kõik tänapäevased kasuliku koormuse tasakaalustamise lahendused jagunevad kõige sagedamini kahte kategooriasse: tasakaalustamine mudeli neljandal (transport) ja seitsmendal (rakendus) tasemel. OSI. OSI mudel ei ole tasakaalustamismeetodite kirjeldamisel parim võrdluspunkt. Näiteks kui L4 tasakaalustaja toetab ka TLS-i lõpetamist, siis kas sellest saab siis L7 tasakaalustaja? Aga see on, mis see on.

  • Tasakaalustaja L4 enamasti on see keskmine puhverserver, mis asub kliendi ja saadaolevate taustaprogrammide komplekti vahel, mis lõpetab TCP-ühendused (st vastab iseseisvalt SYN-ile), valib taustaprogrammi ja algatab selle suunas uue TCP-seansi, saates iseseisvalt SYN-i. See tüüp on üks põhilistest, võimalikud on ka muud võimalused.
  • Tasakaalustaja L7 jaotab liiklust saadaolevate taustaprogrammide vahel "keerulisemalt" kui L4 tasakaalustaja. See võib näiteks HTTP-sõnumi sisu (URL, küpsis jne) põhjal otsustada, millist taustaprogrammi valida.

Olenemata tüübist võib tasakaalustaja toetada järgmisi funktsioone:

  • Teenuse avastamine on saadaolevate taustaprogrammide (staatiline, DNS, konsul, jne jne) määramise protsess.
  • Tuvastatud taustaprogrammide funktsionaalsuse kontrollimine (taustaprogrammi aktiivne "ping" HTTP päringu abil, TCP-ühenduste probleemide passiivne tuvastamine, mitme 503 HTTP-koodi olemasolu vastustes jne).
  • Tasakaalustamine ise (ringhääling, juhuslik valik, allika IP-räsi, URI).
  • TLS-i lõpetamine ja sertifikaadi kontrollimine.
  • Turvalisusega seotud valikud (autentimine, DoS rünnakute vältimine, kiiruse piiramine) ja palju muud.

NSX Edge pakub tuge kahele koormuse tasakaalustaja juurutusrežiimile:

Puhverserveri režiim või ühe käega. Selles režiimis kasutab NSX Edge oma IP-aadressi lähteaadressina, kui saadab päringu ühele taustaprogrammidest. Seega täidab tasakaalustaja samaaegselt Source ja Destination NAT funktsioone. Taustaprogramm näeb kogu tasakaalustajast saadetud liiklust ja vastab sellele otse. Sellise skeemi puhul peab tasakaalustaja olema siseserveritega samas võrgusegmendis.

See käib järgmiselt.
1. Kasutaja saadab päringu Edge'is konfigureeritud VIP-aadressile (tasakaaluaadressile).
2. Edge valib ühe taustaprogrammidest ja teostab sihtkoha NAT-i, asendades VIP-aadressi valitud taustaprogrammi aadressiga.
3. Edge teostab lähte-NAT-i, asendades päringu saatnud kasutaja aadressi oma aadressiga.
4. Pakk saadetakse valitud taustaprogrammi.
5. Taustaprogramm ei vasta otse kasutajale, vaid Edge'ile, kuna kasutaja algne aadress on muudetud tasakaalustaja aadressiks.
6. Edge edastab kasutajale serveri vastuse.
Diagramm on allpool.
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Läbipaistev või tekstisisene režiim. Selle stsenaariumi korral on tasakaalustajal sise- ja välisvõrkude liidesed. Samal ajal puudub välisvõrgust otsene juurdepääs sisevõrgule. Sisseehitatud koormuse tasakaalustaja toimib sisevõrgus olevate virtuaalsete masinate NAT-lüüsina.

Mehhanism on järgmine:
1. Kasutaja saadab päringu Edge'is konfigureeritud VIP-aadressile (tasakaaluaadressile).
2. Edge valib ühe taustaprogrammidest ja teostab sihtkoha NAT-i, asendades VIP-aadressi valitud taustaprogrammi aadressiga.
3. Pakk saadetakse valitud taustaprogrammi.
4. Taustaprogramm saab päringu kasutaja algse aadressiga (allika NAT-i ei tehtud) ja vastab sellele otse.
5. Koormuse tasakaalustaja aktsepteerib taas liiklust, kuna siseskeemis toimib see tavaliselt serveripargi vaikelüüsina.
6. Edge teostab kasutajale liikluse saatmiseks lähte-NAT-i, kasutades lähte-IP-aadressina oma VIP-i.
Diagramm on allpool.
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Tava

Minu katsestendil on 3 serverit, kus töötab Apache, mis on konfigureeritud töötama üle HTTPS-i. Edge tasakaalustab HTTPS-i päringuid ümberringi, edastades iga uue päringu uude serverisse.
Alustame.

SSL-sertifikaadi genereerimine, mida NSX Edge kasutab
Saate importida kehtiva CA-sertifikaadi või kasutada iseallkirjastatud sertifikaati. Selle testi jaoks kasutan ise allkirjastatud.

  1. Avage vCloud Directori liideses Edge'i teenuste seaded.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Minge vahekaardile Sertifikaadid. Valige toimingute loendist uue CSR-i lisamine.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  3. Täitke nõutud väljad ja klõpsake nuppu Säilita.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  4. Valige vastloodud CSR ja valige CSR-i iseallkirjastamise valik.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  5. Valige sertifikaadi kehtivusaeg ja klõpsake nuppu Säilita
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  6. Iseallkirjastatud sertifikaat kuvatakse saadaolevate sertifikaatide loendis.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Rakenduse profiili seadistamine
Rakenduste profiilid annavad teile täielikuma kontrolli võrguliikluse üle ning muudavad selle haldamise lihtsaks ja tõhusaks. Neid saab kasutada teatud tüüpi liikluse käitumise määratlemiseks.

  1. Minge vahekaardile Load Balancer ja lubage tasakaalustaja. Siinne valik Kiirendus lubab võimaldab tasakaalustajal kasutada L4 asemel kiiremat L7 tasakaalustamist.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Rakenduse profiili määramiseks minge vahekaardile Rakenduse profiil. Klõpsake +.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  3. Määrake profiili nimi ja valige liikluse tüüp, mille jaoks profiili rakendatakse. Lubage mul selgitada mõningaid parameetreid.
    Püsivus – salvestab ja jälgib seansiandmeid, näiteks: milline konkreetne puuli server kasutaja päringut teenindab. See tagab, et kasutajate päringud suunatakse seansi või järgnevate seansside jooksul samale puuliliikmele.
    SSL-i läbipääsu lubamine – Kui see suvand on valitud, lõpetab NSX Edge SSL-i lõpetamise. Selle asemel toimub lõpetamine otse tasakaalustatavates serverites.
    Sisestage X-Forwarded-For HTTP päis – võimaldab määrata koormuse tasakaalustaja kaudu veebiserveriga ühenduse loova kliendi lähte IP-aadressi.
    Luba basseinipoolne SSL – võimaldab määrata, et valitud kogum koosneb HTTPS-serveritest.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  4. Kuna ma tasakaalustan HTTPS-i liiklust, pean lubama basseinipoolse SSL-i ja valima varem genereeritud sertifikaadi vahekaardil Virtuaalserveri sertifikaadid -> Teenuse sertifikaat.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  5. Samamoodi basseini sertifikaatide jaoks -> teenuse sertifikaat.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Loome serverite basseini, mille liiklus on tasakaalustatud kogumid

  1. Minge vahekaardile Basseinid. Klõpsake +.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Määrame basseini nime, valime algoritmi (kasutan round robin ’i) ja tervisekontrolli taustaprogrammi monitooringu tüübi Valik Transparent näitab, kas klientide algsed lähtekoodid on siseserveritele nähtavad.
    • Kui valik on keelatud, pärineb sisemiste serverite liiklus tasakaalustaja lähte-IP-st.
    • Kui see valik on lubatud, näevad siseserverid klientide lähte-IP-d. Selles konfiguratsioonis peab NSX Edge toimima vaikelüüsina, et tagada tagastatud pakettide läbimine NSX Edge'i kaudu.

    NSX toetab järgmisi tasakaalustamisalgoritme:

    • IP_HASH – serveri valik iga paketi lähte- ja sihtkoha IP räsifunktsiooni tulemuste põhjal.
    • LEASTCONN – sissetulevate ühenduste tasakaalustamine, sõltuvalt konkreetses serveris juba saadaval olevast numbrist. Uued ühendused suunatakse serverisse, millel on kõige vähem ühendusi.
    • ROUND_ROBIN – uued ühendused saadetakse kordamööda igasse serverisse vastavalt sellele määratud kaalule.
    • URI – URI vasak osa (enne küsimärki) räsitakse ja jagatakse basseinis olevate serverite kogukaaluga. Tulemus näitab, milline server päringu saab, tagades, et päring suunatakse alati samasse serverisse, kuni kõik serverid on saadaval.
    • HTTPHEADER – tasakaalustamine konkreetse HTTP päise alusel, mida saab määrata parameetrina. Kui päis puudub või sellel pole väärtust, rakendatakse algoritmi ROUND_ROBIN.
    • URL – Iga HTTP GET-i päring otsib argumendina määratud URL-i parameetrit. Kui parameetrile järgneb võrdusmärk ja väärtus, siis väärtus räsitakse ja jagatakse töötavate serverite kogukaaluga. Tulemus näitab, milline server päringu saab. Seda protsessi kasutatakse päringutes olevate kasutajatunnuste jälgimiseks ja selle tagamiseks, et samasse serverisse saadetakse alati sama kasutaja ID, kuni kõik serverid on saadaval.

    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

  3. Serverite basseini lisamiseks klõpsake plokis Liikmed nuppu +.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

    Siin peate märkima:

    • serveri nimi;
    • serveri IP-aadress;
    • port, mille kaudu server liiklust vastu võtab;
    • tervisekontrolli port (Monitor healthcheck);
    • kaal – selle parameetri abil saate reguleerida konkreetse puuliliikme jaoks vastuvõetud liikluse proportsionaalset hulka;
    • Max Connections – maksimaalne ühenduste arv serveriga;
    • Minimaalsed ühendused – minimaalne ühenduste arv, mida server peab töötlema enne liikluse edastamist järgmisele kogumi liikmele.

    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

    Selline näeb välja lõplik kolmest serverist koosnev kogum.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Virtuaalserveri lisamine

  1. Minge vahekaardile Virtuaalsed serverid. Klõpsake +.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Virtuaalserveri aktiveerime käsuga Enable Virtual Server.
    Anname sellele nime, valime eelnevalt loodud rakendusprofiili, basseini ja näitame IP-aadressi, millele virtuaalserver saab väljastpoolt päringuid. Määrame HTTPS-protokolli ja pordi 443.
    Valikulised parameetrid siin:
    Ühenduse piirang – maksimaalne samaaegsete ühenduste arv, mida virtuaalserver saab töödelda;
    Ühenduskiiruse piirang (CPS) – maksimaalne uute sissetulevate päringute arv sekundis.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

See lõpetab tasakaalustaja seadistamise ja saate kontrollida selle funktsionaalsust. Serveritel on lihtne konfiguratsioon, mis võimaldab teil mõista, milline basseini server päringu töötles. Seadistamise käigus valisime Round Robini tasakaalustamisalgoritmi ja iga serveri parameeter Weight on võrdne ühega, nii et iga järgnevat päringut töötleb basseini järgmine server.
Sisestame brauserisse tasakaalustaja välisaadressi ja näeme:
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Pärast lehe värskendamist töötleb päringut järgmine server:
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Ja veel kord - kolmanda serveri kontrollimiseks basseinist:
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Kontrollides on näha, et sertifikaat, mille Edge meile saadab, on sama, mille genereerisime kohe alguses.

Tasakaalustaja oleku kontrollimine Edge gateway konsoolist. Selleks sisestage show service loadbalancer pool.
VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Service Monitori konfigureerimine basseinis olevate serverite oleku kontrollimiseks
Service Monitori abil saame jälgida taustaprogrammi serverite olekut. Kui vastus päringule ei vasta ootustele, saab serveri basseinist välja viia, et see ei saaks uusi päringuid.
Vaikimisi on konfigureeritud kolm kinnitusmeetodit:

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

Loome uue.

  1. Minge vahekaardile Teenuse jälgimine, klõpsake nuppu +.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Valige:
    • uue meetodi nimi;
    • taotluste saatmise intervall,
    • ajalõpp vastuse ootamisel,
    • jälgimise tüüp – HTTPS-i päring GET-meetodil, eeldatav olekukood – 200(OK) ja päringu URL.
  3. See lõpetab uue Service Monitori seadistamise; nüüd saame seda kasutada basseini loomisel.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Rakendusreeglite seadistamine

Rakendusreeglid on viis liiklusega manipuleerimiseks teatud päästikute alusel. Selle tööriista abil saame luua täpsemaid koormuse tasakaalustamise reegleid, mis ei pruugi olla võimalikud rakenduseprofiilide või muude Edge Gateways saadaolevate teenuste kaudu.

  1. Reegli loomiseks minge tasakaalustaja vahekaardile Rakendusreeglid.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  2. Valige nimi, reeglit kasutav skript ja klõpsake nuppu Säilita.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  3. Pärast reegli loomist peame redigeerima juba konfigureeritud virtuaalserverit.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine
  4. Lisage vahekaardile Täpsemalt meie loodud reegel.
    VMware NSX kõige väiksematele. 5. osa: Koormuse tasakaalustaja konfigureerimine

Ülaltoodud näites lubasime tlsv1 toe.

Paar näidet veel:

Suunake liiklus ümber teise basseini.
Selle skriptiga saame suunata liikluse teise tasakaalustavasse basseini, kui põhikogum on maas. Reegli toimimiseks peab tasakaalustajal olema konfigureeritud mitu kogumit ja kõik põhikogumi liikmed peavad olema maasolekus. Peate määrama basseini nime, mitte selle ID.

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

Suunake liiklus ümber välisele ressursile.
Siin suuname liikluse ümber välisele veebisaidile, kui kõik põhipuuli liikmed ei tööta.

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

Veel rohkem näiteid siin.

See on minu jaoks tasakaaluliikuri kohta kõik. Kui teil on küsimusi, küsige, olen valmis vastama.

Allikas: www.habr.com

Lisa kommentaar