Balancimi i ngarkesës me AWS ELB

Përshëndetje të gjithëve! Sot fillon kursi «AWS për zhvilluesit», 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.

Balancimi i ngarkesës me AWS ELB

Pas dëgjimit të webinarit, 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 Rishat Teregulev, 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Ă«:

Balancimi i ngarkesës me AWS ELB

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):

Balancimi i ngarkesës me AWS ELB

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Ă«:

Balancimi i ngarkesës me AWS ELB

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:

Balancimi i ngarkesës me AWS ELB

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»:

Balancimi i ngarkesës me AWS ELB

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

Balancimi i ngarkesës me AWS ELB

  • 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Ă«.

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

  • 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:

Balancimi i ngarkesës me AWS ELB

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

Balancimi i ngarkesës me AWS ELB

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.

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

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 Ă«shtĂ« mĂ« argĂ«tuese dhe mĂ« e pĂ«rshtatshme..

Balancimi i ngarkesës me AWS ELB

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:

Balancimi i ngarkesës me AWS ELB

Balancimi i ngarkesës me AWS ELB

Dhe pikërisht 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 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ë një tjetër rast përdorimi 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ë:

Balancimi i ngarkesës me AWS ELB

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.

Balancimi i ngarkesës me AWS ELB

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:

  1. Elastic Load Balancing.
  2. Mundësitë e Elastic Load Balancing.

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster