VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Osa yksi. johdannossa
Osa kaksi. Palomuurin ja NAT-sääntöjen määrittäminen
Kolmas osa. DHCP:n konfigurointi
Osa neljä. Reitityksen asetukset

Viime kerralla puhuimme NSX Edgen ominaisuuksista staattisen ja dynaamisen reitityksen suhteen, ja tänään käsittelemme kuormantasainta.
Ennen kuin aloitamme asettamisen, haluaisin lyhyesti muistuttaa sinua tärkeimmistä tasapainotuksista.

teoria

Kaikki nykyiset hyötykuorman tasapainotusratkaisut jaetaan useimmiten kahteen luokkaan: tasapainotukseen mallin neljännellä (kuljetus) ja seitsemännellä (sovellus) tasolla. TAI JOS. OSI-malli ei ole paras vertailukohta tasapainotusmenetelmiä kuvattaessa. Jos esimerkiksi L4-tasapainotin tukee myös TLS-päätettä, tuleeko siitä sitten L7-tasapainotin? Mutta se on mitä se on.

  • Tasapainotin L4 Useimmiten se on asiakkaan ja käytettävissä olevien taustaohjelmien välissä oleva keskimmäinen välityspalvelin, joka katkaisee TCP-yhteydet (eli vastaa itsenäisesti SYN:ään), valitsee taustajärjestelmän ja aloittaa uuden TCP-istunnon sen suuntaan lähettäen itsenäisesti SYN:n. Tämä tyyppi on yksi perustyypeistä, muut vaihtoehdot ovat mahdollisia.
  • Tasapainotin L7 jakaa liikenteen käytettävissä olevien taustajärjestelmien välillä "kehittyneemmin" kuin L4-tasapainotin. Se voi päättää, minkä taustajärjestelmän valitaan esimerkiksi HTTP-viestin sisällön (URL, eväste jne.) perusteella.

Tyypistä riippumatta tasapainotin voi tukea seuraavia toimintoja:

  • Palvelun etsintä on prosessi, jossa määritetään käytettävissä olevien taustaohjelmien joukko (Staattinen, DNS, Consul, jne.).
  • Havaittujen taustaohjelmien toimivuuden tarkistaminen (taustajärjestelmän aktiivinen "ping" HTTP-pyynnön avulla, TCP-yhteyksien ongelmien passiivinen havaitseminen, useiden 503 HTTP-koodien läsnäolo vastauksissa jne.).
  • Itse tasapainotus (round robin, satunnainen valinta, lähde-IP-hash, URI).
  • TLS:n lopettaminen ja varmenteen vahvistus.
  • Turvallisuuteen liittyvät vaihtoehdot (todennus, DoS-hyökkäysten esto, nopeudenrajoitus) ja paljon muuta.

NSX Edge tukee kahta kuormantasaajan käyttöönottotilaa:

Välityspalvelintila tai yksikätinen. Tässä tilassa NSX Edge käyttää IP-osoitettaan lähdeosoitteena lähettäessään pyynnön johonkin taustajärjestelmistä. Siten tasapainotin suorittaa samanaikaisesti Source- ja Destination NAT -toiminnot. Taustaohjelma näkee kaiken liikenteen tasapainottimesta lähetettynä ja vastaa siihen suoraan. Tällaisessa järjestelmässä tasapainottimen on oltava samassa verkkosegmentissä sisäisten palvelimien kanssa.

Näin se menee:
1. Käyttäjä lähettää pyynnön VIP-osoitteeseen (tasapainotusosoitteeseen), joka on määritetty Edgessä.
2. Edge valitsee yhden taustaohjelmista ja suorittaa kohde-NAT:n korvaten VIP-osoitteen valitun taustaohjelman osoitteella.
3. Edge suorittaa lähde-NAT:n ja korvaa pyynnön lähettäneen käyttäjän osoitteen omalla osoitteellaan.
4. Paketti lähetetään valittuun taustajärjestelmään.
5. Backend ei vastaa suoraan käyttäjälle, vaan Edgelle, koska käyttäjän alkuperäinen osoite on muutettu tasapainottimen osoitteeksi.
6. Edge lähettää palvelimen vastauksen käyttäjälle.
Kaavio on alla.
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Läpinäkyvä tai sisäänrakennettu tila. Tässä skenaariossa tasapainottimella on liitännät sisäiseen ja ulkoiseen verkkoon. Samanaikaisesti ulkoisesta ei ole suoraa pääsyä sisäiseen verkkoon. Sisäänrakennettu kuormituksen tasapainotin toimii NAT-yhdyskäytävänä sisäisessä verkossa oleville virtuaalikoneen.

Mekanismi on seuraava:
1. Käyttäjä lähettää pyynnön VIP-osoitteeseen (tasapainotusosoitteeseen), joka on määritetty Edgessä.
2. Edge valitsee yhden taustaohjelmista ja suorittaa kohde-NAT:n korvaten VIP-osoitteen valitun taustaohjelman osoitteella.
3. Paketti lähetetään valittuun taustajärjestelmään.
4. Backend vastaanottaa pyynnön käyttäjän alkuperäisellä osoitteella (lähde-NAT:ta ei suoritettu) ja vastaa siihen suoraan.
5. Kuormantasaaja hyväksyy jälleen liikenteen, koska inline-mallissa se yleensä toimii palvelinfarmin oletusyhdyskäytävänä.
6. Edge suorittaa lähde-NAT:n lähettääkseen liikenteen käyttäjälle käyttämällä sen VIP-osoitetta lähde-IP-osoitteena.
Kaavio on alla.
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Käytäntö

Testipenkissäni on kolme palvelinta, joissa on Apache, joka on määritetty toimimaan HTTPS:n yli. Edge suorittaa HTTPS-pyyntöjen round robin -tasapainotuksen ja välittää jokaisen uuden pyynnön uudelle palvelimelle.
Aloitetaan.

Luodaan SSL-varmenne, jota NSX Edge käyttää
Voit tuoda voimassa olevan CA-varmenteen tai käyttää itse allekirjoitettua varmennetta. Tässä testissä käytän itse allekirjoitettua.

  1. Siirry vCloud Director -käyttöliittymässä Edge-palveluasetuksiin.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Siirry Sertifikaatit-välilehteen. Valitse toimintoluettelosta uuden CSR:n lisääminen.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  3. Täytä vaaditut kentät ja napsauta Säilytä.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  4. Valitse äskettäin luotu CSR ja valitse itse allekirjoitus CSR-vaihtoehto.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  5. Valitse varmenteen voimassaoloaika ja napsauta Säilytä
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  6. Itse allekirjoitettu varmenne näkyy käytettävissä olevien varmenteiden luettelossa.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Sovellusprofiilin määrittäminen
Sovellusprofiilit antavat sinulle täydellisemmän hallinnan verkkoliikenteestä ja tekevät sen hallinnasta yksinkertaista ja tehokasta. Niitä voidaan käyttää määrittämään tietyntyyppisen liikenteen käyttäytymistä.

  1. Siirry Load Balancer -välilehdelle ja ota tasapainotin käyttöön. Kiihdytys käytössä -vaihtoehto sallii tasapainottimen käyttää nopeampaa L4-tasapainotusta L7:n sijaan.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Siirry Sovellusprofiili-välilehdelle asettaaksesi sovellusprofiilin. Napsauta +.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  3. Aseta profiilin nimi ja valitse liikennetyyppi, jolle profiilia käytetään. Selitän joitain parametreja.
    Sitkeys – tallentaa ja seuraa istuntotietoja, esimerkiksi: mikä tietty palvelin poolissa palvelee käyttäjän pyyntöä. Tämä varmistaa, että käyttäjien pyynnöt reititetään samalle poolin jäsenelle istunnon tai sitä seuraavien istuntojen ajan.
    Ota SSL-läpivienti käyttöön – Kun tämä vaihtoehto valitaan, NSX Edge lopettaa SSL:n lopettamisen. Sen sijaan lopettaminen tapahtuu suoraan palvelimilla, joita tasapainotetaan.
    Lisää X-Forwarded-For HTTP-otsikko – mahdollistaa verkkopalvelimeen yhteyden muodostavan asiakkaan lähde-IP-osoitteen määrittämisen kuormituksen tasapainottimen kautta.
    Ota allaspuolen SSL käyttöön – voit määrittää, että valittu pooli koostuu HTTPS-palvelimista.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  4. Koska aion tasapainottaa HTTPS-liikennettä, minun on otettava käyttöön Pool Side SSL ja valittava aiemmin luotu varmenne Virtual Server Certificates -> Service Certificate -välilehdellä.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  5. Samoin allasvarmenteille -> Palveluvarmenne.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Luomme palvelinpoolin, jonka liikenne on tasapainotettuja pooleja

  1. Siirry Uima-altaat-välilehteen. Napsauta +.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Asetamme poolin nimen, valitsemme algoritmin (käytän round robinia) ja valvonnan tyypin kuntotarkastuksen taustajärjestelmää varten.. Transparent-vaihtoehto osoittaa, ovatko asiakkaiden alkuperäiset lähde-IP:t sisäisten palvelimien nähtävissä.
    • Jos vaihtoehto ei ole käytössä, sisäisten palvelimien liikenne tulee tasapainottimen lähde-IP:stä.
    • Jos vaihtoehto on käytössä, sisäiset palvelimet näkevät asiakkaiden lähde-IP-osoitteet. Tässä kokoonpanossa NSX Edgen on toimittava oletusyhdyskäytävänä varmistaakseen, että palautetut paketit kulkevat NSX Edgen kautta.

    NSX tukee seuraavia tasapainotusalgoritmeja:

    • IP_HASH – palvelimen valinta kunkin paketin lähde- ja kohde-IP:n hash-funktion tulosten perusteella.
    • LEASTCONN – saapuvien yhteyksien tasapainottaminen tietyllä palvelimella jo käytettävissä olevan määrän mukaan. Uudet yhteydet ohjataan palvelimelle, jolla on vähiten yhteyksiä.
    • ROUND_ROBIN – uudet yhteydet lähetetään vuorotellen jokaiselle palvelimelle sille osoitetun painon mukaan.
    • URI – URI:n vasen osa (ennen kysymysmerkkiä) tiivistetään ja jaetaan poolissa olevien palvelimien kokonaispainolla. Tulos osoittaa, mikä palvelin vastaanottaa pyynnön ja varmistaa, että pyyntö reititetään aina samalle palvelimelle niin kauan kuin kaikki palvelimet ovat käytettävissä.
    • HTTPHEADER – tasapainotus tietyn HTTP-otsikon perusteella, joka voidaan määrittää parametriksi. Jos otsikko puuttuu tai sillä ei ole arvoa, käytetään ROUND_ROBIN-algoritmia.
    • URL – Jokainen HTTP GET -pyyntö etsii argumentiksi määritettyä URL-parametria. Jos parametria seuraa yhtäläisyysmerkki ja arvo, arvo tiivistetään ja jaetaan käynnissä olevien palvelimien kokonaispainolla. Tulos osoittaa, mikä palvelin vastaanottaa pyynnön. Tätä prosessia käytetään seuraamaan pyyntöjen käyttäjätunnuksia ja varmistamaan, että sama käyttäjätunnus lähetetään aina samalle palvelimelle, kunhan kaikki palvelimet ovat käytettävissä.

    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

  3. Napsauta Jäsenet-lohkossa + lisätäksesi palvelimia pooliin.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

    Tässä sinun on ilmoitettava:

    • palvelimen nimi;
    • Palvelimen IP-osoite;
    • portti, jolla palvelin vastaanottaa liikennettä;
    • portti terveystarkastusta varten (Monitor healthcheck);
    • paino – tällä parametrilla voit säätää tietyn poolin jäsenen vastaanotetun liikenteen suhteellista määrää;
    • Max Connections – yhteyksien enimmäismäärä palvelimeen;
    • Minimiyhteydet – yhteyksien vähimmäismäärä, joka palvelimen on käsiteltävä ennen kuin liikenne välitetään seuraavalle poolin jäsenelle.

    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

    Tältä näyttää lopullinen kolmen palvelimen pooli.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Virtuaalipalvelimen lisääminen

  1. Siirry Virtuaalipalvelimet-välilehteen. Napsauta +.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Aktivoimme virtuaalipalvelimen Enable Virtual Server -toiminnolla.
    Annamme sille nimen, valitsemme aiemmin luodun sovellusprofiilin, poolin ja ilmoitamme IP-osoitteen, johon virtuaalipalvelin vastaanottaa pyynnöt ulkopuolelta. Määritämme HTTPS-protokollan ja portin 443.
    Valinnaiset parametrit täällä:
    Yhteysrajoitus – samanaikaisten yhteyksien enimmäismäärä, jonka virtuaalipalvelin voi käsitellä;
    Yhteysnopeuden raja (CPS) – uusien saapuvien pyyntöjen enimmäismäärä sekunnissa.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Tämä viimeistelee tasapainottimen konfiguroinnin; voit tarkistaa sen toimivuuden. Palvelimilla on yksinkertainen kokoonpano, jonka avulla voit ymmärtää, mikä poolin palvelin käsitteli pyynnön. Asennuksen aikana valitsimme Round Robin -tasapainotusalgoritmin, ja kunkin palvelimen paino-parametri on yhtä suuri kuin yksi, joten jokaisen myöhemmän pyynnön käsittelee poolista seuraava palvelin.
Kirjoitamme tasapainottimen ulkoisen osoitteen selaimeen ja näemme:
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Sivun päivityksen jälkeen seuraava palvelin käsittelee pyynnön:
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Ja jälleen - tarkistaaksesi kolmannen palvelimen poolista:
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Tarkistaessasi näet, että Edgen meille lähettämä varmenne on sama, jonka loimme heti alussa.

Tasapainottimen tilan tarkistus Edge-yhdyskäytäväkonsolista. Voit tehdä tämän syöttämällä näytä palvelu kuormituksen tasapainottaja allas.
VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Service Monitorin määrittäminen tarkistamaan poolissa olevien palvelimien tilaa
Service Monitorin avulla voimme valvoa palvelinten tilaa backend poolissa. Jos vastaus pyyntöön ei ole odotetusti, palvelin voidaan poistaa poolista, jotta se ei vastaanota uusia pyyntöjä.
Oletuksena on määritetty kolme vahvistusmenetelmää:

  • TCP-näyttö,
  • HTTP-näyttö,
  • HTTPS-näyttö.

Luodaan uusi.

  1. Siirry Palvelun valvonta -välilehdelle ja napsauta +.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Valita:
    • uuden menetelmän nimi;
    • aikaväli, jolloin pyynnöt lähetetään,
    • aikakatkaisu odottaa vastausta,
    • seurantatyyppi – HTTPS-pyyntö GET-menetelmällä, odotettu tilakoodi – 200(OK) ja pyynnön URL-osoite.
  3. Tämä viimeistelee uuden Service Monitorin asennuksen; nyt voimme käyttää sitä poolia luotaessa.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Sovellussääntöjen määrittäminen

Sovellussäännöt ovat tapa manipuloida liikennettä tiettyjen laukaisimien perusteella. Tämän työkalun avulla voimme luoda edistyneitä kuormituksen tasapainotussääntöjä, jotka eivät välttämättä ole mahdollisia sovellusprofiilien tai muiden Edge Gatewayn palveluiden kautta.

  1. Luo sääntö siirtymällä tasapainottimen Sovellussäännöt-välilehteen.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  2. Valitse nimi, sääntöä käyttävä komentosarja ja napsauta Säilytä.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  3. Kun sääntö on luotu, meidän on muokattava jo määritettyä virtuaalipalvelinta.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen
  4. Lisää Lisäasetukset-välilehdelle luomamme sääntö.
    VMware NSX pienimmille. Osa 5: Kuormituksen tasaajan määrittäminen

Yllä olevassa esimerkissä otimme käyttöön tlsv1-tuen.

Pari esimerkkiä lisää:

Ohjaa liikenne toiseen pooliin.
Tämän skriptin avulla voimme ohjata liikennettä toiseen tasapainotuspooliin, jos pääpooli on alhaalla. Jotta sääntö toimisi, tasapainottimeen on määritettävä useita pooleja ja kaikkien pääpoolin jäsenten on oltava alas-tilassa. Sinun on määritettävä poolin nimi, ei sen tunnus.

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

Uudelleenohjaa liikenne ulkoiseen resurssiin.
Täällä ohjaamme liikenteen ulkoiselle verkkosivustolle, jos kaikki pääpoolin jäsenet eivät ole käytössä.

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

Vielä lisää esimerkkejä täällä.

Siinä kaikki minulle tasapainottimesta. Jos sinulla on kysyttävää, kysy, olen valmis vastaamaan.

Lähde: will.com

Lisää kommentti