Karga orekatzea AWS ELB-rekin

Kaixo guztioi! Ikastaroa gaur hasiko da "Garatzaileentzako AWS", eta horrekin lotuta, ELBren berrikuspenari eskainitako webinar tematiko bat egin genuen. Orekatzaile motak aztertu ditugu eta orekatzaile batekin hainbat EC2 instantzia sortu ditugu. Beste erabilera-adibide batzuk ere aztertu ditugu.

Karga orekatzea AWS ELB-rekin

Webinarra entzun ondoren, egingo duzu:

  • ulertu zer den AWS Load Balancing;
  • Elastic Load Balancer motak eta bere osagaiak ezagutzea;
  • erabili AWS ELB zure praktikan.

Zergatik jakin behar duzu hori?

  • erabilgarria AWS ziurtagiriaren azterketak egiteko asmoa baduzu;
  • hau zerbitzarien artean karga banatzeko modu erraz bat da;
  • Lambda zure zerbitzuari (ALB) gehitzeko modu erraz bat da.

Ikasgai irekia egin du Rishat Teregulov, marketin enpresa bateko sistemen ingeniaria webgunea garatzeko eta laguntzeko.

Sarrera

Zer den Elastic Load Balancer bat beheko diagraman ikus daiteke, adibide sinple bat erakusten duena:

Karga orekatzea AWS ELB-rekin

Load Balancer-ek eskaerak onartzen ditu eta instantzia guztietan banatzen ditu. Instantzia bereizi bat dugu, Lambda funtzioak daude eta AutoScaling talde bat dago (zerbitzari talde bat).

AWS ELB motak

1. Ikus ditzagun mota nagusiak:

Karga-balantzatzaile klasikoa. AWS-ren lehen karga-orekatzaileak OSI Layer 4 eta Layer 7-n funtzionatzen du, HTTP, HTTPS, TCP eta SSL onartzen ditu. Oinarrizko karga orekatzea eskaintzen du Amazon EC2 instantzia askotan eta eskaera eta konexio mailan funtzionatzen du. Ireki dezagun (grisez nabarmenduta):

Karga orekatzea AWS ELB-rekin

Balantzaile hau zaharkitutzat jotzen da, beraz, kasu batzuetan soilik erabiltzea gomendatzen da. Adibidez, EC2‑Classic sarean eraikitako aplikazioetarako. Printzipioz, inork ez gaitu eragozten:

Karga orekatzea AWS ELB-rekin

2. Sareko karga-orekatzailea. Lan karga astunetarako egokia, OSI Layer 4-n funtzionatzen du (EKS eta ECS-en erabil daiteke), TCP, UDP eta TLS onartzen dira.

Network Load Balancer-ek trafikoa helburuetara bideratzen du Amazon VPC batean eta segundoko milioika eskaera prozesatzeko gai da latentzia oso baxuarekin. Gainera, trafiko-ereduak bat-bateko eta aldakor kargarekin kudeatzeko optimizatuta dago.

3. Aplikazioaren karga-orekatzailea. 7. geruzan funtzionatzen du, Lambda euskarria du, goiburuko eta bide-mailako arauak onartzen ditu, HTTP eta HTTPS onartzen ditu.
Eskaeren bideratze aurreratua eskaintzen du arkitektura modernoetan eraikitako aplikazioak entregatzera bideratuta, mikrozerbitzuak eta edukiontziak barne. Trafikoa Amazon VPC-ko helburuetara bideratzen du eskaeraren edukiaren arabera.

Erabiltzaile askorentzat, Application Load Balancer izan zen Classic Load Balancer ordezkatzeko lehen aukera, TCP ez baita HTTP bezain ohikoa.

Sor dezagun ere, eta horren ondorioz dagoeneko bi karga-orekatzaile izango ditugu:

Karga orekatzea AWS ELB-rekin

Karga-balantzearen osagaiak

Karga-balantze-osagai komunak (orekatzaile guztientzat komuna):

  • Sarbide Erregistro-politika

β€” zure ELB sarbide-erregistroak. Ezarpenak egiteko, Deskribapena atalera joan eta "Editatu atributuak" botoia hauta dezakezu:

Karga orekatzea AWS ELB-rekin

Ondoren, S3Bucket - Amazon objektuen biltegiratzea zehazten dugu:

Karga orekatzea AWS ELB-rekin

  • eskema

β€” barneko edo kanpoko orekatzailea. Kontua da zure LoadBalancer-ek kanpoko helbideak jaso behar dituen kanpotik iristeko, edo zure barneko karga-orekatzailea izan daitekeen;

  • Segurtasun taldeak

β€” Balantzaileari sarbide-kontrola. Funtsean, maila altuko suebakia da.

Karga orekatzea AWS ELB-rekin

Karga orekatzea AWS ELB-rekin

  • Azpisareak

β€” zure VPC barruko azpisareak (eta, horren arabera, erabilgarritasun eremua). Sorreran azpisareak zehazten dira. VPCak eskualdearen arabera mugatzen badira, azpisareak erabilgarritasun guneen arabera mugatzen dira. Load Balancer bat sortzean, hobe da gutxienez bi azpisaretan sortzea (lagungarri du Erabilgarritasun Zona batekin arazoak sortzen badira);

  • entzuleak

β€” zure orekatzaileen protokoloak. Lehen esan bezala, Classic Load Balancer-rako HTTP, HTTPS, TCP eta SSL izan daiteke, Network Load Balancer-rako - TCP, UDP eta TLS-rako, Application Load Balancer-erako - HTTP eta HTTPS.

Karga-orekatzaile klasikoaren adibidea:

Karga orekatzea AWS ELB-rekin

Baina aplikazioaren karga-balantzailean interfaze apur bat desberdina eta, oro har, logika ezberdina ikusten dugu:

Karga orekatzea AWS ELB-rekin

Load Balancer v2 osagaiak (ALB eta NLB)

Orain ikus ditzagun 2. bertsioaren orekatzaileen aplikazioaren karga-orekatzailea eta sareko karga-orekatzailea. Orekatzaile hauek beren osagaien ezaugarriak dituzte. Adibidez, xede-taldeak bezalako kontzeptu bat agertu zen - instantziak (eta funtzioak). Osagai honi esker, Xede Taldeetatik zeinetara bideratu nahi dugun trafikoa zehazteko aukera dugu.

Karga orekatzea AWS ELB-rekin

Karga orekatzea AWS ELB-rekin

Termino sinpleetan, Xede Taldeetan trafikoa nondik norakoak izango diren zehazten dugu. Karga-orekatzaile klasiko berean intentsitatea orekatzaileari berehala konektatzen baduzu, orduan aplikazioaren karga-orekatzailean duzu lehenik:

  • Load Balancer bat sortu;
  • Helburu-talde bat sortu;
  • zuzendu behar diren portuen edo Load Balancer arauen bidez beharrezko Helburu-taldeetara;
  • Helburu-taldeetan, instantziak esleitzen dituzu.

Funtzionamendu-logika honek konplikatuagoa dirudi, baina, egia esan, erosoagoa da.

Hurrengo osagaia da Entzulearen arauak (bideratzeko arauak). Hau aplikazioaren karga-orekatzaileari soilik aplikatzen zaio. Network Load Balancer-en Entzule bat besterik ez baduzu sortzen eta trafikoa Xede-talde jakin batera bidaltzen badu, aplikazioaren karga-balantzailean dena dibertigarriagoa eta erosoagoa.

Karga orekatzea AWS ELB-rekin

Orain esan ditzagun hitz batzuk hurrengo osagaiari buruz - IP elastikoa (NLBrako helbide estatikoak). Entzule-arauen bideratze-arauek aplikazioaren karga-orekatzaileari bakarrik eragiten badiote, Elastic IP-ek sareko karga-orekatzaileari soilik eragin zion.

Sortu dezagun sareko karga-orekatzailea:

Karga orekatzea AWS ELB-rekin

Karga orekatzea AWS ELB-rekin

Eta sorrera-prozesuan zehar ikusiko dugu IP elastikoa hautatzeko aukera ematen zaigula:

Karga orekatzea AWS ELB-rekin

IP elastikoak IP helbide bakarra eskaintzen du, denboran zehar EC2 instantzia ezberdinekin lotu daitekeena. EC2 instantzia batek Elastic IP helbide bat badu eta instantzia hori amaitzen edo gelditzen bada, berehala lotu dezakezu EC2 instantzia berri bat Elastic IP helbide batekin. Hala ere, zure uneko aplikazioak ez du funtzionatzeari utziko, aplikazioek IP helbide bera ikusten baitute, nahiz eta benetako EC2 aldatu.

Hemen beste erabilera kasu bat Elastic IP zergatik behar den gaiari buruz. Begira, 3 IP helbide ikusten ditugu, baina ez dira betiko hemen geratuko:

Karga orekatzea AWS ELB-rekin

Amazonek denboran zehar aldatzen ditu, agian 60 segundoro (baina praktikan, noski, gutxiagotan). Horrek esan nahi du IP helbideak alda daitezkeela. Eta Network Load Balancer-en kasuan, IP helbide bat lotu eta zure arauetan, politiketan, etab.

Karga orekatzea AWS ELB-rekin

Ondorioak atera

ELB-k sarrerako trafikoaren banaketa automatikoa eskaintzen du helburu anitzetan (edukiontziak, Amazon EC2 instantziak, IP helbideak eta Lambda funtzioak). ELB gai da trafikoa karga ezberdinekin banatzeko, bai erabilgarritasun-eremu bakarrean, bai hainbat erabilgarritasun-eremutan. Erabiltzaileak erabilgarritasun handia, eskalatze automatikoa eta babes ona eskaintzen duten hiru orekatzaile motaren artean aukera dezake. Hori guztia garrantzitsua da zure aplikazioen akatsen tolerantzia ziurtatzeko.

Abantaila nagusiak:

  • erabilgarritasun handia. Zerbitzu-akordioak % 99,99ko erabilgarritasuna suposatzen du karga-orekatzeko. Adibidez, hainbat Erabilgarritasun Zonak trafikoa objektu osasuntsuek soilik prozesatzen dutela ziurtatzen dute. Izan ere, karga orekatu dezakezu eskualde osoan, trafikoa erabilgarritasun-eremu desberdinetako helburu osasuntsuetara birbideratuz;
  • segurtasuna. ELBk Amazon VPC-rekin lan egiten du, eta hainbat segurtasun gaitasun eskaintzen ditu: ziurtagirien kudeaketa integratua, erabiltzaileen autentifikazioa eta SSL/TLS deszifratzea. Guztiak batera, TLS ezarpenen kudeaketa zentralizatua eta malgua eskaintzen du;
  • elastikotasuna. ELBk sareko trafikoan bat-bateko aldaketak kudeatu ditzake. Eta Auto Scaling-en integrazio sakonak aplikazioari baliabide nahikoa ematen dio karga aldatzen bada, eskuzko esku-hartzea behar izan gabe;
  • malgutasuna. IP helbideak erabil ditzakezu eskaerak zure aplikazioen helburuetara bideratzeko. Honek malgutasuna ematen du xede-aplikazioak birtualizatzerakoan, eta, horrela, aplikazio anitzak instantzia bakarrean ostatatzeko aukera ematen du. Aplikazioek sareko ataka bakarra erabil dezaketenez eta segurtasun talde bereiziak dituztenez, aplikazioen arteko komunikazioa erraztu egiten da, esate baterako, mikrozerbitzuetan oinarritutako arkitektura bat dugunean;
  • jarraipena eta auditoria. Aplikazioak denbora errealean kontrola ditzakezu Amazon CloudWatch funtzioak erabiliz. Neurriez, erregistroez, eskaeraren jarraipenaz ari gara. Termino sinpleetan, arazoak identifikatzeko eta errendimendu-botoien lepoak nahiko zehatz identifikatu ahal izango dituzu;
  • Karga-oreka hibridoa. Baliabide lokalen eta AWSren arteko oreka kargatzeko gaitasunak, karga-orekatzaile bera erabiliz, aplikazio lokalak hodeira migratzea edo zabaltzea errazten du. Hodeia erabiliz hutsegiteen kudeaketa ere errazten da.

Xehetasunak interesatzen bazaizkizu, hona hemen Amazon webgune ofizialeko esteka erabilgarri gehiago:

  1. Karga-oreka elastikoa.
  2. Karga orekatzeko gaitasunak elastikoak.

Iturria: www.habr.com

Gehitu iruzkin berria