VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Lehen zatia. sarrera
Bigarren zatia. Firewall eta NAT arauak konfiguratzea
Hirugarren zatia. DHCP konfiguratzen
Laugarren zatia. Bideratzearen konfigurazioa

Azken aldian NSX Edge-ren gaitasunei buruz hitz egin genuen bideratze estatiko eta dinamikoari dagokionez, eta gaur karga-orekatzaileaz arituko gara.
Konfiguratzen hasi baino lehen, oreka mota nagusiak gogorarazi nahi nituzke laburki.

teoria

Gaur egungo karga orekatzeko irtenbide guztiak bi kategoriatan banatzen dira gehienetan: ereduaren laugarren (garraioa) eta zazpigarren (aplikazioa) mailetan orekatzea. EDO BADA. OSI eredua ez da erreferentzia-puntu onena orekatzeko metodoak deskribatzerakoan. Adibidez, L4 orekatzaile batek TLS amaiera ere onartzen badu, L7 orekatzaile bihurtzen al da? Baina zer den.

  • Balantzailea L4 Gehienetan, bezeroaren eta eskuragarri dauden backend multzo baten artean dagoen erdiko proxy bat da, TCP konexioak amaitzen dituena (hau da, SYN-i modu independentean erantzuten diona), backend bat hautatu eta TCP saio berri bat hasten du bere norabidean, modu independentean SYN bidaliz. Mota hau oinarrizkoetako bat da; beste aukera batzuk posible dira.
  • Balantzailea L7 trafikoa eskuragarri dauden backendetan banatzen du L4 orekatzaileak baino "sofistikatuago". Zein backend aukeratu erabaki dezake, adibidez, HTTP mezuaren edukiaren arabera (URLa, cookiea, etab.).

Mota edozein dela ere, orekatzaileak funtzio hauek onartzen ditu:

  • Zerbitzuaren aurkikuntza backend erabilgarrien multzoa zehazteko prozesua da (Estatikoa, DNS, Kontsul, Etcd, etab.).
  • Detektatutako backend-en funtzionaltasuna egiaztatzea (backend-aren "ping" aktiboa HTTP eskaera erabiliz, TCP konexioetan arazoen hautemate pasiboa, erantzunetan 503 HTTP kode ugari egotea, etab.).
  • Orekatzea bera (round robin, ausazko hautaketa, iturburu IP hash, URI).
  • TLS amaiera eta ziurtagiriaren egiaztapena.
  • Segurtasunarekin lotutako aukerak (autentifikazioa, DoS erasoen prebentzioa, abiadura mugatzea) eta askoz gehiago.

NSX Edge-k karga orekatzeko bi inplementazio moduetarako laguntza eskaintzen du:

Proxy modua, edo beso bakarrekoa. Modu honetan, NSX Edge-k bere IP helbidea erabiltzen du iturri-helbide gisa eskaera bat backendetako batera bidaltzean. Horrela, orekatzaileak aldi berean Iturburu eta Helmuga NAT funtzioak betetzen ditu. Backend-ak trafiko guztia orekatzailetik bidalitakoa ikusten du eta zuzenean erantzuten dio. Eskema horretan, orekatzaileak sareko segmentu berean egon behar du barne zerbitzariekin.

Hona hemen nola doa:
1. Erabiltzaileak eskaera bat bidaltzen du Edge-n konfiguratuta dagoen VIP helbidera (orekatzailearen helbidea).
2. Edge-k backendetako bat hautatzen du eta helburuko NAT egiten du, VIP helbidea hautatutako backendaren helbidearekin ordezkatuz.
3. Edge-k iturburuko NAT egiten du, eskaera bidali duen erabiltzailearen helbidea berearekin ordezkatuz.
4. Paketea hautatutako backendera bidaltzen da.
5. Backend-ak ez dio zuzenean erantzuten erabiltzaileari, Edgeri baizik, erabiltzailearen jatorrizko helbidea orekatzailearen helbidera aldatu baita.
6. Edge-k zerbitzariaren erantzuna transmititzen dio erabiltzaileari.
Diagrama behean dago.
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Modu gardena edo lerroan. Egoera honetan, orekatzaileak interfazeak ditu barneko eta kanpoko sareetan. Aldi berean, ez dago barruko sarerako sarbide zuzenik kanpokotik. Karga-orekatzaileak barneko sareko makina birtualen NAT atebide gisa funtzionatzen du.

Mekanismoa honakoa da:
1. Erabiltzaileak eskaera bat bidaltzen du Edge-n konfiguratuta dagoen VIP helbidera (orekatzailearen helbidea).
2. Edge-k backendetako bat hautatzen du eta helburuko NAT egiten du, VIP helbidea hautatutako backendaren helbidearekin ordezkatuz.
3. Paketea hautatutako backendera bidaltzen da.
4. Backendak eskaera bat jasotzen du erabiltzailearen jatorrizko helbidearekin (iturburu NAT ez zen egin) eta zuzenean erantzuten dio.
5. Trafikoa berriro onartzen du karga-orekatzaileak, lineako eskema batean zerbitzari-baserriko atebide lehenetsi gisa jokatzen baitu.
6. Edge-k iturburuko NAT egiten du erabiltzaileari trafikoa bidaltzeko, bere VIP iturburu IP helbide gisa erabiliz.
Diagrama behean dago.
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Praktika

Nire proba-bankuak Apache exekutatzen duten 3 zerbitzari ditu, HTTPS bidez lan egiteko konfiguratuta dagoena. Edge-k HTTPS eskaeren round robin orekatzea egingo du, eskaera berri bakoitza zerbitzari berri batera proxyz.
Has gaitezen

NSX Edge-k erabiliko duen SSL ziurtagiria sortzea
Baliozko CA ziurtagiri bat inporta dezakezu edo norberak sinatutako bat erabil dezakezu. Proba honetarako autosinatua erabiliko dut.

  1. vCloud Director interfazean, joan Edge zerbitzuen ezarpenetara.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Joan Ziurtagiriak fitxara. Ekintzen zerrendan, hautatu CSR berri bat gehitzea.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  3. Bete beharrezko eremuak eta egin klik Mantendu.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  4. Hautatu sortu berri den CSR eta hautatu auto-sinatu CSR aukera.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  5. Hautatu ziurtagiriaren balio-epea eta egin klik Mantendu
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  6. Norberak sinatutako ziurtagiria eskuragarri daudenen zerrendan agertzen da.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Aplikazio-profila konfiguratzea
Aplikazio-profilek sareko trafikoaren kontrol osoagoa ematen dizute eta kudeaketa erraza eta eraginkorra egiten dute. Trafiko mota zehatzetarako portaera definitzeko erabil daitezke.

  1. Joan Load Balancer fitxara eta gaitu orekatzailea. Hemen Azelerazioa gaituta dagoen aukerak orekatzaileak L4 orekatze azkarragoa erabil dezake L7ren ordez.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Joan aplikazioaren profila fitxara aplikazioaren profila ezartzeko. Egin klik +.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  3. Ezarri profilaren izena eta hautatu zer trafiko motari aplikatuko zaion profila. Utzidazu parametro batzuk azaltzen.
    Iraunkortasuna – saioaren datuak gordetzen eta jarraipena egiten ditu, adibidez: igerilekuko zerbitzari zehatzak erabiltzailearen eskaerari zerbitzua ematen dion. Horrek bermatzen du erabiltzaileen eskaerak igerilekuko kide berera bideratzen direla saioaren edo ondorengo saioen bizitza osoan.
    Gaitu SSL passthrough – Aukera hau hautatzen denean, NSX Edge-k SSL amaitzeari uzten dio. Horren ordez, amaiera zuzenean orekatzen ari diren zerbitzarietan gertatzen da.
    Txertatu X-Forwarded-For HTTP goiburua – karga-orekatzailearen bidez web zerbitzariarekin konektatzen den bezeroaren iturburu IP helbidea zehazteko aukera ematen du.
    Gaitu Pool Side SSL – aukeratutako igerilekua HTTPS zerbitzariez osatuta dagoela zehazteko aukera ematen du.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  4. HTTPS trafikoa orekatuko dudanez, Pool Side SSL gaitu behar dut eta aurretik sortutako ziurtagiria hautatu Zerbitzari Birtualaren Ziurtagiriak -> Zerbitzu Ziurtagiria fitxan.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  5. Era berean, Pool ziurtagiriak -> Zerbitzu ziurtagiria.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Zerbitzarien multzo bat sortzen dugu, eta trafikoa igerileku orekatua izango da

  1. Joan Igerilekuak fitxara. Egin klik +.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Igerilekuaren izena ezarriko dugu, algoritmoa hautatuko dugu (round robin erabiliko dut) eta osasun-kontrolaren backendaren monitorizazio mota.Gardenak aukerak adierazten du bezeroen hasierako iturburu IPak barne zerbitzarientzat ikusgai dauden ala ez.
    • Aukera desgaituta badago, barne zerbitzarien trafikoa orekatzailearen iturburu IPtik dator.
    • Aukera gaituta badago, barne zerbitzariek bezeroen iturburu IPa ikusten dute. Konfigurazio honetan, NSX Edge-k atebide lehenetsi gisa jokatu behar du itzulitako paketeak NSX Edge-tik igarotzen direla ziurtatzeko.

    NSX-k orekatzeko algoritmo hauek onartzen ditu:

    • IP_HASH – zerbitzariaren hautaketa pakete bakoitzaren iturburuko eta helmugako IP hash funtzio baten emaitzetan oinarrituta.
    • LASTCONN – Sarrerako konexioen orekatzea, zerbitzari jakin batean dagoeneko eskuragarri dagoen kopuruaren arabera. Konexio berriak konexio gutxien dituen zerbitzarira zuzenduko dira.
    • ROUND_ROBIN – txandaka zerbitzari bakoitzari konexio berriak bidaltzen zaizkio, esleitutako pisuaren arabera.
    • URI – URIaren ezkerreko zatia (galdera ikurraren aurretik) hash egiten da eta igerilekuko zerbitzarien pisu osoaren arabera zatitzen da. Emaitzak eskaera zein zerbitzari jasotzen duen adierazten du, eskaera beti zerbitzari berera bideratzen dela ziurtatuz, zerbitzari guztiak erabilgarri jarraitzen duten bitartean.
    • HTTP HEADER – HTTP goiburu zehatz batean oinarritutako orekatzea, parametro gisa zehaztu daitekeena. Goiburua falta bada edo baliorik ez badu, ROUND_ROBIN algoritmoa aplikatuko da.
    • URL – HTTP GET eskaera bakoitzak argumentu gisa zehaztutako URL parametroa bilatzen du. Parametroari berdin-ikurra eta balio bat atzetik badator, orduan balioa hashed eta exekutatzen ari diren zerbitzarien pisu osoaren arabera zatitzen da. Emaitzak adierazten du zein zerbitzariak jasotzen duen eskaera. Prozesu hau eskaeretan erabiltzailearen IDen jarraipena egiteko eta erabiltzaile-ID bera zerbitzari berera beti bidaltzen dela ziurtatzeko erabiltzen da, beti ere zerbitzari guztiak erabilgarri jarraitzen duten bitartean.

    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

  3. Kideak blokean, sakatu + zerbitzariak igerilekuan gehitzeko.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

    Hemen adierazi behar duzu:

    • zerbitzariaren izena;
    • Zerbitzariaren IP helbidea;
    • zerbitzariak trafikoa jasoko duen ataka;
    • osasun-egiaztapenerako ataka (Monitor healthcheck);
    • pisua - parametro hau erabiliz igerilekuko kide jakin baterako jasotako trafiko kopuru proportzionala doi dezakezu;
    • Gehienezko konexioak - zerbitzarirako gehienezko konexio kopurua;
    • Gutxieneko konexioak: zerbitzariak prozesatu behar duen gutxieneko konexio kopurua trafikoa hurrengo igerilekuko kideari birbidaltzeko.

    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

    Hau da hiru zerbitzarien azken multzoa.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Zerbitzari birtuala gehitzea

  1. Joan Zerbitzari Birtualak fitxara. Egin klik +.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Zerbitzari birtuala Gaitu zerbitzari birtuala erabiliz aktibatzen dugu.
    Izen bat ematen diogu, aurretik sortutako Aplikazio Profila, Pool hautatu eta Zerbitzari Birtualak kanpoko eskaerak jasoko dituen IP helbidea adierazten dugu. HTTPS protokoloa eta 443 ataka zehazten ditugu.
    Aukerako parametroak hemen:
    Konexio muga – zerbitzari birtualak prozesatu ditzakeen aldibereko konexioen gehienezko kopurua;
    Konexio-tasa muga (CPS) – segundoko sarrerako eskaera berrien gehienezko kopurua.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Honek orekatzailearen konfigurazioa osatzen du; bere funtzionaltasuna egiaztatu dezakezu. Zerbitzariek konfigurazio sinple bat dute, igerilekuko zerbitzariak eskaera prozesatu duen ulertzeko aukera ematen duena. Konfigurazioan, Round Robin orekatzeko algoritmoa aukeratu dugu, eta zerbitzari bakoitzaren Pisuaren parametroa berdina da, beraz, hurrengo eskaera bakoitza igerilekuko hurrengo zerbitzariak prozesatuko du.
Balantzailearen kanpoko helbidea sartzen dugu arakatzailean eta ikusiko dugu:
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Orria freskatu ondoren, eskaera hurrengo zerbitzariak prozesatuko du:
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Eta berriro - igerilekuko hirugarren zerbitzaria egiaztatzeko:
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Egiaztatzean, Edge-k bidaltzen digun ziurtagiria hasieran sortu genuen bera dela ikus dezakezu.

Edge atebideko kontsolatik orekatzailearen egoera egiaztatzea. Horretarako, sartu Erakutsi zerbitzuaren karga orekatzeko igerilekua.
VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Zerbitzu-monitorea konfiguratzea igerilekuko zerbitzarien egoera egiaztatzeko
Service Monitor erabiliz, backend igerilekuan zerbitzarien egoera kontrolatu dezakegu. Eskaera baten erantzuna espero bezalakoa ez bada, zerbitzaria igerilekutik atera daiteke, eskaera berririk jaso ez dezan.
Lehenespenez, hiru egiaztapen-metodo konfiguratuta daude:

  • TCP-monitorea,
  • HTTP monitorea,
  • HTTPS monitorea.

Sor dezagun berri bat.

  1. Joan Zerbitzuaren Jarraipena fitxara, egin klik +.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Aukeratu:
    • metodo berriaren izena;
    • eskaerak bidaliko diren tartea,
    • denbora-muga erantzunaren zain,
    • monitorizazio mota - HTTPS eskaera GET metodoa erabiliz, espero den egoera kodea - 200 (OK) eta eskaera URLa.
  3. Honek Service Monitor berriaren konfigurazioa amaituko du; orain igerileku bat sortzean erabil dezakegu.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Aplikazio-arauak ezartzea

Aplikazio-arauak abiarazle jakin batzuetan oinarritutako trafikoa manipulatzeko modu bat dira. Tresna honekin karga orekatzeko arau aurreratuak sor ditzakegu, Aplikazio profilen edo Edge Gateway-n eskuragarri dauden beste zerbitzu batzuen bidez posible ez direnak.

  1. Arau bat sortzeko, joan orekatzailearen Aplikazio-arauak fitxara.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  2. Hautatu izen bat, araua erabiliko duen script bat eta egin klik Mantendu.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  3. Araua sortu ondoren, dagoeneko konfiguratutako Zerbitzari Birtuala editatu behar dugu.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea
  4. Aurreratua fitxan, gehitu guk sortutako araua.
    VMware NSX txikientzako. 5. zatia: Load Balancer bat konfiguratzea

Goiko adibidean tlsv1 euskarria gaitu dugu.

Adibide pare bat gehiago:

Birbideratu trafikoa beste igerileku batera.
Script honekin trafikoa beste oreka-igerileku batera birbideratu dezakegu, igerileku nagusia behera badago. Arauak funtziona dezan, hainbat igerileku konfiguratu behar dira orekatzailean eta igerileku nagusiko kide guztiek beherako egoeran egon behar dute. Igerilekuaren izena zehaztu behar duzu, ez bere IDa.

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

Birbideratu trafikoa kanpoko baliabide batera.
Hemen trafikoa kanpoko webgunera birbideratzen dugu igerileku nagusiko kide guztiak behera badaude.

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

Are adibide gehiago Hemen.

Hori da niretzat orekariari buruz. Galderarik baduzu, galdetu, prest nago erantzuteko.

Iturria: www.habr.com

Gehitu iruzkin berria