Përshëndetje të gjithëve! Kursi fillon sot , për këtë arsye ne organizuam një webinar tematik që lidhet me shqyrtimin e ELB. Ne shqyrtuam llojet e balancuesve dhe krijuam disa instanca EC2 me balancues. Po ashtu, studiuam shembuj të tjerë përdorimi.

, ju do të jeni:
- të vetëdijshëm se çfarë është AWS Load Balancing;
- të informuar për llojet e Elastic Load Balancer dhe komponentët e tij;
- të përdorni AWS ELB në praktikën tuaj.
Pse është e rëndësishme kjo:
- është e dobishme nëse planifikoni të jepni provime për certifikimin AWS;
- është një mënyrë e thjeshtë për të shpërndarë ngarkesën mes serverëve;
- është një mënyrë e thjeshtë për të shtuar Lambda në shërbimin tuaj (ALB).
Mësimin e hapur e drejtoi , inxhinier sistemi në një kompani marketingu për zhvillimin dhe mbështetje të faqeve të internetit.
Hyrje
ĂfarĂ« Ă«shtĂ« Elastic Load Balancer, mund ta shihni nĂ« diagramin mĂ« poshtĂ«, ku paraqitet njĂ« shembull i thjeshtĂ«:

Balancuesi i ngarkesës merr kërkesat dhe i shpërndan ato në instanca. Ne kemi një instancë të veçantë, kemi funksione Lambda dhe kemi një grup AutoScaling (grupi i serverëve).
Llojet e AWS ELB
1. Le të shqyrtojmë llojet kryesore:
Classic Load Balancer. Balancuesi i parë nga AWS, punon si në nivelin 4 ashtu edhe në nivelin 7 të OSI, mbështeten HTTP, HTTPS, TCP dhe SSL. Ai ofron balancimin bazik të ngarkesës ndërmjet disa instancave Amazon EC2 dhe punon në nivelin e kërkesave dhe në nivelin e lidhjeve. Le të hapim këtë (ndriçohet me gri):

Ky balancues konsiderohet i vjetruar, prandaj rekomandohet të përdoret vetëm në raste të veçanta. Për shembull, për aplikacione që janë ndërtuar në rrjetin EC2-Classic. Në thelb, askush nuk na pengon ta krijojmë atë:

2. Network Load Balancer. I përshtatshëm për ngarkesë të lartë, punon në nivelin 4 të OSI (mund të përdoret në EKS dhe ECS), mbështeten TCP, UDP dhe TLS.
Network Load Balancer drejton trafikun në objektet e synuara në Amazon VPC dhe është në gjendje të përpunojë miliona kërkesa në sekondë me vonesa shumë të ulëta. Për më tepër, ai është optimizuar për të përpunuar modele trafiku me ngarkesë të papritur dhe të ndryshueshme.
3. Application Load Balancer. Punon në nivelin 7, mbështet Lambda, mbështet rregulla në nivelin e titujve dhe rrugëve, mbështeten HTTP dhe HTTPS.
Siguroi ruterim të avancuar të kërkesave, të orientuar ndaj dorëzimit të aplikacioneve të ndërtuara mbi arkitektura moderne, përfshirë mikroshërbimet dhe kontejnerët. Drejton trafikun në objektet e synuara në Amazon VPC, duke u bazuar në përmbajtjen e kërkesës.
Për shumë përdorues, Application Load Balancer zëvendësoi së pari Classic Load Balancer, pasi TCP nuk është aq i zakonshëm krahasuar me HTTP.
Do ta krijojmë edhe këtë, duke rezultuar në dy balancues të ngarkesës:

Komponentët e Load Balance
Komponentët e përgjithshëm të Load Balance (të pranishëm në të gjithë balancuesit):
- Politika e Regjistrimit të Qasjes
â regjistrat tuaj tĂ« qasjes nĂ« ELB. PĂ«r tĂ« realizuar konfigurimet, mund tĂ« kaloni nĂ« Description dhe tĂ« zgjidhni butonin "Edit attributes":

MĂ« pas, specify S3Bucket â depozita objektive Amazon:

- Scheme
â balancues interni ose tĂ« jashtĂ«m. QĂ«llimi Ă«shtĂ«, a duhet LoadBalancer juaj tĂ« marrĂ« adresa tĂ« jashtme pĂ«r tĂ« qenĂ« i aksesueshĂ«m nga jashtĂ«, ose mund tĂ« jetĂ« balancuesi juaj i brendshĂ«m;
- Grupet e Sigurisë
â kontrolli i qasjes nĂ« balancues. NĂ« thelb, kjo Ă«shtĂ« njĂ« firewall i nivelit tĂ« lartĂ«.


- Subnets
â subnetet brenda VPC-sĂ« tuaj (pĂ«rkatĂ«sisht, dhe zonat e disponueshmĂ«risĂ«). Subnets specifikohen gjatĂ« krijimit. NĂ«se VPC Ă«shtĂ« e kufizuar nĂ« rajon, atĂ«herĂ« Subnets Ă«shtĂ« e kufizuar nĂ« zonat e disponueshmĂ«risĂ«. Kur krijoni Load Balancer, Ă«shtĂ« mĂ« mirĂ« ta krijoni atĂ« nĂ« tĂ« paktĂ«n dy subnets (ndihmon nĂ«se ka probleme me njĂ« zonĂ« disponueshmĂ«rie);
- Listeners
â protokollet e balancuesit tuaj. Siç u tha mĂ« parĂ«, 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.
Shembuj për Classic Load Balancer:

Dhe ja, në Application Load Balancer ne shohim një ndërfaqe pak më ndryshe, dhe në tërësi një logjikë tjetër:

Komponentët e Load Balancer v2 (ALB dhe NLB)
Tani do ta shqyrtojmĂ« me detaje balancuesit e versionit tĂ« dytĂ« Application Load Balancer dhe Network Load Balancer. KĂ«ta balancues kanĂ« veçori tĂ« veçanta komponenti. PĂ«r shembull, ka njĂ« koncept tĂ« ri, siç janĂ« Target Groups â instancat (dhe funksionet). FalĂ« kĂ«tij komponenti, kemi mundĂ«sinĂ« tĂ« specifikojmĂ« se nĂ« cilin nga Target Groups dĂ«shirojmĂ« tĂ« drejtojmĂ« trafik.


Thënë thjesht, në Target Groups ne specifikojmë instancat ku do të vijë trafiku. Nëse në të njëjtin Classic Load Balancer thjesht i lidhni menjëherë instancat me balancuesin, në Application Load Balancer së pari:
- krijoni Load Balancer;
- krijoni grupin Target;
- drejtoni Load Balancer në Target Groups të nevojshme përmes porteve ose rregullave të nevojshme;
- NĂ« grupet e targetit caktoni instanca.
Kjo logjikë e punës mund të duket më e komplikuar, por në të vërtetë është më e lehtë.
Komponenti tjetĂ«r â Rregullat e dĂ«gjuesve (rregullat pĂ«r ruterimin). Kjo ndĂ«rlidhet vetĂ«m me Application Load Balancer. NĂ«se te Network Load Balancer thjesht krijoni njĂ« DĂ«gjues dhe ai dĂ«rgon trafik nĂ« njĂ« grup tĂ« caktuar targeti, te Application Load Balancer gjithçka .

Tani le tĂ« themi disa fjalĂ« pĂ«r komponentin tjetĂ«r â Elastic IP (adresa statike pĂ«r NLB). NĂ«se rregullat pĂ«r ruterimin e Rregullave tĂ« DĂ«gjuesve lidhen vetĂ«m me Application Load Balancer, atĂ«herĂ« Elastic IP lidhet vetĂ«m me Network Load Balancer.
Do të krijojmë Network Load Balancer:


Dhe pikërisht në procesin e krijimit do të shohim se na jepet mundësia të zgjedhim Elastic IP:

Elastic IP ofron një adresë IP të vetme, e cila mund të lidhët me instanca të ndryshme EC2 në kohë. Nëse një instancë EC2 ka adresën Elastic IP dhe kjo instancë përfundon ose ndalet, mund të lidhni menjëherë një instancë të re EC2 me adresën Elastic IP. Kështu, aplikacioni juaj aktual nuk do të ndalet, pasi aplikacionet shohin të njëjtën adresë IP, edhe nëse EC2 reale ka ndryshuar.
Ja në lidhje me arsyet e Elastic IP. Shikoni, shohim 3 adresat IP, por ato nuk do të qëndrojnë këtu për gjithmonë:

Amazon i ndryshon ato me kalimin e kohës, mund t'i ndërronte çdo 60 sekonda (por në praktikë, sigurisht, më rrallë). Pra, adresat IP mund të ndodhin ndryshime. Dhe në rastin e Network Load Balancer, ju mund të lidhni adresën IP dhe ta specifikoni në rregullat tuaja, politikat etj.

Të nxjerrim përfundime
ELB ofron shpërndarje automatike të trafikut të ardhshëm në disa objekte targeti (kontejnerë, instanca Amazon EC2, adresa IP dhe funksione Lambda). ELB është në gjendje të shpërndajë trafik me ngarkesa të ndryshueshme si në një zonë të disponueshme ashtu edhe midis disa zonave të disponueshme. Përdoruesi mund të zgjedhë nga tre lloje të balancuesve, duke ofruar si disponueshmëri të lartë ashtu edhe auto-skalim, dhe një mbrojtje të mirë. Të gjitha këto janë të rëndësishme për garantimin e qëndrueshmërisë së aplikacioneve tuaja.
Pikat kryesore:
- disponueshmëri e lartë. Në marrëveshjen e shërbimit, sigurohet një disponueshmëri prej 99.99% për balancuesin e ngarkesës. Për shembull, disa zona disponueshmërie garanton që trafik të trajtohet vetëm nga objekte të shëndosha. Në fakt, është e mundur të balancohet ngarko edhe në të gjithë rajonin, duke drejtuar trafik në objekte të shëndosha target në zona të ndryshme disponueshmërie;
- siguria. ELB punon me Amazon VPC, duke ofruar mundĂ«si tĂ« ndryshme pĂ«r sigurimin â pĂ«rfshihen menaxhimi i integruar i certifikatave, autenticiteti i pĂ«rdoruesve dhe dekripti i SSL/TLS. TĂ« gjitha sĂ« bashku sigurojnĂ« njĂ« menaxhim qendror dhe fleksibĂ«l tĂ« cilĂ«simeve TLS;
- elasticiteti. ELB mund të trajtojë ndryshime të papritura në trafikun në rrjet. Një integrim i thellë me Auto Scaling i jep aplikacionit mjaft burime, nëse ngarkesa ndryshon, pa pasur nevojë për ndërhyrje manuale;
- fleksibiliteti i kufizuar. Mund të aplikoni adresa IP për të drejtuar kërkesat në objektet target të aplikacioneve tuaja. Kjo garanton fleksibilitet në virtualizimin e aplikacioneve target, duke i dhënë kështu mundësinë për të vendosur disa aplikacione në një instancë. Sepse aplikacionet mund të përdorin një port rrjet dhe kanë grupe të veçanta sigurie, ndërveprimi midis aplikacioneve bëhet më i lehtë kur kemi një arkitekturë, për shembull, bazuar në mikrosërvicet;
- monitorimi dhe auditimi. Mund të monitoroni aplikacionet në kohë reale, duke përdorur funksionet e Amazon CloudWatch. Këtu flasim për metrika, loge, ndjekjen e kërkesave. Thënë thjesht, do të jeni në gjendje të identifikoni probleme dhe të përcaktoni mjaft saktësisht ngushticat e performancës;
- balancimi hibrid i ngarkesës. Mundësia për balancimin e ngarkesës midis burimeve lokale dhe AWS me përdorimin e një balancuesi të njëjtë e bën më të lehtë migrimin ose zgjerimin e aplikacioneve lokale në cloud. Po ashtu, përpunimi i dështimeve me përdorimin e cloud-it bëhet më i lehtë.
Nëse jeni të interesuar për detajet, këtu janë disa lidhje të dobishme nga faqja zyrtare e Amazon:
- .
Burimi: habr.com
