Balancimi i ngarkesës me AWS ELB

Pershendetje te gjitheve! Kursi fillon sot "AWS për Zhvilluesit", në lidhje me të cilën mbajtëm një webinar tematik përkatës kushtuar rishikimit të ELB. Ne shikuam llojet e balancuesve dhe krijuam disa raste EC2 me një balancues. Ne studiuam edhe shembuj të tjerë të përdorimit.

Balancimi i ngarkesës me AWS ELB

Pas dëgjimit të webinarit, Ju do të:

  • kuptoni se çfarë është AWS Load Balancing;
  • të njohë llojet e Balancuesit Elastik të Ngarkesës dhe përbërësit e tij;
  • përdorni AWS ELB në praktikën tuaj.

Pse duhet ta dini këtë fare?

  • e dobishme nëse po planifikoni të merrni provimet e certifikimit AWS;
  • kjo është një mënyrë e thjeshtë për të shpërndarë ngarkesën midis serverëve;
  • Kjo është një mënyrë e thjeshtë për të shtuar Lambda në shërbimin tuaj (ALB).

Kryen një orë mësimi të hapur Rishat Teregulov, inxhinier sistemesh në një kompani marketingu për zhvillimin dhe mbështetjen e faqes në internet.

Paraqitje

Çfarë është një balancues elastik i ngarkesës mund të shihet në diagramin më poshtë, i cili tregon një shembull të thjeshtë:

Balancimi i ngarkesës me AWS ELB

Load Balancer pranon kërkesat dhe i shpërndan ato nëpër instanca. Ne kemi një shembull të veçantë, ka funksione Lambda dhe ekziston një grup AutoScaling (një grup serverësh).

Llojet AWS ELB

1. Konsideroni llojet kryesore:

Balancues klasik i ngarkesës. Balancuesi i parë i ngarkesës nga AWS, funksionon si në OSI Layer 4 ashtu edhe në Layer 7, duke mbështetur HTTP, HTTPS, TCP dhe SSL. Ai siguron balancimin bazë të ngarkesës në shumë raste të Amazon EC2 dhe funksionon si në nivelin e kërkesës ashtu edhe në nivelin e lidhjes. Le ta hapim atë (të theksuar në gri):

Balancimi i ngarkesës me AWS ELB

Ky balancues konsiderohet i vjetëruar, prandaj rekomandohet të përdoret vetëm në raste të caktuara. Për shembull, për aplikacionet që janë ndërtuar në rrjetin EC2‑Classic. Në parim, askush nuk po na pengon ta krijojmë atë:

Balancimi i ngarkesës me AWS ELB

2. Rrjeti Load Balancer. I përshtatshëm për ngarkesa të rënda pune, funksionon në OSI Layer 4 (mund të përdoret në EKS dhe ECS), TCP, UDP dhe TLS mbështeten.

Network Load Balancer drejton trafikun drejt objektivave në një Amazon VPC dhe është në gjendje të përpunojë miliona kërkesa në sekondë me vonesë jashtëzakonisht të ulët. Për më tepër, është optimizuar për të trajtuar modelet e trafikut me ngarkesa të papritura dhe në ndryshim.

3. Balancuesi i ngarkesës së aplikacionit. Punon në shtresën 7, ka mbështetje Lambda, mbështet rregullat e nivelit të kokës dhe rrugës, mbështet HTTP dhe HTTPS.
Ofron rrugëzim të avancuar të kërkesave të fokusuara në ofrimin e aplikacioneve të ndërtuara në arkitektura moderne, duke përfshirë mikroshërbimet dhe kontejnerët. Drejton trafikun drejt objektivave në Amazon VPC bazuar në përmbajtjen e kërkesës.

Për shumë përdorues, Application Load Balancer ishte zgjedhja e parë për të zëvendësuar Classic Load Balancer, sepse TCP nuk është aq i zakonshëm sa HTTP.

Le ta krijojmë edhe atë, si rezultat i së cilës do të kemi tashmë dy balancues të ngarkesës:

Balancimi i ngarkesës me AWS ELB

Komponentët e bilancit të ngarkesës

Komponentët e balancës së ngarkesës së përbashkët (e përbashkët për të gjithë balancuesit):

  • Qasja në politikën e regjistrimit

— regjistrat tuaj të aksesit ELB. Për të bërë cilësimet, mund të shkoni te Përshkrimi dhe të zgjidhni butonin "Ndrysho atributet":

Balancimi i ngarkesës me AWS ELB

Pastaj ne specifikojmë S3Bucket - ruajtjen e objekteve në Amazon:

Balancimi i ngarkesës me AWS ELB

  • skemë

- balancues i brendshëm ose i jashtëm. Çështja është nëse LoadBalancer juaj duhet të marrë adresa të jashtme në mënyrë që të jetë i aksesueshëm nga jashtë, apo mund të jetë balancuesi juaj i brendshëm i ngarkesës;

  • Grupet e Sigurisë

— kontrolli i aksesit te balancuesi. Në thelb ky është një mur zjarri i nivelit të lartë.

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

  • Nën-rrjeta

— nënrrjetet brenda VPC-së tuaj (dhe, në përputhje me rrethanat, në zonën e disponueshmërisë). Nënrrjetet janë të specifikuara gjatë krijimit. Nëse VPC-të janë të kufizuara sipas rajonit, atëherë Nënrrjetet janë të kufizuara nga zonat e disponueshmërisë. Kur krijoni një Load Balancer, është më mirë ta krijoni atë në të paktën dy nënrrjeta (ndihmon nëse shfaqen probleme me një Zonë Disponueshmërie);

  • dëgjuesit

— protokollet tuaja të balancuesit. Siç u përmend më herët, për Classic Load Balancer mund të jetë HTTP, HTTPS, TCP dhe SSL, për Network Load Balancer - TCP, UDP dhe TLS, për Application Load Balancer - HTTP dhe HTTPS.

Shembull për balancuesin klasik të ngarkesës:

Balancimi i ngarkesës me AWS ELB

Por në Application Load Balancer ne shohim një ndërfaqe paksa të ndryshme, dhe përgjithësisht logjikë të ndryshme:

Balancimi i ngarkesës me AWS ELB

Komponentët Load Balancer v2 (ALB dhe NLB)

Tani le t'i hedhim një vështrim më të afërt balancuesve të versionit 2, Application Load Balancer dhe Network Load Balancer. Këta balancues kanë veçoritë e tyre përbërëse. Për shembull, u shfaq një koncept i tillë si grupet e synuara - shembuj (dhe funksione). Falë këtij komponenti, ne kemi mundësinë të specifikojmë se në cilin nga grupet e synuara dëshirojmë të drejtojmë trafikun.

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

Me fjalë të thjeshta, në grupet e synuara ne specifikojmë rastet ku do të vijë trafiku. Nëse në të njëjtin balancues të ngarkesës klasike thjesht lidhni menjëherë intensitetin me balancuesin, atëherë në balancuesin e ngarkesës së aplikacionit ju së pari:

  • krijoni një Load Balancer;
  • krijoni një grup të synuar;
  • direkt nëpërmjet portave të kërkuara ose rregullave të Load Balancer te grupet e synuara të kërkuara;
  • në grupet e synuara ju caktoni shembuj.

Kjo logjikë operative mund të duket më e ndërlikuar, por në fakt është më e përshtatshme.

Komponenti tjetër është Rregullat e dëgjuesit (rregullat e rrugëtimit). Kjo vlen vetëm për Application Load Balancer. Nëse në Network Load Balancer ju thjesht krijoni një Dëgjues dhe ai dërgon trafik në një grup specifik të synuar, atëherë në Application Load Balancer gjithçka më argëtues dhe i përshtatshëm.

Balancimi i ngarkesës me AWS ELB

Tani le të themi disa fjalë për komponentin tjetër - IP elastike (adresat statike për NLB). Nëse rregullat e rrugëtimit Rregullat e Dëgjuesit preknin vetëm Balancuesin e Ngarkimit të Aplikacionit, atëherë IP-ja Elastic prek vetëm Balancuesin e Ngarkimit të Rrjetit.

Le të krijojmë një balancues të ngarkesës në rrjet:

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

Dhe vetëm gjatë procesit të krijimit do të shohim që na jepet mundësia të zgjedhim Elastic IP:

Balancimi i ngarkesës me AWS ELB

Elastic IP siguron një adresë të vetme IP që mund të shoqërohet me raste të ndryshme EC2 me kalimin e kohës. Nëse një shembull EC2 ka një adresë IP elastike dhe ai shembull përfundon ose ndalet, mund të lidhni menjëherë një shembull të ri EC2 me një adresë IP Elastike. Sidoqoftë, aplikacioni juaj aktual nuk do të ndalojë së punuari, pasi aplikacionet ende shohin të njëjtën adresë IP, edhe nëse EC2 e vërtetë ka ndryshuar.

Këtu një rast tjetër përdorimi në temën pse nevojitet IP Elastic. Shikoni, ne shohim 3 adresa IP, por ato nuk do të qëndrojnë këtu përgjithmonë:

Balancimi i ngarkesës me AWS ELB

Amazon i ndryshon ato me kalimin e kohës, ndoshta çdo 60 sekonda (por në praktikë, natyrisht, më rrallë). Kjo do të thotë që adresat IP mund të ndryshojnë. Dhe në rastin e Network Load Balancer, ju thjesht mund të lidhni një adresë IP dhe ta tregoni atë në rregullat, politikat tuaja, etj.

Balancimi i ngarkesës me AWS ELB

Nxjerr përfundime

ELB ofron shpërndarje automatike të trafikut në hyrje nëpër objektiva të shumtë (kontejnerët, instancat e Amazon EC2, adresat IP dhe funksionet Lambda). ELB është në gjendje të shpërndajë trafikun me ngarkesa të ndryshme si brenda një zone të vetme të disponueshmërisë ashtu edhe nëpër zona të shumta të disponueshmërisë. Përdoruesi mund të zgjedhë nga tre lloje balancuesish që ofrojnë disponueshmëri të lartë, shkallëzim automatik dhe mbrojtje të mirë. E gjithë kjo është e rëndësishme për të siguruar tolerancën e gabimeve të aplikacioneve tuaja.

Përparësitë kryesore:

  • disponueshmëri e lartë. Marrëveshja e shërbimit supozon disponueshmërinë 99,99% për balancuesin e ngarkesës. Për shembull, Zonat e shumta të Disponueshmërisë sigurojnë që trafiku të përpunohet vetëm nga objekte të shëndetshme. Në fakt, ju mund të balanconi ngarkesën në të gjithë rajonin, duke ridrejtuar trafikun drejt objektivave të shëndetshëm në zona të ndryshme disponueshmërie;
  • безопасность. ELB punon me Amazon VPC, duke ofruar aftësi të ndryshme sigurie - menaxhim të integruar të certifikatës, vërtetim të përdoruesit dhe deshifrim SSL/TLS. Të gjitha së bashku ofrojnë menaxhim të centralizuar dhe fleksibël të cilësimeve të TLS;
  • elasticitet. ELB mund të trajtojë ndryshime të papritura në trafikun e rrjetit. Dhe integrimi i thellë me Auto Scaling i jep aplikacionit burime të mjaftueshme nëse ngarkesa ndryshon, pa kërkuar ndërhyrje manuale;
  • fleksibilitet. Ju mund të përdorni adresat IP për të drejtuar kërkesat në objektivat e aplikacionit tuaj. Kjo siguron fleksibilitet gjatë virtualizimit të aplikacioneve të synuara, duke dhënë kështu mundësinë për të pritur shumë aplikacione në një shembull të vetëm. Meqenëse aplikacionet mund të përdorin një port të vetëm rrjeti dhe të kenë grupe të veçanta sigurie, komunikimi ndërmjet aplikacioneve thjeshtohet kur kemi, të themi, një arkitekturë të bazuar në mikroshërbime;
  • monitorimi dhe auditimi. Ju mund të monitoroni aplikacionet në kohë reale duke përdorur veçoritë e Amazon CloudWatch. Po flasim për metrika, regjistrat, gjurmimin e kërkesave. Me fjalë të thjeshta, ju do të jeni në gjendje të identifikoni problemet dhe të identifikoni me saktësi pengesat e performancës;
  • balancimi hibrid i ngarkesës. Aftësia për të ngarkuar balancën midis burimeve në ambiente dhe AWS duke përdorur të njëjtin balancues ngarkese e bën të lehtë migrimin ose zgjerimin e aplikacioneve brenda ambienteve në cloud. Trajtimi i dështimeve thjeshtohet gjithashtu duke përdorur cloud.

Nëse jeni të interesuar për detaje, këtu janë disa lidhje më të dobishme nga faqja zyrtare e Amazon:

  1. Balancimi i ngarkesës elastike.
  2. Aftësitë e balancimit të ngarkesës elastike.

Burimi: www.habr.com

Shto një koment