VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Een Deel. Aféierung
Zweeten Deel. Firewall an NAT Regelen konfiguréieren
Drëtten Deel. DHCP konfiguréieren
Deel véier. Routing Setup

Déi lescht Kéier hu mir iwwer d'Fäegkeete vum NSX Edge geschwat wat statesch an dynamesch Routing ugeet, an haut wäerte mir mam Lastbalancer beschäftegen.
Ier mer d'Opstellung ufänken, wëll ech Iech kuerz un d'Haaptarte vu Balance erënneren.

Theorie

All d'Notzlaaschtbalancéierungsléisungen vun haut sinn meeschtens an zwou Kategorien opgedeelt: Balance um véierten (Transport) a siwenten (Applikatioun) Niveau vum Modell ODER WANN. Den OSI Modell ass net de beschte Referenzpunkt wann Dir Balancemethoden beschreiwen. Zum Beispill, wann e L4 Balancer och TLS Terminatioun ënnerstëtzt, gëtt et dann e L7 Balancer? Awer et ass wat et ass.

  • Balancer L4 meeschtens ass et e Mëttelproxy, deen tëscht dem Client an enger Rei vu verfügbare Backends steet, deen TCP Verbindungen ofschléisst (dat heescht onofhängeg op SYN reagéiert), e Backend wielt an eng nei TCP Sessioun a seng Richtung initiéiert, onofhängeg SYN schéckt. Dës Zort ass ee vun de Basis, aner Optiounen sinn méiglech.
  • Balancer L7 verdeelt Traffic iwwer verfügbare Backends "méi sophistikéiert" wéi de L4 Balancer mécht. Et kann entscheeden wéi ee Backend ze wielen baséiert op, zum Beispill, den Inhalt vun der HTTP Message (URL, Cookie, etc.).

Onofhängeg vun der Aart, de Balancer kann déi folgend Funktiounen ënnerstëtzen:

  • Service Entdeckung ass de Prozess fir de Set vu verfügbare Backends ze bestëmmen (Statesch, DNS, Consul, Etcd, etc.).
  • Iwwerpréift d'Funktionalitéit vun den entdeckten Backends (aktiv "Ping" vum Backend mat enger HTTP-Ufro, passiv Detektioun vu Probleemer an TCP-Verbindungen, d'Präsenz vu verschiddenen 503 HTTP-Coden an den Äntwerten, etc.).
  • D'Balance selwer (Ronn Robin, zoufälleg Auswiel, Quell IP Hash, URI).
  • TLS Terminatioun an Zertifikat Verifizéierung.
  • Sécherheetsbezunnen Optiounen (Authentifikatioun, DoS Attack Präventioun, Geschwindegkeetsbegrenzung) a vill méi.

NSX Edge bitt Ënnerstëtzung fir zwee Lastbalancer Deployment Modi:

Proxy Modus, oder eenarm. An dësem Modus benotzt NSX Edge seng IP Adress als Quelladress wann Dir eng Ufro un ee vun de Backends schéckt. Also mécht de Balancer gläichzäiteg d'Funktioune vu Quell an Destinatioun NAT. De Backend gesäit all Traffic wéi aus dem Balancer geschéckt a reagéiert direkt drop. An esou engem Schema muss de Balancer am selwechte Netzwierksegment mat den internen Serveren sinn.

Hei ass wéi et geet:
1. De Benotzer schéckt eng Ufro un d'VIP Adress (Balancer Adress), déi op der Edge konfiguréiert ass.
2. Edge wielt ee vun de Backends a mécht Destinatioun NAT, ersetzt d'VIP Adress mat der Adress vum gewielten Backend.
3. Edge mécht Quell NAT, ersetzt d'Adress vum Benotzer, deen d'Ufro mat senger eegener geschéckt huet.
4. De Package gëtt op de gewielte Backend geschéckt.
5. De Backend reagéiert net direkt op de Benotzer, mee op den Edge, well d'Original Adress vum Benotzer op d'Adress vum Balancer geännert gouf.
6. Edge iwwerdréit d'Äntwert vum Server un de Benotzer.
D'Diagramm ass hei ënnen.
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Transparent, oder inline, Modus. An dësem Szenario huet de Balancer Interfaces op intern an extern Netzwierker. Zur selwechter Zäit gëtt et keen direkten Zougang zum internen Netzwierk vum externen. Den agebaute Lastbalancer handelt als NAT-Paart fir virtuell Maschinnen am internen Netzwierk.

De Mechanismus ass wéi follegt:
1. De Benotzer schéckt eng Ufro un d'VIP Adress (Balancer Adress), déi op der Edge konfiguréiert ass.
2. Edge wielt ee vun de Backends a mécht Destinatioun NAT, ersetzt d'VIP Adress mat der Adress vum gewielten Backend.
3. De Package gëtt op de gewielte Backend geschéckt.
4. De Backend kritt eng Ufro mat der originaler Adress vum Benotzer (Quell NAT gouf net gemaach) a reagéiert direkt op et.
5. De Verkéier gëtt erëm vum Lastbalancer akzeptéiert, well an engem Inline Schema ass et normalerweis als Standardpaart fir de Serverfarm.
6. Edge mécht Quell NAT fir de Verkéier un de Benotzer ze schécken, mat sengem VIP als Quell IP Adress.
D'Diagramm ass hei ënnen.
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Praxis

Meng Testbank huet 3 Serveren déi Apache lafen, déi konfiguréiert ass fir iwwer HTTPS ze schaffen. Edge wäert Round Robin Balance vun HTTPS Ufroen ausféieren, all nei Ufro un en neie Server proxying.
Loosst eis ufänken.

Generéiere vun engem SSL Zertifika deen vum NSX Edge benotzt gëtt
Dir kënnt e gültege CA Zertifika importéieren oder e selbst ënnerschriwwenen benotzen. Fir dësen Test benotzen ech selwer ënnerschriwwen.

  1. An der vCloud Director Interface, gitt op d'Edge Services Astellungen.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Gitt op d'Zertifikater Tab. Wielt aus der Lëscht vun Aktiounen en neien CSR derbäi.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  3. Fëllt déi erfuerderlech Felder aus a klickt op Keep.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  4. Wielt déi nei erstallt CSR a wielt d'Selbstzeechen CSR Optioun.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  5. Wielt d'Validitéit Period vum Zertifikat a klickt Keep
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  6. De selbst ënnerschriwwenen Zertifika erschéngt an der Lëscht vun verfügbaren.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Applikatioun Profil Ariichten
Applikatiounsprofile ginn Iech méi komplett Kontroll iwwer den Netzverkéier a maachen et einfach an effektiv ze managen. Si kënne benotzt ginn fir Verhalen fir spezifesch Zorte vu Verkéier ze definéieren.

  1. Gitt op de Load Balancer Tab an aktivéiert de Balancer. D'Acceleration aktivéiert Optioun hei erlaabt dem Balancer méi séier L4 Balance ze benotzen anstatt L7.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Gitt op den Applikatiounsprofil Tab fir den Applikatiounsprofil ze setzen. Klickt op +.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  3. Setzt den Numm vum Profil a wielt d'Zort vum Traffic fir deen de Profil ugewannt gëtt. Loosst mech e puer Parameteren erklären.
    Persistenz - späichert a verfollegt Sessiounsdaten, zum Beispill: wéi ee spezifesche Server am Pool d'Benotzer Ufro servéiert. Dëst garantéiert datt Benotzer Ufroe fir d'Liewensdauer vun der Sessioun oder spéider Sessiounen un dee selwechte Poolmember geréckelt ginn.
    Aktivéiert SSL Passthrough - Wann dës Optioun ausgewielt ass, stoppt NSX Edge SSL ofzeschléissen. Amplaz geschitt Terminatioun direkt op de Serveren déi ausgeglach sinn.
    X-Forwarded-For HTTP Header setzen - erlaabt Iech d'Quell IP Adress vum Client ze bestëmmen deen mam Webserver verbënnt duerch de Lastbalancer.
    Aktivéiert Pool Side SSL - erlaabt Iech ze spezifizéieren datt de gewielte Pool aus HTTPS Serveren besteet.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  4. Well ech den HTTPS-Traffic balancéieren, muss ech Pool Side SSL aktivéieren a wielt de virdru generéierte Certificat an der Virtuelle Server Certificates -> Service Certificate Tab.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  5. Ähnlech fir Pool Zertifikater -> Service Zertifikat.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Mir schafen e Pool vun Serveren, de Verkéier op déi equilibréiert ginn Pools

  1. Gitt op d'Pools Tab. Klickt op +.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Mir setzen den Numm vum Pool, wielt den Algorithmus (ech wäert Round Robin benotzen) an d'Aart vun der Iwwerwaachung fir de Gesondheetscheck-Backend.D'Transparent Optioun weist op ob d'initial Quell-IPs vu Cliente fir intern Serveren siichtbar sinn.
    • Wann d'Optioun behënnert ass, kënnt de Verkéier fir intern Serveren aus der Quell IP vum Balancer.
    • Wann d'Optioun aktivéiert ass, gesinn intern Serveren d'Quell IP vun de Clienten. An dëser Konfiguratioun muss NSX Edge als Standardpaart handelen fir sécherzestellen datt zréckginn Päck duerch NSX Edge passéieren.

    NSX ënnerstëtzt déi folgend Equiliberalgorithmen:

    • IP_HASH - Serverauswiel baséiert op d'Resultater vun enger Hashfunktioun fir d'Quell- an Destinatiouns-IP vun all Paket.
    • LEASTCONN - Balance vun erakommen Verbindungen, ofhängeg vun der Zuel déi schonn op engem bestëmmte Server verfügbar ass. Nei Verbindunge ginn op de Server mat de mannste Verbindungen geleet.
    • ROUND_ROBIN - nei Verbindunge ginn op all Server am Tour geschéckt, am Aklang mat dem zougewisen Gewiicht.
    • URI - de lénksen Deel vun der URI (virum Fro Zeechen) ass hashed an gedeelt duerch d'Gesamtgewiicht vun Serveren am Pool. D'Resultat weist un wéi ee Server d'Ufro kritt, a garantéiert datt d'Ufro ëmmer op dee selwechte Server geréckelt gëtt, soulaang all Server verfügbar bleiwen.
    • HTTPHEADER - Balance baséiert op engem spezifesche HTTP Header, deen als Parameter spezifizéiert ka ginn. Wann den Header fehlt oder kee Wäert huet, gëtt de ROUND_ROBIN Algorithmus applizéiert.
    • URL - All HTTP GET Ufro sicht no den URL Parameter, deen als Argument spezifizéiert ass. Wann de Parameter vun engem Gläichzeechen an engem Wäert gefollegt ass, da gëtt de Wäert gehasht an gedeelt duerch d'Gesamtgewiicht vun de lafen Serveren. D'Resultat weist un wéi ee Server d'Ufro kritt. Dëse Prozess gëtt benotzt fir d'Benotzer-IDen an Ufroen ze verfollegen an ze garantéieren datt déiselwecht Benotzer-ID ëmmer op dee selwechte Server geschéckt gëtt, soulaang all Server verfügbar bleiwen.

    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

  3. Am Member Block, klickt op + fir Serveren an de Pool ze addéieren.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

    Hei musst Dir uginn:

    • Server Numm;
    • Server IP Adress;
    • den Hafen op deem de Server Traffic kritt;
    • Hafen fir Gesondheetscheck (Monitor Healthcheck);
    • Gewiicht - mat dësem Parameter kënnt Dir de proportional Betrag vum Verkéier fir e spezifesche Pool Member ajustéieren;
    • Max Connections - maximal Unzuel u Verbindunge mam Server;
    • Min Connections - d'Mindestzuel u Verbindungen déi de Server muss veraarbecht ier de Verkéier op den nächste Poolmember weidergeleet gëtt.

    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

    Dëst ass wéi de leschte Pool vun dräi Serveren ausgesäit.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Virtuell Server addéieren

  1. Gitt op de Virtuell Server Tab. Klickt op +.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Mir aktivéieren de virtuelle Server mat Enable Virtual Server.
    Mir ginn et en Numm, wielt de virdru erstallten Applikatiounsprofil, Pool a gitt d'IP Adress un déi de virtuelle Server Ufroe vu baussen kritt. Mir spezifizéieren den HTTPS Protokoll an den Hafen 443.
    Optional Parameteren hei:
    Verbindung Limit - déi maximal Unzuel u simultan Verbindungen déi de virtuelle Server kann veraarbechten;
    Connection Rate Limit (CPS) - déi maximal Unzuel vun neien Ufroe pro Sekonn.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Dëst fäerdeg d'Konfiguratioun vum Balancer; Dir kënnt seng Funktionalitéit kontrolléieren. D'Server hunn eng einfach Konfiguratioun, déi Iech erlaabt ze verstoen, wéi ee Server aus dem Pool d'Ufro veraarbecht huet. Wärend der Konfiguratioun hu mir de Round Robin Balancealgorithmus gewielt, an de Gewiichtparameter fir all Server ass gläich wéi een, sou datt all spéider Ufro vum nächste Server aus dem Pool veraarbecht gëtt.
Mir gitt déi extern Adress vum Balancer am Browser a gesinn:
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Nodeems Dir d'Säit erfrëscht hutt, gëtt d'Ufro vum folgende Server veraarbecht:
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

An nach eng Kéier - fir den drëtten Server aus dem Pool ze kontrolléieren:
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Wann Dir iwwerpréift, kënnt Dir gesinn datt den Zertifika deen Edge eis schéckt ass dee selwechte wéi mir am Ufank generéiert hunn.

Iwwerpréift Balancer Status vun der Edge Gateway Konsole. Fir dëst ze maachen, gitt weisen Service Loadbalancer Pool.
VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Service Monitor konfiguréieren fir de Status vun de Serveren am Pool ze kontrolléieren
Mat Service Monitor kënne mir de Status vun de Serveren am Backend Pool iwwerwaachen. Wann d'Äntwert op eng Ufro net wéi erwaart ass, kann de Server aus dem Pool geholl ginn, sou datt et keng nei Ufroe kritt.
Par défaut sinn dräi Verifizéierungsmethoden konfiguréiert:

  • TCP Monitor,
  • HTTP Monitor,
  • HTTPS-Monitor.

Loosst eis en neien erstellen.

  1. Gitt op d'Service Monitoring Reiter, klickt op +.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Wielt:
    • Numm fir déi nei Method;
    • den Intervall an deem d'Ufroe geschéckt ginn,
    • Timeout waart op eng Äntwert,
    • Iwwerwaachungstyp - HTTPS Ufro mat der GET Method, erwaart Statuscode - 200 (OK) an Ufro URL.
  3. Dëst fäerdeg de Setup vum neie Service Monitor; elo kënne mir et benotzen wann Dir e Pool erstellt.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Ariichten Applikatioun Regelen

Applikatiounsregele sinn e Wee fir den Traffic op Basis vu bestëmmten Ausléiser ze manipuléieren. Mat dësem Tool kënne mir fortgeschratt Belaaschtungsregele kreéieren déi vläicht net méiglech sinn duerch Applikatiounsprofiler oder aner Servicer verfügbar um Edge Gateway.

  1. Fir eng Regel ze kreéieren, gitt op d'Uwendungsregelen Tab vum Balancer.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  2. Wielt en Numm, e Skript deen d'Regel benotzt a klickt op Keep.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  3. Nodeems d'Regel erstallt ass, musse mir de scho konfiguréierte virtuelle Server änneren.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer
  4. An der Advanced Tab füügt d'Regel un déi mir erstallt hunn.
    VMware NSX fir déi Kleng. Deel 5: Configuring a Load Balancer

Am Beispill hei uewen hu mir tlsv1 Support aktivéiert.

E puer méi Beispiller:

Redirect Traffic an en anere Pool.
Mat dësem Skript kënne mir de Verkéier op en anere Balancepool viruleeden wann den Haaptpool erof ass. Fir datt d'Regel funktionnéiert, musse verschidde Poole um Balancer konfiguréiert sinn an all Membere vum Haaptpool mussen am Down State sinn. Dir musst den Numm vum Pool uginn, net seng ID.

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

Redirect Traffic op eng extern Ressource.
Hei redirect mir Verkéier op déi extern Websäit wann all Membere vun der Haaptrei Pool sinn erof.

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

Nach méi Beispiller hei.

Dat ass alles fir mech iwwer de Balancer. Wann Dir Froen hutt, frot, ech si prett ze äntweren.

Source: will.com

Setzt e Commentaire