IepriekÅ”Äjo reizi mÄs runÄjÄm par NSX Edge iespÄjÄm statiskÄs un dinamiskÄs marÅ”rutÄÅ”anas ziÅÄ, un Å”odien mÄs runÄsim par slodzes balansÄtÄju.
Pirms sÄkam iestatÄ«Å”anu, es vÄlos Ä«si atgÄdinÄt par galvenajiem balansÄÅ”anas veidiem.
Š¢ŠµŠ¾ŃŠøŃ
Visi mÅ«sdienu lietderÄ«gÄs slodzes balansÄÅ”anas risinÄjumi visbiežÄk tiek iedalÄ«ti divÄs kategorijÄs: balansÄÅ”ana modeļa ceturtajÄ (transporta) un septÄ«tajÄ (pielietojuma) lÄ«menÄ«.
- BalansÄtÄjs L4 visbiežÄk tas ir vidÄjais starpniekserveris, kas atrodas starp klientu un pieejamo aizmugursistÄmu kopu, kas pÄrtrauc TCP savienojumus (tas ir, neatkarÄ«gi reaÄ£Ä uz SYN), izvÄlas aizmugursistÄmu un uzsÄk jaunu TCP sesiju tÄ virzienÄ, neatkarÄ«gi nosÅ«tot SYN. Å is veids ir viens no pamata veidiem, ir iespÄjamas arÄ« citas iespÄjas.
- BalansÄtÄjs L7 sadala trafiku pa pieejamajÄm aizmugursistÄmÄm āsarežģītÄkā nekÄ L4 balansÄtÄjs. TÄ var izlemt, kuru aizmugursistÄmu izvÄlÄties, pamatojoties, piemÄram, uz HTTP ziÅojuma saturu (URL, sÄ«kfailu utt.).
NeatkarÄ«gi no veida balansÄtÄjs var atbalstÄ«t Å”Ädas funkcijas:
- Pakalpojumu atklÄÅ”ana ir pieejamo aizmugursistÄmu kopas noteikÅ”anas process (statiskais, DNS, konsuls, utt.).
- AtklÄto aizmugursistÄmu funkcionalitÄtes pÄrbaude (aktÄ«vÄ aizmugursistÄmas āpingā, izmantojot HTTP pieprasÄ«jumu, pasÄ«va problÄmu noteikÅ”ana TCP savienojumos, vairÄku 503 HTTP kodu klÄtbÅ«tne atbildÄs utt.).
- Pati lÄ«dzsvaroÅ”ana (apļa pÄrbaude, nejauÅ”a atlase, avota IP hash, URI).
- TLS darbÄ«bas pÄrtraukÅ”ana un sertifikÄta pÄrbaude.
- Ar droŔību saistÄ«tas iespÄjas (autentifikÄcija, DoS uzbrukumu novÄrÅ”ana, Ätruma ierobežoÅ”ana) un daudz kas cits.
NSX Edge piedÄvÄ atbalstu diviem slodzes lÄ«dzsvara izvietoÅ”anas režīmiem:
Starpniekservera režīms vai vienas rokas režīms. Å ajÄ režīmÄ NSX Edge izmanto savu IP adresi kÄ avota adresi, nosÅ«tot pieprasÄ«jumu uz kÄdu no aizmugursistÄmÄm. TÄdÄjÄdi balansÄtÄjs vienlaikus veic avota un galamÄrÄ·a NAT funkcijas. AizmugursistÄma redz visu trafiku, kas tiek nosÅ«tÄ«ta no balansÄtÄja, un reaÄ£Ä tieÅ”i uz to. Å ÄdÄ shÄmÄ balansÄtÄjam jÄatrodas vienÄ tÄ«kla segmentÄ ar iekÅ”Äjiem serveriem.
LÅ«k, kÄ tas notiek:
1. LietotÄjs nosÅ«ta pieprasÄ«jumu uz VIP adresi (balansÄtÄja adresi), kas ir konfigurÄta Edge.
2. Edge atlasa vienu no aizmugursistÄmÄm un veic galamÄrÄ·a NAT, aizstÄjot VIP adresi ar izvÄlÄtÄs aizmugursistÄmas adresi.
3. Edge veic avota NAT, aizstÄjot pieprasÄ«jumu nosÅ«tÄ«juÅ”Ä lietotÄja adresi ar savu.
4. Pakotne tiek nosÅ«tÄ«ta uz izvÄlÄto aizmugursistÄmu.
5. AizmugursistÄma nereaÄ£Ä tieÅ”i uz lietotÄju, bet gan uz Edge, jo lietotÄja sÄkotnÄjÄ adrese ir mainÄ«ta uz balansÄtÄja adresi.
6. Edge nosÅ«ta servera atbildi lietotÄjam.
Diagramma ir zemÄk.
CaurspÄ«dÄ«gs vai iekļauts režīms. Å ajÄ scenÄrijÄ balansÄtÄjam ir saskarnes iekÅ”Äjos un ÄrÄjos tÄ«klos. TajÄ paÅ”Ä laikÄ nav tieÅ”as piekļuves iekÅ”Äjam tÄ«klam no ÄrÄjÄ. IebÅ«vÄtais slodzes lÄ«dzsvarotÄjs darbojas kÄ NAT vÄrteja virtuÄlajÄm maŔīnÄm iekÅ”ÄjÄ tÄ«klÄ.
MehÄnisms ir Å”Äds:
1. LietotÄjs nosÅ«ta pieprasÄ«jumu uz VIP adresi (balansÄtÄja adresi), kas ir konfigurÄta Edge.
2. Edge atlasa vienu no aizmugursistÄmÄm un veic galamÄrÄ·a NAT, aizstÄjot VIP adresi ar izvÄlÄtÄs aizmugursistÄmas adresi.
3. Pakotne tiek nosÅ«tÄ«ta uz izvÄlÄto aizmugursistÄmu.
4. AizmugursistÄma saÅem pieprasÄ«jumu ar lietotÄja sÄkotnÄjo adresi (avota NAT netika veikts) un tieÅ”i atbild uz to.
5. Trafiku atkal pieÅem slodzes balansÄtÄjs, jo iekļautajÄ shÄmÄ tas parasti darbojas kÄ serveru fermas noklusÄjuma vÄrteja.
6. Edge veic avota NAT, lai nosÅ«tÄ«tu trafiku lietotÄjam, izmantojot savu VIP kÄ avota IP adresi.
Diagramma ir zemÄk.
Prakse
ManÄ testa stendÄ ir 3 serveri, kuros darbojas Apache, kas ir konfigurÄts darbam, izmantojot HTTPS. Edge veiks HTTPS pieprasÄ«jumu apļveida lÄ«dzsvaroÅ”anu, katru jaunu pieprasÄ«jumu pÄrsÅ«tot uz jaunu serveri.
SÄksim.
SSL sertifikÄta Ä£enerÄÅ”ana, ko izmantos NSX Edge
Varat importÄt derÄ«gu CA sertifikÄtu vai izmantot paÅ”parakstÄ«tu sertifikÄtu. Å im testam izmantoÅ”u paÅ”parakstÄ«to.
- VCloud Director saskarnÄ atveriet Edge pakalpojumu iestatÄ«jumus.
- Dodieties uz cilni SertifikÄti. DarbÄ«bu sarakstÄ atlasiet pievienot jaunu CSR.
- Aizpildiet obligÄtos laukus un noklikŔķiniet uz SaglabÄt.
- Atlasiet jaunizveidoto CSR un atlasiet paŔparakstīŔanas CSR opciju.
- IzvÄlieties sertifikÄta derÄ«guma termiÅu un noklikŔķiniet uz SaglabÄt
- PaÅ”parakstÄ«tais sertifikÄts tiek parÄdÄ«ts pieejamo sertifikÄtu sarakstÄ.
Lietojumprogrammas profila iestatīŔana
Lietojumprogrammu profili sniedz pilnÄ«gÄku kontroli pÄr tÄ«kla trafiku un padara to vienkÄrÅ”u un efektÄ«vu. Tos var izmantot, lai noteiktu konkrÄtu satiksmes veidu uzvedÄ«bu.
- Dodieties uz cilni Load Balancer un iespÄjojiet balansÄtÄju. Å eit esoÅ”Ä opcija PaÄtrinÄjums iespÄjots ļauj balansÄtÄjam izmantot ÄtrÄku L4 balansÄÅ”anu, nevis L7.
- Dodieties uz cilni Lietojumprogrammas profils, lai iestatītu lietojumprogrammas profilu. NoklikŔķiniet uz +.
- Iestatiet profila nosaukumu un atlasiet trafika veidu, kuram profils tiks lietots. Ļaujiet man paskaidrot dažus parametrus.
NeatlaidÄ«ba ā saglabÄ un izseko sesijas datus, piemÄram: kurÅ” konkrÄtais serveris pÅ«lÄ apkalpo lietotÄja pieprasÄ«jumu. Tas nodroÅ”ina, ka lietotÄju pieprasÄ«jumi tiek novirzÄ«ti vienam un tam paÅ”am pÅ«la dalÄ«bniekam sesijas vai turpmÄko sesiju laikÄ.
IespÄjot SSL caurlaidi ā Ja ir atlasÄ«ta Ŕī opcija, NSX Edge pÄrtrauc SSL pÄrtraukÅ”anu. TÄ vietÄ pÄrtraukÅ”ana notiek tieÅ”i serveros, kas tiek lÄ«dzsvaroti.
Ievietojiet X-Forwarded-For HTTP galveni ā ļauj noteikt klienta avota IP adresi, kas savienojas ar tÄ«mekļa serveri, izmantojot slodzes balansÄtÄju.
IespÄjot baseina puses SSL ā ļauj norÄdÄ«t, ka atlasÄ«tais pÅ«ls sastÄv no HTTPS serveriem.
- TÄ kÄ es lÄ«dzsvaroÅ”u HTTPS trafiku, man ir jÄiespÄjo baseina puses SSL un cilnÄ VirtuÄlÄ servera sertifikÄti -> Pakalpojuma sertifikÄts jÄatlasa iepriekÅ” Ä£enerÄtais sertifikÄts.
- LÄ«dzÄ«gi arÄ« kopa sertifikÄtiem -> pakalpojuma sertifikÄts.
MÄs izveidojam serveru pÅ«lu, kura trafika tiks sabalansÄta
- Dodieties uz cilni Baseini. NoklikŔķiniet uz +.
- IestatÄm pÅ«la nosaukumu, atlasÄm algoritmu (izmantoÅ”u round robin) un monitoringa veidu veselÄ«bas pÄrbaudes aizmugursistÄmai Opcija Transparent norÄda, vai klientu sÄkotnÄjie avota IP ir redzami iekÅ”Äjiem serveriem.
- Ja opcija ir atspÄjota, iekÅ”Äjo serveru trafiks nÄk no balansÄtÄja avota IP.
- Ja opcija ir iespÄjota, iekÅ”Äjie serveri redz klientu avota IP. Å ajÄ konfigurÄcijÄ NSX Edge jÄdarbojas kÄ noklusÄjuma vÄrtejai, lai nodroÅ”inÄtu, ka atgrieztÄs paketes tiek cauri NSX Edge.
NSX atbalsta Å”Ädus balansÄÅ”anas algoritmus:
- IP_HASH ā servera izvÄle, pamatojoties uz jaucÄjfunkcijas rezultÄtiem katras paketes avota un mÄrÄ·a IP.
- LEASTKONNA ā ienÄkoÅ”o savienojumu balansÄÅ”ana atkarÄ«bÄ no jau pieejamÄ skaita konkrÄtajÄ serverÄ«. Jauni savienojumi tiks novirzÄ«ti uz serveri ar vismazÄko savienojumu.
- ROUND_ROBIN ā katram serverim pÄc kÄrtas tiek nosÅ«tÄ«ti jauni pieslÄgumi atbilstoÅ”i tam pieŔķirtajam svaram.
- URI ā URI kreisÄ daļa (pirms jautÄjuma zÄ«mes) ir sajaukta un dalÄ«ta ar kopÄjo serveru svaru pÅ«lÄ. RezultÄts norÄda, kurÅ” serveris saÅem pieprasÄ«jumu, nodroÅ”inot, ka pieprasÄ«jums vienmÄr tiek novirzÄ«ts uz vienu un to paÅ”u serveri, kamÄr visi serveri ir pieejami.
- HTTPHEADER ā balansÄÅ”ana, pamatojoties uz konkrÄtu HTTP galveni, ko var norÄdÄ«t kÄ parametru. Ja galvenes trÅ«kst vai tai nav vÄrtÄ«bas, tiek lietots ROUND_ROBIN algoritms.
- URL ā Katrs HTTP GET pieprasÄ«jums meklÄ URL parametru, kas norÄdÄ«ts kÄ arguments. Ja parametram seko vienÄdÄ«bas zÄ«me un vÄrtÄ«ba, tad vÄrtÄ«ba tiek sajaukta un dalÄ«ta ar kopÄjo strÄdÄjoÅ”o serveru svaru. RezultÄts norÄda, kurÅ” serveris saÅem pieprasÄ«jumu. Å is process tiek izmantots, lai sekotu lietotÄju ID pieprasÄ«jumos un nodroÅ”inÄtu, ka vienam un tam paÅ”am serverim vienmÄr tiek nosÅ«tÄ«ts viens un tas pats lietotÄja ID, ja vien visi serveri ir pieejami.
- BlokÄ DalÄ«bnieki noklikŔķiniet uz +, lai pÅ«lam pievienotu serverus.
Å eit jums jÄnorÄda:- servera nosaukums;
- Servera IP adrese;
- ports, pa kuru serveris saÅems trafiku;
- osta veselÄ«bas pÄrbaudei (Monitor healthcheck);
- svars ā izmantojot Å”o parametru var pielÄgot konkrÄtam pÅ«la dalÄ«bniekam saÅemto trafika proporcionÄlo apjomu;
- Max Connections ā maksimÄlais savienojumu skaits ar serveri;
- MinimÄlais savienojumu skaits ā minimÄlais savienojumu skaits, kas serverim jÄapstrÄdÄ, pirms trafika tiek pÄrsÅ«tÄ«ta nÄkamajam pÅ«la dalÄ«bniekam.
Å Ädi izskatÄs galÄ«gais trÄ«s serveru kopums.
VirtuÄlÄ servera pievienoÅ”ana
- Dodieties uz cilni VirtuÄlie serveri. NoklikŔķiniet uz +.
- MÄs aktivizÄjam virtuÄlo serveri, izmantojot IespÄjot virtuÄlo serveri.
MÄs pieŔķiram tam nosaukumu, atlasÄm iepriekÅ” izveidoto Lietojumprogrammas profilu, PÅ«lu un norÄdÄm IP adresi, uz kuru VirtuÄlais serveris saÅems pieprasÄ«jumus no Ärpuses. MÄs norÄdÄm HTTPS protokolu un 443. portu.
IzvÄles parametri Å”eit:
Savienojuma ierobežojums ā maksimÄlais vienlaicÄ«gu savienojumu skaits, ko virtuÄlais serveris var apstrÄdÄt;
Savienojuma Ätruma ierobežojums (CPS) ā maksimÄlais jaunu ienÄkoÅ”o pieprasÄ«jumu skaits sekundÄ.
Tas pabeidz balansÄtÄja konfigurÄciju; jÅ«s varat pÄrbaudÄ«t tÄ funkcionalitÄti. Serveriem ir vienkÄrÅ”a konfigurÄcija, kas ļauj saprast, kurÅ” serveris no pÅ«la apstrÄdÄja pieprasÄ«jumu. IestatÄ«Å”anas laikÄ mÄs izvÄlÄjÄmies Round Robin balansÄÅ”anas algoritmu, un svara parametrs katram serverim ir vienÄds ar vienu, tÄpÄc katru nÄkamo pieprasÄ«jumu apstrÄdÄs nÄkamais serveris no pÅ«la.
PÄrlÅ«kprogrammÄ ievadÄm balansÄtÄja ÄrÄjo adresi un redzam:
PÄc lapas atsvaidzinÄÅ”anas pieprasÄ«jumu apstrÄdÄs Å”Äds serveris:
Un atkal - lai pÄrbaudÄ«tu treÅ”o serveri no baseina:
PÄrbaudot, jÅ«s varat redzÄt, ka sertifikÄts, ko Edge mums nosÅ«ta, ir tas pats, ko mÄs Ä£enerÄjÄm paÅ”Ä sÄkumÄ.
BalsotÄja statusa pÄrbaude no Edge vÄrtejas konsoles. Lai to izdarÄ«tu, ievadiet parÄdÄ«t servisa slodzes balansÄÅ”anas baseinu.
Service Monitor konfigurÄÅ”ana, lai pÄrbaudÄ«tu pÅ«lÄ esoÅ”o serveru statusu
Izmantojot Service Monitor, mÄs varam pÄrraudzÄ«t serveru statusu aizmugures pÅ«lÄ. Ja atbilde uz pieprasÄ«jumu nav tÄda, kÄ gaidÄ«ts, serveri var izÅemt no pÅ«la, lai tas nesaÅemtu jaunus pieprasÄ«jumus.
PÄc noklusÄjuma ir konfigurÄtas trÄ«s verifikÄcijas metodes:
- TCP monitors,
- HTTP monitors,
- HTTPS monitors.
Izveidosim jaunu.
- Dodieties uz cilni Pakalpojuma uzraudzība, noklikŔķiniet uz +.
- IzvÄlieties:
- jaunÄs metodes nosaukums;
- intervÄls, kÄdÄ tiks nosÅ«tÄ«ti pieprasÄ«jumi,
- noildze gaidot atbildi,
- uzraudzÄ«bas veids ā HTTPS pieprasÄ«jums, izmantojot GET metodi, paredzamais statusa kods ā 200(OK) un pieprasÄ«juma URL.
- Tas pabeidz jaunÄ Service Monitor iestatÄ«Å”anu; tagad mÄs varam to izmantot, veidojot pÅ«lu.
PieteikÅ”anÄs noteikumu iestatÄ«Å”ana
Lietojumprogrammas noteikumi ir veids, kÄ manipulÄt ar trafiku, pamatojoties uz noteiktiem aktivizÄtÄjiem. Izmantojot Å”o rÄ«ku, mÄs varam izveidot papildu slodzes lÄ«dzsvaroÅ”anas noteikumus, kas var nebÅ«t iespÄjami, izmantojot lietojumprogrammu profilus vai citus pakalpojumus, kas pieejami Edge Gateway.
- Lai izveidotu kÄrtulu, atveriet balansÄtÄja cilni Lietojumprogrammas noteikumi.
- Atlasiet nosaukumu, skriptu, kas izmantos kÄrtulu, un noklikŔķiniet uz SaglabÄt.
- Kad kÄrtula ir izveidota, mums ir jÄrediÄ£Ä jau konfigurÄtais virtuÄlais serveris.
- CilnÄ Papildu pievienojiet mÅ«su izveidoto kÄrtulu.
IepriekÅ” minÄtajÄ piemÄrÄ mÄs iespÄjojÄm tlsv1 atbalstu.
VÄl pÄris piemÄri:
PÄrvirzÄ«t trafiku uz citu baseinu.
Izmantojot Å”o skriptu, mÄs varam novirzÄ«t trafiku uz citu balansÄÅ”anas pÅ«lu, ja galvenais pÅ«ls nedarbojas. Lai kÄrtula darbotos, balansÄtÄjÄ ir jÄkonfigurÄ vairÄki pÅ«li, un visiem galvenÄ pÅ«la dalÄ«bniekiem ir jÄbÅ«t izslÄgtÄ stÄvoklÄ«. Ir jÄnorÄda kopas nosaukums, nevis tÄ ID.
acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0
use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME
PÄrvirzÄ«t trafiku uz ÄrÄju resursu.
Å eit mÄs novirzÄm trafiku uz ÄrÄjo vietni, ja visi galvenÄ pÅ«la dalÄ«bnieki nedarbojas.
acl pool_down nbsrv(NAME_OF_POOL) eq 0
redirect location http://www.example.com if pool_down
VÄl vairÄk piemÄru
Tas man viss par balansieri. Ja ir kÄdi jautÄjumi, jautÄjiet, esmu gatavs atbildÄt.
Avots: www.habr.com