VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

L-ewwel parti. introduttorja
It-tieni parti. Konfigurazzjoni tar-Regoli tal-Firewall u NAT
It-tielet parti. Konfigurazzjoni tad-DHCP
L-erba’ parti. Setup tar-rotot

L-aħħar darba tkellimna dwar il-kapaċitajiet ta 'NSX Edge f'termini ta' routing statiku u dinamiku, u llum se nittrattaw il-load balancer.
Qabel ma nibdew inwaqqfu, nixtieq infakkarkom fil-qosor dwar it-tipi ewlenin ta 'ibbilanċjar.

Теория

Is-soluzzjonijiet kollha tal-lum għall-ibbilanċjar tat-tagħbija spiss huma maqsuma f'żewġ kategoriji: ibbilanċjar fir-raba' (trasport) u s-seba' (applikazzjoni) livelli tal-mudell JEW JEKK. Il-mudell OSI mhuwiex l-aħjar punt ta 'referenza meta jiddeskrivi metodi ta' bilanċ. Pereżempju, jekk balancer L4 jappoġġja wkoll it-terminazzjoni TLS, imbagħad isir balancer L7? Imma huwa dak li hu.

  • Balancer L4 ħafna drabi huwa prokura tan-nofs wieqfa bejn il-klijent u sett ta 'backends disponibbli, li jtemm il-konnessjonijiet TCP (jiġifieri, jirrispondi b'mod indipendenti għal SYN), jagħżel backend u jibda sessjoni TCP ġdida fid-direzzjoni tiegħu, b'mod indipendenti jibgħat SYN. Dan it-tip huwa wieħed minn dawk bażiċi; għażliet oħra huma possibbli.
  • Balancer L7 jiddistribwixxi t-traffiku fuq backends disponibbli "aktar sofistikati" milli jagħmel l-balancer L4. Jista' jiddeċiedi liema backend tagħżel abbażi, pereżempju, tal-kontenut tal-messaġġ HTTP (URL, cookie, eċċ.).

Irrispettivament mit-tip, il-balancer jista 'jappoġġa l-funzjonijiet li ġejjin:

  • L-iskoperta tas-servizz huwa l-proċess tad-determinazzjoni tas-sett ta 'backends disponibbli (Static, DNS, Consul, Etcd, eċċ.).
  • Iċċekkjar tal-funzjonalità tal-backends misjuba ("ping" attiv tal-backend bl-użu ta 'talba HTTP, skoperta passiva ta' problemi fil-konnessjonijiet TCP, il-preżenza ta 'diversi kodiċi HTTP 503 fit-tweġibiet, eċċ.).
  • L-ibbilanċjar innifsu (round robin, għażla każwali, hash IP sors, URI).
  • Terminazzjoni TLS u verifika taċ-ċertifikat.
  • Għażliet relatati mas-sigurtà (awtentikazzjoni, prevenzjoni ta 'attakki DoS, limitazzjoni tal-veloċità) u ħafna aktar.

NSX Edge joffri appoġġ għal żewġ modi ta' skjerament ta' load balancer:

Modalità prokura, jew driegħ wieħed. F'dan il-mod, NSX Edge juża l-indirizz IP tiegħu bħala l-indirizz tas-sors meta jibgħat talba lil wieħed mill-backends. Għalhekk, il-balancer simultanjament iwettaq il-funzjonijiet ta 'Sors u Destinazzjoni NAT. Il-backend jara t-traffiku kollu kif mibgħut mill-balancer u jirrispondi direttament għalih. Fi skema bħal din, il-balancer għandu jkun fl-istess segment tan-netwerk mas-servers interni.

Hawn kif sejjer:
1. L-utent jibgħat talba lill-indirizz VIP (indirizz tal-balancer) li huwa kkonfigurat fuq ix-Xifer.
2. Xifer jagħżel wieħed mill-backends u jwettaq id-destinazzjoni NAT, li jissostitwixxi l-indirizz VIP bl-indirizz tal-backend magħżul.
3. Edge jwettaq sors NAT, jissostitwixxi l-indirizz tal-utent li bagħat it-talba ma tiegħu stess.
4. Il-pakkett jintbagħat lill-backend magħżul.
5. Il-backend ma jirrispondix direttament lill-utent, iżda lill-Xifer, peress li l-indirizz oriġinali tal-utent inbidel għall-indirizz tal-balancer.
6. Edge jittrasmetti r-rispons tas-server lill-utent.
Id-dijagramma hija hawn taħt.
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Modalità trasparenti, jew inline. F'dan ix-xenarju, il-balancer għandu interfaces fuq in-netwerks interni u esterni. Fl-istess ħin, m'hemm l-ebda aċċess dirett għan-netwerk intern minn dak estern. Il-load balancer integrat jaġixxi bħala gateway NAT għal magni virtwali fuq in-netwerk intern.

Il-mekkaniżmu huwa kif ġej:
1. L-utent jibgħat talba lill-indirizz VIP (indirizz tal-balancer) li huwa kkonfigurat fuq ix-Xifer.
2. Xifer jagħżel wieħed mill-backends u jwettaq id-destinazzjoni NAT, li jissostitwixxi l-indirizz VIP bl-indirizz tal-backend magħżul.
3. Il-pakkett jintbagħat lill-backend magħżul.
4. Il-backend jirċievi talba bl-indirizz oriġinali tal-utent (is-sors NAT ma kienx imwettaq) u jirrispondi direttament għaliha.
5. It-traffiku jerġa' jiġi aċċettat mill-load balancer, peress li fi skema inline normalment jaġixxi bħala l-portal default għar-razzett tas-server.
6. Edge jwettaq NAT tas-sors biex jibgħat it-traffiku lill-utent, billi juża l-VIP tiegħu bħala l-indirizz IP tas-sors.
Id-dijagramma hija hawn taħt.
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Prattika

Il-bank tat-test tiegħi għandu 3 servers li jaħdmu Apache, li huwa kkonfigurat biex jaħdem fuq HTTPS. Edge se jwettaq ibbilanċjar round robin tat-talbiet HTTPS, billi jagħti proxy kull talba ġdida lil server ġdid.
Nibdew.

Ġenerazzjoni ta 'ċertifikat SSL li se jintuża minn NSX Edge
Tista' timporta ċertifikat validu ta' CA jew tuża wieħed iffirmat minnu nnifsu. Għal dan it-test ser nuża ffirmat waħdu.

  1. Fl-interface vCloud Director, mur fis-settings tas-servizzi Edge.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Mur fit-tab Ċertifikati. Mil-lista ta' azzjonijiet, agħżel li żżid CSR ġdid.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  3. Imla l-oqsma meħtieġa u kklikkja Żomm.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  4. Agħżel is-CSR li għadha kif inħoloq u agħżel l-għażla tas-CSR ta’ self-sign.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  5. Agħżel il-perjodu ta' validità taċ-ċertifikat u kklikkja Żomm
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  6. Iċ-ċertifikat iffirmat minnu nnifsu jidher fil-lista ta 'dawk disponibbli.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Twaqqif tal-Profil tal-Applikazzjoni
Il-profili tal-applikazzjoni jagħtuk kontroll aktar sħiħ fuq it-traffiku tan-netwerk u jagħmlu l-ġestjoni sempliċi u effettiva. Jistgħu jintużaw biex jiddefinixxu l-imġieba għal tipi speċifiċi ta 'traffiku.

  1. Mur fit-tab tal-Load Balancer u ppermetti l-balancer. L-għażla Aċċelerazzjoni ppermettiet hawnhekk tippermetti lill-balancer juża ibbilanċjar L4 aktar mgħaġġel minflok L7.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Mur fit-tab tal-profil tal-applikazzjoni biex issettja l-profil tal-applikazzjoni. Ikklikkja +.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  3. Issettja l-isem tal-profil u agħżel it-tip ta 'traffiku li għalih se jiġi applikat il-profil. Ħa nispjega xi parametri.
    Persistenza – jaħżen u jsegwi d-dejta tas-sessjoni, pereżempju: liema server speċifiku fil-pool qed iservi t-talba tal-utent. Dan jiżgura li t-talbiet tal-utenti jiġu mgħoddija lill-istess membru tal-grupp għall-ħajja tas-sessjoni jew sessjonijiet sussegwenti.
    Ippermetti SSL passthrough – Meta tintgħażel din l-għażla, NSX Edge jieqaf jittermina SSL. Minflok, it-terminazzjoni sseħħ direttament fuq is-servers li qed jiġu bbilanċjati.
    Daħħal X-Forwarded-For HTTP header – jippermettilek tiddetermina l-indirizz IP tas-sors tal-klijent li jikkonnettja mas-server tal-web permezz tal-load balancer.
    Ippermetti Pool Side SSL – jippermettilek li tispeċifika li l-grupp magħżul jikkonsisti minn servers HTTPS.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  4. Peress li se nkun qed nibbilanċja t-traffiku HTTPS, għandi bżonn nippermetti Pool Side SSL u nagħżel iċ-ċertifikat iġġenerat preċedentement fit-tab Ċertifikati tas-Server Virtwali -> tab Ċertifikat tas-Servizz.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  5. Bl-istess mod għaċ-Ċertifikati tal-Pool -> Ċertifikat tas-Servizz.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Noħolqu ġabra ta 'servers, it-traffiku li għalihom se jkun Pools bilanċjat

  1. Mur fit-tab Pools. Ikklikkja +.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Aħna nissettjaw l-isem tal-pool, agħżel l-algoritmu (se nuża round robin) u t-tip ta 'monitoraġġ għall-backend tal-kontroll tas-saħħa.L-għażla Trasparenti tindika jekk l-IP sors inizjali tal-klijenti huwiex viżibbli għal servers interni.
    • Jekk l-għażla hija diżattivata, it-traffiku għas-servers interni ġej mill-IP tas-sors tal-balancer.
    • Jekk l-għażla hija attivata, is-servers interni jaraw l-IP tas-sors tal-klijenti. F'din il-konfigurazzjoni, NSX Edge għandu jaġixxi bħala l-portal default biex jiżgura li l-pakketti rritornati jgħaddu minn NSX Edge.

    NSX jappoġġja l-algoritmi tal-ibbilanċjar li ġejjin:

    • IP_HASH – għażla ta' server ibbażata fuq ir-riżultati ta' funzjoni hash għall-IP tas-sors u tad-destinazzjoni ta' kull pakkett.
    • LASTCONN – ibbilanċjar tal-konnessjonijiet deħlin, skont in-numru diġà disponibbli fuq server partikolari. Konnessjonijiet ġodda se jkunu diretti lejn is-server bl-inqas konnessjonijiet.
    • ROUND_ROBIN – jintbagħtu konnessjonijiet ġodda lil kull server wara xulxin, skont il-piż assenjat lilu.
    • URI – il-parti tax-xellug tal-URI (qabel il-marka tal-mistoqsija) hija hashed u diviża bil-piż totali tas-servers fil-pool. Ir-riżultat jindika liema server jirċievi t-talba, u jiżgura li t-talba dejjem tintbagħat lejn l-istess server, sakemm is-servers kollha jibqgħu disponibbli.
    • HTTPHEADER – ibbilanċjar ibbażat fuq header HTTP speċifiku, li jista 'jiġi speċifikat bħala parametru. Jekk l-intestatura hija nieqsa jew m'għandha l-ebda valur, jiġi applikat l-algoritmu ROUND_ROBIN.
    • URL – Kull talba HTTP GET tfittex il-parametru URL speċifikat bħala argument. Jekk il-parametru jkun segwit minn sinjal ugwali u valur, allura l-valur huwa hashed u diviż bil-piż totali tas-servers li qed jaħdmu. Ir-riżultat jindika liema server jirċievi t-talba. Dan il-proċess jintuża biex iżżomm kont tal-IDs tal-utent fit-talbiet u jiġi żgurat li l-istess id tal-utent dejjem jintbagħat lill-istess server, sakemm is-servers kollha jibqgħu disponibbli.

    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

  3. Fil-blokk Membri, ikklikkja + biex iżżid servers mal-pool.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

    Hawnhekk għandek bżonn tispeċifika:

    • isem tas-server;
    • Indirizz IP tas-server;
    • il-port li fuqu s-server se jirċievi t-traffiku;
    • port għall-kontroll tas-saħħa (Monitor healthcheck);
    • piż – billi tuża dan il-parametru tista’ taġġusta l-ammont proporzjonali ta’ traffiku riċevut għal membru speċifiku tal-grupp;
    • Max Konnessjonijiet – numru massimu ta’ konnessjonijiet mas-server;
    • Konnessjonijiet Min - in-numru minimu ta 'konnessjonijiet li s-server għandu jipproċessa qabel ma t-traffiku jintbagħat lill-membru tal-grupp li jmiss.

    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

    Dan huwa kif jidher il-ġabra finali ta 'tliet servers.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Żieda ta' Server Virtwali

  1. Mur fit-tab Servers Virtwali. Ikklikkja +.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Aħna nattivaw is-server virtwali billi tuża Enable Virtual Server.
    Nagħtuha isem, agħżel il-Profil tal-Applikazzjoni maħluq qabel, Pool u nindika l-indirizz IP li għalih is-Server Virtwali se jirċievi talbiet minn barra. Aħna nispeċifikaw il-protokoll HTTPS u l-port 443.
    Parametri mhux obbligatorji hawn:
    Limitu ta' Konnessjoni – in-numru massimu ta' konnessjonijiet simultanji li s-server virtwali jista' jipproċessa;
    Limitu tar-Rata ta' Konnessjoni (CPS) – in-numru massimu ta' talbiet ġodda deħlin kull sekonda.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Dan itemm il-konfigurazzjoni tal-balancer; tista 'tiċċekkja l-funzjonalità tiegħu. Is-servers għandhom konfigurazzjoni sempliċi li tippermettilek tifhem liema server mill-pool ipproċessa t-talba. Matul is-setup, għażilna l-algoritmu tal-ibbilanċjar Round Robin, u l-parametru tal-Piż għal kull server huwa ugwali għal wieħed, għalhekk kull talba sussegwenti tiġi pproċessata mis-server li jmiss mill-pool.
Aħna ndaħħlu l-indirizz estern tal-balancer fil-browser u naraw:
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Wara li tiġġedded il-paġna, it-talba tiġi pproċessata mis-server li ġej:
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

U għal darb'oħra - biex tiċċekkja t-tielet server mill-pool:
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Meta tiċċekkja, tista 'tara li ċ-ċertifikat li jibgħatilna Edge huwa l-istess wieħed li ġġenerajna fil-bidu nett.

Iċċekkja l-istatus tal-balancer mill-console tal-gateway Edge. Biex tagħmel dan, daħħal juru pool loadbalancer tas-servizz.
VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Konfigurazzjoni tal-Monitor tas-Servizz biex jiċċekkja l-istatus tas-servers fil-pool
Bl-użu tal-Monitor tas-Servizz nistgħu nissorveljaw l-istatus tas-servers fil-pool backend. Jekk ir-rispons għal talba ma jkunx kif mistenni, is-server jista' jinħareġ mill-pool sabiex ma jirċievi ebda talba ġdida.
B'mod awtomatiku, tliet metodi ta' verifika huma kkonfigurati:

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

Ejja noħolqu waħda ġdida.

  1. Mur fit-tab tal-Monitoraġġ tas-Servizz, ikklikkja +.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Agħżel:
    • isem għall-metodu l-ġdid;
    • l-intervall li fih jintbagħtu t-talbiet,
    • timeout stennija għal tweġiba,
    • tip ta 'monitoraġġ - talba HTTPS bl-użu tal-metodu GET, kodiċi tal-istatus mistenni - 200(OK) u URL tat-talba.
  3. Dan itemm is-setup tas-Service Monitor il-ġdid; issa nistgħu nużawh meta noħolqu pool.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Twaqqif ta' Regoli ta' Applikazzjoni

Ir-Regoli tal-Applikazzjoni huma mod kif timmanipula t-traffiku bbażat fuq ċerti triggers. B'din l-għodda nistgħu noħolqu regoli avvanzati ta 'ibbilanċjar tat-tagħbija li jistgħu ma jkunux possibbli permezz ta' profili ta 'Applikazzjoni jew servizzi oħra disponibbli fuq Edge Gateway.

  1. Biex toħloq regola, mur fit-tab tar-Regoli tal-Applikazzjoni tal-balancer.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  2. Agħżel isem, skript li se juża r-regola, u kklikkja Żomm.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  3. Wara li tinħoloq ir-regola, għandna bżonn neditjaw is-Server Virtwali diġà kkonfigurat.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer
  4. Fit-tab Avvanzata, żid ir-regola li ħloqna.
    VMware NSX għaż-żgħar. Parti 5: Konfigurazzjoni ta' Load Balancer

Fl-eżempju ta 'hawn fuq ppermettejna l-appoġġ tlsv1.

Ftit eżempji oħra:

Idderieġi t-traffiku lejn pool ieħor.
B'din l-iskrittura nistgħu nidderieġu t-traffiku lejn pool ta' bilanċ ieħor jekk il-pool prinċipali jkun 'l isfel. Biex ir-regola taħdem, pools multipli għandhom jiġu kkonfigurati fuq il-balancer u l-membri kollha tal-pool prinċipali għandhom ikunu fl-istat 'l isfel. Trid tispeċifika l-isem tal-pool, mhux l-ID tagħha.

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

Idderieġi t-traffiku lejn riżors estern.
Hawnhekk nidderieġu t-traffiku lejn il-websajt esterna jekk il-membri kollha tal-pool prinċipali huma stabbiliti.

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

Saħansitra aktar eżempji hawn.

Dak kollu għalija dwar il-balancer. Jekk għandek xi mistoqsijiet, staqsi, lest nwieġeb.

Sors: www.habr.com

Żid kumment