Izravnavanje obremenitve z AWS ELB

Pozdravljeni vsi skupaj! Tečaj se začne danes "AWS za razvijalce", v zvezi s katerim smo izvedli ustrezen tematski webinar, posvečen pregledu ELB. Ogledali smo si vrste balansirnikov in ustvarili več primerkov EC2 z balansirjem. Preučevali smo tudi druge primere uporabe.

Izravnavanje obremenitve z AWS ELB

Po poslušanju webinarja, Ti boš:

  • razumeti, kaj je AWS Load Balancing;
  • poznati vrste Elastic Load Balancer in njegove komponente;
  • uporabite AWS ELB v svoji praksi.

Zakaj morate to sploh vedeti?

  • uporabno, če nameravate opravljati certifikacijske izpite AWS;
  • to je preprost način za porazdelitev obremenitve med strežniki;
  • To je preprost način za dodajanje Lambda vaši storitvi (ALB).

Izvedli odprto lekcijo Rishat Teregulov, sistemski inženir v marketinškem podjetju za razvoj in podporo spletnih strani.

Predstavitev

Kaj je Elastic Load Balancer, lahko vidite na spodnjem diagramu, ki prikazuje preprost primer:

Izravnavanje obremenitve z AWS ELB

Load Balancer sprejema zahteve in jih razporeja po instancah. Imamo en ločen primerek, obstajajo funkcije Lambda in obstaja skupina AutoScaling (skupina strežnikov).

Vrste AWS ELB

1. Oglejmo si glavne vrste:

Klasični izravnavalec obremenitve. Prvi uravnoteževalec obremenitve iz AWS deluje na ravni 4 in 7 OSI ter podpira HTTP, HTTPS, TCP in SSL. Zagotavlja osnovno uravnoteženje obremenitve v več primerkih Amazon EC2 in deluje na ravni zahteve in povezave. Odprimo ga (označeno s sivo):

Izravnavanje obremenitve z AWS ELB

Ta balanser velja za zastarel, zato ga priporočamo le v določenih primerih. Na primer za aplikacije, ki so bile zgrajene v omrežju EC2‑Classic. Načeloma nam nihče ne preprečuje, da bi ga ustvarili:

Izravnavanje obremenitve z AWS ELB

2. Izravnalnik obremenitve omrežja. Primeren za velike delovne obremenitve, deluje na ravni OSI 4 (lahko se uporablja v EKS in ECS), podprti so TCP, UDP in TLS.

Network Load Balancer usmerja promet do ciljev v Amazon VPC in je sposoben obdelati milijone zahtev na sekundo z izjemno nizko zakasnitvijo. Poleg tega je optimiziran za obvladovanje prometnih vzorcev z nenadnimi in spreminjajočimi se obremenitvami.

3. Izravnalnik obremenitve aplikacij. Deluje na ravni 7, ima podporo za Lambda, podpira pravila na ravni glave in poti, podpira HTTP in HTTPS.
Zagotavlja napredno usmerjanje zahtev, osredotočeno na dostavo aplikacij, zgrajenih na sodobnih arhitekturah, vključno z mikrostoritvami in vsebniki. Usmerja promet na cilje v Amazon VPC na podlagi vsebine zahteve.

Za mnoge uporabnike je bil Application Load Balancer prva izbira za zamenjavo Classic Load Balancer, ker TCP ni tako pogost kot HTTP.

Ustvarimo ga tudi, zaradi česar bomo že imeli dva izravnalnika obremenitve:

Izravnavanje obremenitve z AWS ELB

Komponente za uravnoteženje obremenitve

Skupne komponente uravnoteženja obremenitve (skupno vsem balanserjem):

  • Politika beleženja dostopa

— vaši dnevniki dostopa do ELB. Za nastavitve lahko odprete Opis in izberete gumb »Uredi atribute«:

Izravnavanje obremenitve z AWS ELB

Nato določimo S3Bucket - shranjevanje predmetov Amazon:

Izravnavanje obremenitve z AWS ELB

  • Shema

— notranji ali zunanji balanser. Bistvo je, ali mora vaš LoadBalancer prejeti zunanje naslove, da je dostopen od zunaj, ali pa je to lahko vaš notranji izenačevalnik obremenitve;

  • Varnostne skupine

— nadzor dostopa do uravnoteženja. V bistvu je to visokonivojski požarni zid.

Izravnavanje obremenitve z AWS ELB

Izravnavanje obremenitve z AWS ELB

  • Podomrežja

— podomrežja znotraj vašega VPC (in s tem v območju razpoložljivosti). Podomrežja so določena med ustvarjanjem. Če so VPC omejeni z regijo, so podomrežja omejena z območji razpoložljivosti. Ko ustvarjate izravnalnik obremenitve, je bolje, da ga ustvarite v vsaj dveh podomrežjih (pomaga, če pride do težav z enim območjem razpoložljivosti);

  • Poslušalci

— vaši protokoli za izravnavo. Kot smo že omenili, je lahko za klasično izravnavo obremenitve HTTP, HTTPS, TCP in SSL, za izravnavo obremenitve omrežja TCP, UDP in TLS, za izravnavo obremenitve aplikacij HTTP in HTTPS.

Primer za Classic Load Balancer:

Izravnavanje obremenitve z AWS ELB

Toda v Application Load Balancer vidimo nekoliko drugačen vmesnik in na splošno drugačno logiko:

Izravnavanje obremenitve z AWS ELB

Komponente Load Balancer v2 (ALB in NLB)

Zdaj pa si podrobneje oglejmo izravnalnika 2 različice Application Load Balancer in Network Load Balancer. Ti balanserji imajo lastne značilnosti komponent. Na primer, pojavil se je koncept ciljnih skupin - primerki (in funkcije). Zahvaljujoč tej komponenti imamo možnost določiti, na katero od ciljnih skupin želimo usmeriti promet.

Izravnavanje obremenitve z AWS ELB

Izravnavanje obremenitve z AWS ELB

Preprosto povedano, v ciljnih skupinah določimo primere, kamor bo prišel promet. Če v istem Classic Load Balancer preprosto takoj povežete intenzivnost z izravnalnikom, potem v Application Load Balancer najprej:

  • ustvarite izravnalnik obremenitve;
  • ustvarite ciljno skupino;
  • neposredno prek zahtevanih vrat ali pravil Load Balancer do zahtevanih ciljnih skupin;
  • v ciljnih skupinah dodelite primerke.

Ta logika delovanja se morda zdi bolj zapletena, vendar je v resnici bolj priročna.

Naslednja komponenta je Pravila poslušalcev (pravila za usmerjanje). To velja samo za Application Load Balancer. Če v izenačevalniku omrežne obremenitve preprosto ustvarite poslušalca in ta pošlje promet določeni ciljni skupini, potem v izenačevalniku obremenitve aplikacij vse bolj zabavno in priročno.

Izravnavanje obremenitve z AWS ELB

Zdaj pa povejmo nekaj besed o naslednji komponenti - Elastični IP (statični naslovi za NLB). Če so pravila usmerjanja pravil poslušalca vplivala samo na izravnalnik obremenitve aplikacij, potem je elastični IP vplival samo na izravnalnik obremenitve omrežja.

Ustvarimo izravnalnik obremenitve omrežja:

Izravnavanje obremenitve z AWS ELB

Izravnavanje obremenitve z AWS ELB

In ravno med postopkom ustvarjanja bomo videli, da imamo možnost izbrati Elastični IP:

Izravnavanje obremenitve z AWS ELB

Elastični IP zagotavlja en naslov IP, ki ga je mogoče skozi čas povezati z različnimi primerki EC2. Če ima primerek EC2 elastični naslov IP in je ta primerek prekinjen ali ustavljen, lahko takoj povežete nov primerek EC2 z elastičnim naslovom IP. Vendar vaša trenutna aplikacija ne bo prenehala delovati, saj aplikacije še vedno vidijo isti naslov IP, tudi če se je pravi EC2 spremenil.

Tu drug primer uporabe na temo zakaj je potreben Elastic IP. Poglejte, vidimo 3 naslove IP, vendar ne bodo ostali tukaj za vedno:

Izravnavanje obremenitve z AWS ELB

Amazon jih spreminja skozi čas, morda vsakih 60 sekund (v praksi pa seveda redkeje). To pomeni, da se naslovi IP lahko spremenijo. V primeru izenačevalnika obremenitve omrežja lahko preprosto povežete naslov IP in ga navedete v svojih pravilih, politikah itd.

Izravnavanje obremenitve z AWS ELB

Naredite sklepe

ELB zagotavlja samodejno porazdelitev dohodnega prometa med več cilji (vsebniki, instance Amazon EC2, naslovi IP in funkcije Lambda). ELB je sposoben porazdeliti promet z različnimi obremenitvami tako znotraj enega območja razpoložljivosti kot med več območjemi razpoložljivosti. Uporabnik lahko izbira med tremi vrstami balansirnikov, ki zagotavljajo visoko razpoložljivost, samodejno skaliranje in dobro zaščito. Vse to je pomembno za zagotavljanje odpornosti na napake vaših aplikacij.

Glavne prednosti:

  • visoka dostopnost. Pogodba o storitvi predvideva 99,99-odstotno razpoložljivost za izravnalnik obremenitve. Na primer, več območij razpoložljivosti zagotavlja, da promet obdelujejo samo zdravi objekti. Pravzaprav lahko uravnotežite obremenitev celotne regije in preusmerite promet na zdrave cilje v različnih območjih razpoložljivosti;
  • varnost. ELB deluje z Amazon VPC in zagotavlja različne varnostne zmogljivosti – integrirano upravljanje potrdil, preverjanje pristnosti uporabnikov in dešifriranje SSL/TLS. Vse skupaj zagotavlja centralizirano in prilagodljivo upravljanje nastavitev TLS;
  • elastičnost. ELB lahko obravnava nenadne spremembe v omrežnem prometu. In globoka integracija s samodejnim skaliranjem daje aplikaciji dovolj virov, če se obremenitev spremeni, ne da bi zahteval ročno posredovanje;
  • prilagodljivost. Naslove IP lahko uporabite za usmerjanje zahtev do ciljev vaših aplikacij. To zagotavlja prilagodljivost pri virtualizaciji ciljnih aplikacij, kar daje možnost gostovanja več aplikacij na enem primerku. Ker lahko aplikacije uporabljajo ena sama omrežna vrata in imajo ločene varnostne skupine, je komunikacija med aplikacijami poenostavljena, če imamo recimo arhitekturo, ki temelji na mikrostoritvah;
  • spremljanje in revizija. Aplikacije lahko spremljate v realnem času s funkcijami Amazon CloudWatch. Govorimo o meritvah, dnevnikih, sledenju zahtevam. Preprosto povedano, lahko boste precej natančno prepoznali težave in natančno določili ozka grla;
  • hibridno uravnoteženje obremenitve. Zmožnost uravnoteženja obremenitve med viri na mestu uporabe in AWS z uporabo istega izravnalnika obremenitve olajša selitev ali razširitev aplikacij na mestu uporabe v oblak. Obravnavanje napak je poenostavljeno tudi z uporabo oblaka.

Če vas zanimajo podrobnosti, je tukaj še nekaj uporabnih povezav z uradne spletne strani Amazon:

  1. Elastično uravnoteženje obremenitve.
  2. Zmogljivosti elastičnega uravnoteženja obremenitve.

Vir: www.habr.com

Dodaj komentar