Përshëndetje të gjithëve! Sot fillon kursi , për shkak të së cilës ne organizuam një webinar përkatës tematik, kushtuar shqyrtimit të ELB. Ne shqyrtuam llojet e balancuesve dhe krijuam disa instance EC2 me balancues. Gjithashtu, studiuam shembuj të tjerë të përdorimit.

, ju do të:
- kuptoni se çfarë është AWS Load Balancing;
- dini llojet e Elastic Load Balancer dhe komponentët e tij;
- përdorni AWS ELB në praktikën tuaj.
Pse është e nevojshme kjo:
- është e dobishme nëse planifikoni të jepni provime çertifikimi AWS;
- është një mënyrë e thjeshtë për të shpërndarë ngarkesën midis serverëve;
- është një mënyrë e thjeshtë për të shtuar Lambda në shërbimin tuaj (ALB).
Mësimi i hapur u udhëhoq nga , inxhinier sistemi në një kompani marketingu për zhvillimin dhe mbështetje në internet.
Hyrje
ĂfarĂ« Ă«shtĂ« Elastic Load Balancer, mund ta shihni nĂ« diagramin mĂ« poshtĂ«, ku paraqitet njĂ« shembull i thjeshtĂ«:

Load Balancer merr kërkesat dhe i shpërndan ato midis instanceve. Ne kemi një instancë të veçantë, kemi funksione Lambda dhe kemi një grup AutoScaling (grup serverësh).
Llojet e AWS ELB
1. Le të shqyrtojmë llojet kryesore:
Classic Load Balancer. Balancuesi më klasik i AWS, punon në nivelin 4 dhe 7 të OSI, mbështet HTTP, HTTPS, TCP dhe SSL. Ai siguron balancimin bazë të ngarkesës mes disa instanceve Amazon EC2 dhe punon në nivelin e kërkesave si dhe në nivelin e lidhjes. Le ta hapim atë (e theksuar 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Ă« parim, 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ështet 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ë menaxhuar modelet e trafikëve me ngarkesë të papritur dhe në ndryshim.
3. Application Load Balancer. Punon në nivelin 7, ka mbështetje për Lambda, mbështet rregulla në nivelin e titujve dhe rrugëve, mbështet HTTP dhe HTTPS.
Siguron një ruterim të avancuar të kërkesave, të orientuar drejt shpërndarjes së aplikacioneve të ndërtuara mbi arkitektura moderne, përfshirë mikroshërbimet dhe kontejnerët. Direkton trafikun te objektet e synuara në Amazon VPC, duke u mbështetur në përmbajtjen e kërkesës.
Për shumë përdorues, Application Load Balancer fillimisht zëvendësoi Classic Load Balancer, pasi TCP nuk është aq i zakonshëm sa HTTP.
Le të krijojmë edhe një, duke pasur kështu dy balancues ngarkese:

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

MĂ« pas tregoni S3Bucket â ruajtja objektive e Amazon:

- Scheme
â balancues i brendshĂ«m ose i jashtĂ«m. QĂ«llimi Ă«shtĂ« tĂ« kuptohet nĂ«se LoadBalancer juaj duhet tĂ« marrĂ« adresa tĂ« jashtme pĂ«r tĂ« qenĂ« i aksesueshĂ«m nga jashtĂ«, ose nĂ«se 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Ă«.


- Subnetet
â nĂ«nndegĂ«t brenda VPC tuaj (si dhe zonat e disponueshmĂ«risĂ«). NĂ«nndegĂ«t pĂ«rcaktohen gjatĂ« krijimit. NĂ«se VPC Ă«shtĂ« e kufizuar nĂ« rajon, atĂ«herĂ« nĂ«nndegĂ«t janĂ« tĂ« kufizuara sipas zonave tĂ« disponueshmĂ«risĂ«. Kur krijoni njĂ« Load Balancer, Ă«shtĂ« mĂ« mirĂ« ta krijoni atĂ« nĂ« tĂ« paktĂ«n dy nĂ«nndegĂ« (ndihmon nĂ« rast se ndodhin probleme me njĂ« zonĂ« disponueshmĂ«rie);
- Dëgjuesit
â protokollet e balancuesit tuaj. Siç u pĂ«rmend mĂ« parĂ«, pĂ«r Classic Load Balancer, kĂ«to mund tĂ« jenĂ« HTTP, HTTPS, TCP dhe SSL; pĂ«r Network Load Balancer â TCP, UDP dhe TLS; pĂ«r Application Load Balancer â HTTP dhe HTTPS.
shembulli për Classic Load Balancer:

Ndërsa në Application Load Balancer ne shohim një ndërfaqe pak më të ndryshme dhe, në përgjithësi, një logjikë tjetër:

Komponentet e Load Balancer v2 (ALB dhe NLB)
Tani le tĂ« shqyrtojmĂ« mĂ« nĂ« detaje balancuesit e versionit tĂ« dytĂ« Application Load Balancer dhe Network Load Balancer. KĂ«ta balancues kanĂ« karakteristika tĂ« veçanta komponentesh. PĂ«r shembull, ka njĂ« koncept tĂ« tillĂ« si Grupi i Target â instancat (dhe funksionet). FalĂ« kĂ«tij komponenti, kemi krijuar mundĂ«sinĂ« pĂ«r tĂ« pĂ«rcaktuar se nĂ« cilin prej Grupeve tĂ« Target ne duam tĂ« orientojmĂ« trafikun.


Në një gjuhë të thjeshtë, në Target Groups ne specifikojmë instancat ku do të vijë trafiku. Nëse në Classic Load Balancer ju thjesht i lidhni instancat menjëherë me balancuesin, në Application Load Balancer ju së pari:
- krijoni Load Balancer;
- krijoni grupin e Target;
- drejtoni nëpër porta apo rregulla Load Balancer në grupet e duhura të Target;
- në grupet e Target caktoni instancat.
Kjo logjikë funksionimi mund të duket më e ndërlikuar, por në të vërtetë është më e përshtatshme.
Komponenti tjetĂ«r Ă«shtĂ« â Rregullat e Listener (rregullat pĂ«r ruterim). Kjo ka tĂ« bĂ«jĂ« vetĂ«m me Application Load Balancer. NĂ«se nĂ« Network Load Balancer ju thjesht krijoni njĂ« Listener, dhe ai dĂ«rgon trafikun nĂ« njĂ« grup konkret Target, nĂ« 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 ruterim tĂ« rregullave tĂ« Listener kishin tĂ« bĂ«nĂ« vetĂ«m me Application Load Balancer, atĂ«herĂ« Elastic IP ka tĂ« bĂ«jĂ« vetĂ«m me Network Load Balancer.
Të krijojmë një Network Load Balancer:


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

Elastic IP ofron një IP të vetëm, që mund të lidhet me instance të ndryshme EC2 në kohë. Nëse një instance EC2 ka një Elastic IP dhe ky instance përfundon ose ndalet, mund ta lidhni menjëherë një instance të re EC2 me adresën Elastic IP. Kështu, aplikacioni juaj aktual nuk do të ndalet, pasi aplikacionet do të shohin të njëjtën IP, edhe nëse EC2 aktual ka ndryshuar.
Këtu është në lidhje me arsyen se përse nevojitet Elastic IP. Shihni, ne shohim 3 IP adresë, por ato nuk do të qëndrojnë këtu përherë:

Amazon i ndryshon ato me kalimin e kohës, mund ta bëjë këtë çdo 60 sekonda (por në praktikë, natyrisht, më rrallë). Kështu, adresat IP mund të ndryshojnë. Dhe në rastin e Network Load Balancer, ju siç duket mund të lidheni mbi IP dhe ta përmendni atë në rregullat tuaja, politikat etj.

Dërgojmë përfundime
ELB siguron shpërndarjen e automatizuar të trafikut të hyrshëm në disa objekte qëllim (kontejnerë, instanca Amazon EC2, IP-adresa dhe funksione Lambda). ELB ka aftësinë për të shpërndarë trafikun me një ngarkesë të ndryshueshme, si brenda një zone disponueshmërie, ashtu edhe midis disa zonave të disponueshmërisë. Përdoruesi mund të zgjidhë nga tre lloje balancuesish, që ofrojnë si disponueshmëri të lartë, ashtu edhe automatizim dhe mbrojtje të mirë. Të gjitha këto janë të rëndësishme për të garantuar që aplikacionet tuaja të jenë rezistente ndaj dështimeve.
Avantazhet kryesore:
- disponueshmëri e lartë. Në marrëveshjen e shërbimit përfshihet 99,99% disponueshmëri për balancuesin e ngarkesës. Për shembull, disa zona të disponueshmërisë sigurojnë që trafiku të përpunohet vetëm nga objektet funksionale. Nënkuptimi është se mund të balancosh ngarkesën dhe në të gjithë rajonin, duke drejtuar trafikun në objektet e qëllimit funksional në zona të ndryshme të disponueshmërisë;
- siguria. ELB punon me Amazon VPC, duke ofruar mundĂ«si tĂ« ndryshme pĂ«r sigurimin e sigurisĂ« â kĂ«to pĂ«rfshijnĂ« menaxhimin e integruar tĂ« certifikatave, autentikimin e pĂ«rdoruesve dhe çdecryptimin SSL/TLS. E gjithĂ« kjo siguron menaxhim tĂ« centralizuar dhe fleksibĂ«l tĂ« cilĂ«simeve TLS;
- elasticiteti. ELB mund të përballojë ndryshimet e papritura në trafikun e rrjetit. Një integërim i thellë me Auto Scaling i jep aplikacionit burime të mjaftueshme kur ngarkesa ndryshon, pa nevojë për ndërhyrje manuale;
- fleksibiliteti. Mund të përdoren adresat IP për të drejtuar kërkesat në objektet e synuara të aplikacioneve tuaja. Kjo garanton fleksibilitet në virtualizimin e aplikacioneve të synuara, duke lejuar që të dislokohen disa aplikacione në një instancë. Duke qenë se aplikacionet mund të përdorin një port rrjeti dhe kanë grupe të veçanta sigurie, ndërveprimi midis aplikacioneve lehtësohet, kur kemi një arkitekturë, për shembull, të bazuar në mjegullat mikro;
- monitorimi dhe auditimi. Mund të monitoroni aplikacionet në kohë reale duke përdorur funksionet e Amazon CloudWatch. Bëhet fjalë për metrikat, log-et, dhe ndjekjen e kërkesave. Me fjalë të thjeshta, do të jeni në gjendje të identifikoni problemet dhe të përcaktoni mjaft saktë ngushticat e performancës;
- balancimi hibrid i ngarkesës. Mundësia e balancimit të ngarkesës ndërmjet burimeve lokale dhe AWS duke përdorur të njëjtin balancues e lehtëson migrimin ose zgjerimin e aplikacioneve lokale në cloud. Po ashtu, përpunimi i dështimeve me ndihmën e cloud-it bëhet më i lehtë.
Nëse ju interesojnë detajet, ja disa lidhje të dobishme nga faqja zyrtare e Amazon:
- .
Burimi: habr.com
