Sveiki visiem! Kurss sÄkas Å”odien
- saprast, kas ir AWS slodzes līdzsvaroŔana;
- pÄrzinÄt elastÄ«gÄ slodzes lÄ«dzsvara un tÄ sastÄvdaļu veidus;
- savÄ praksÄ izmantojiet AWS ELB.
KÄpÄc jums tas vispÄr ir jÄzina?
- noderÄ«gi, ja plÄnojat kÄrtot AWS sertifikÄcijas eksÄmenus;
- tas ir vienkÄrÅ”s veids, kÄ sadalÄ«t slodzi starp serveriem;
- Tas ir vienkÄrÅ”s veids, kÄ pievienot Lambda savam pakalpojumam (ALB).
NovadÄ«ja atvÄrto nodarbÄ«bu
Ievads
Kas ir elastÄ«gais slodzes balansÄtÄjs, var redzÄt zemÄk esoÅ”ajÄ diagrammÄ, kurÄ parÄdÄ«ts vienkÄrÅ”s piemÄrs:
Load Balancer pieÅem pieprasÄ«jumus un izplata tos dažÄdÄs instancÄs. Mums ir viens atseviŔķs gadÄ«jums, ir Lambda funkcijas un ir AutoScaling grupa (serveru grupa).
AWS ELB veidi
1. Apskatīsim galvenos veidus:
Klasisks slodzes balansÄtÄjs. Pats pirmais AWS slodzes balansÄtÄjs darbojas gan OSI 4., gan 7. slÄnÄ«, atbalstot HTTP, HTTPS, TCP un SSL. Tas nodroÅ”ina pamata slodzes lÄ«dzsvaroÅ”anu vairÄkos Amazon EC2 gadÄ«jumos un darbojas gan pieprasÄ«juma, gan savienojuma lÄ«menÄ«. AtvÄrsim to (izcelts pelÄkÄ krÄsÄ):
Å is balansÄtÄjs tiek uzskatÄ«ts par novecojuÅ”u, tÄpÄc to ieteicams lietot tikai noteiktos gadÄ«jumos. PiemÄram, lietojumprogrammÄm, kas tika izveidotas EC2 Classic tÄ«klÄ. PrincipÄ neviens neliedz mums to izveidot:
2. TÄ«kla slodzes balansÄtÄjs. PiemÄrots lielai slodzei, darbojas OSI Layer 4 (var izmantot EKS un ECS), tiek atbalstÄ«ti TCP, UDP un TLS.
TÄ«kla slodzes lÄ«dzsvarotÄjs novirza trafiku uz mÄrÄ·iem Amazon VPC un spÄj apstrÄdÄt miljoniem pieprasÄ«jumu sekundÄ ar Ä«paÅ”i zemu latentumu. TurklÄt tas ir optimizÄts, lai apstrÄdÄtu satiksmes modeļus ar pÄkÅ”ÅÄm un mainÄ«gÄm slodzÄm.
3. Lietojumprogrammas slodzes lÄ«dzsvarotÄjs. Darbojas 7. slÄnÄ«, ir Lambda atbalsts, atbalsta galvenes un ceļa lÄ«meÅa noteikumus, atbalsta HTTP un HTTPS.
NodroÅ”ina uzlabotu pieprasÄ«jumu marÅ”rutÄÅ”anu, kas vÄrsta uz modernu arhitektÅ«ru, tostarp mikropakalpojumu un konteineru, lietojumprogrammu piegÄdi. Novirza trafiku uz Amazon VPC mÄrÄ·iem, pamatojoties uz pieprasÄ«juma saturu.
Daudziem lietotÄjiem Application Load Balancer bija pirmÄ izvÄle, lai aizstÄtu Classic Load Balancer, jo TCP nav tik izplatÄ«ts kÄ HTTP.
Izveidosim arÄ« to, kÄ rezultÄtÄ mums jau bÅ«s divi slodzes balansÄtÄji:
Slodzes lÄ«dzsvara sastÄvdaļas
KopÄjÄs slodzes lÄ«dzsvara sastÄvdaļas (kopÄ«gs visiem balansieriem):
- Piekļuves reÄ£istrÄÅ”anas politika
ā jÅ«su ELB piekļuves žurnÄli. Lai veiktu iestatÄ«jumus, varat doties uz sadaļu Apraksts un atlasÄ«t pogu RediÄ£Ät atribÅ«tus:
PÄc tam mÄs norÄdÄm S3Bucket - Amazon objektu krÄtuvi:
- ShÄma
ā iekÅ”Äjais vai ÄrÄjais balansÄtÄjs. JautÄjums ir par to, vai jÅ«su LoadBalancer ir jÄsaÅem ÄrÄjÄs adreses, lai tas bÅ«tu pieejams no Ärpuses, vai arÄ« tas var bÅ«t jÅ«su iekÅ”Äjais slodzes balansÄtÄjs;
- DroŔības grupas
ā piekļuves kontrole balansÄtÄjam. BÅ«tÄ«bÄ tas ir augsta lÄ«meÅa ugunsmÅ«ris.
- ApakŔtīkli
ā apakÅ”tÄ«kli jÅ«su VPC (un attiecÄ«gi pieejamÄ«bas zonÄ). ApakÅ”tÄ«kli tiek norÄdÄ«ti izveides laikÄ. Ja VPC ierobežo reÄ£ions, tad apakÅ”tÄ«klus ierobežo pieejamÄ«bas zonas. Veidojot Load Balancer, labÄk to izveidot vismaz divos apakÅ”tÄ«klos (palÄ«dz, ja rodas problÄmas ar vienu PieejamÄ«bas zonu);
- KlausÄ«tÄji
ā jÅ«su balansÄÅ”anas protokoli. KÄ minÄts iepriekÅ”, Classic Load Balancer tas var bÅ«t HTTP, HTTPS, TCP un SSL, tÄ«kla slodzes lÄ«dzsvarotÄjam - TCP, UDP un TLS, lietojumprogrammu slodzes lÄ«dzsvarotÄjam - HTTP un HTTPS.
KlasiskÄ slodzes lÄ«dzsvara piemÄrs:
Bet Lietojumprogrammas slodzes lÄ«dzsvarotÄjÄ mÄs redzam nedaudz atŔķirÄ«gu saskarni un kopumÄ atŔķirÄ«gu loÄ£iku:
Load Balancer v2 komponenti (ALB un NLB)
Tagad apskatÄ«sim tuvÄk 2. versijas balansÄtÄjus Application Load Balancer un Network Load Balancer. Å iem balansÄtÄjiem ir savas komponentu funkcijas. PiemÄram, parÄdÄ«jÄs tÄds jÄdziens kÄ mÄrÄ·a grupas - gadÄ«jumi (un funkcijas). Pateicoties Å”im komponentam, mums ir iespÄja norÄdÄ«t, uz kuru no mÄrÄ·a grupÄm vÄlamies novirzÄ«t trafiku.
VienkÄrÅ”i izsakoties, mÄrÄ·a grupÄs mÄs norÄdÄm gadÄ«jumus, kuros tiks saÅemta trafika. Ja tajÄ paÅ”Ä klasiskajÄ slodzes balansÄtÄjÄ jÅ«s vienkÄrÅ”i nekavÄjoties pievienojat intensitÄti lÄ«dzsvarotÄjam, tad lietojumprogrammÄ Load Balancer vispirms:
- izveidot Load Balancer;
- izveidot mÄrÄ·a grupu;
- tieÅ”i caur nepiecieÅ”amajiem portiem vai Load Balancer noteikumiem uz nepiecieÅ”amajÄm mÄrÄ·a grupÄm;
- sadaÄ¼Ä MÄrÄ·a grupas jÅ«s pieŔķirat gadÄ«jumus.
Å Ä« darbÄ«bas loÄ£ika var Ŕķist sarežģītÄka, bet patiesÄ«bÄ tÄ ir ÄrtÄka.
NÄkamais komponents ir KlausÄ«tÄju noteikumi (marÅ”rutÄÅ”anas noteikumi). Tas attiecas tikai uz Application Load Balancer. Ja programmÄ Network Load Balancer jÅ«s vienkÄrÅ”i izveidojat uztvÄrÄju un tas nosÅ«ta trafiku uz noteiktu mÄrÄ·a grupu, tad programmÄ Application Load Balancer viss
Tagad teiksim dažus vÄrdus par nÄkamo komponentu - ElastÄ«ga IP (statiskÄs adreses NLB). Ja klausÄ«tÄja kÄrtulu marÅ”rutÄÅ”anas kÄrtulas ietekmÄja tikai lietojumprogrammu slodzes balansÄtÄju, tad elastÄ«gais IP ietekmÄja tikai tÄ«kla slodzes balansÄtÄju.
Izveidosim tÄ«kla slodzes balansÄtÄju:
Un tikai izveides procesÄ mÄs redzÄsim, ka mums ir dota iespÄja izvÄlÄties elastÄ«go IP:
ElastÄ«gÄ IP nodroÅ”ina vienu IP adresi, ko laika gaitÄ var saistÄ«t ar dažÄdiem EC2 gadÄ«jumiem. Ja EC2 instancei ir elastÄ«ga IP adrese un Ŕī instance tiek pÄrtraukta vai apturÄta, varat nekavÄjoties saistÄ«t jaunu EC2 gadÄ«jumu ar elastÄ«go IP adresi. TomÄr jÅ«su paÅ”reizÄjÄ lietojumprogramma nepÄrtrauks darboties, jo lietojumprogrammÄm joprojÄm ir redzama viena un tÄ pati IP adrese, pat ja ir mainÄ«jusies reÄlÄ EC2.
Ŕeit ir
Amazon tos maina laika gaitÄ, varbÅ«t ik pÄc 60 sekundÄm (bet praksÄ, protams, retÄk). Tas nozÄ«mÄ, ka IP adreses var mainÄ«ties. Un Network Load Balancer gadÄ«jumÄ varat vienkÄrÅ”i piesaistÄ«t IP adresi un norÄdÄ«t to savos noteikumos, politikÄs utt.
IzdarÄ«t secinÄjumus
ELB nodroÅ”ina automÄtisku ienÄkoÅ”Äs trafika sadali pa vairÄkiem mÄrÄ·iem (konteineriem, Amazon EC2 gadÄ«jumiem, IP adresÄm un Lambda funkcijÄm). ELB spÄj sadalÄ«t trafiku ar mainÄ«gu slodzi gan vienÄ pieejamÄ«bas zonÄ, gan vairÄkÄs pieejamÄ«bas zonÄs. LietotÄjs var izvÄlÄties no trÄ«s veidu balansieriem, kas nodroÅ”ina augstu pieejamÄ«bu, automÄtisko mÄrogoÅ”anu un labu aizsardzÄ«bu. Tas viss ir svarÄ«gi, lai nodroÅ”inÄtu jÅ«su lietojumprogrammu kļūdu toleranci.
Galvenie plusi:
- augsta pieejamÄ«ba. Pakalpojuma lÄ«gums paredz 99,99% slodzes balansÄtÄja pieejamÄ«bu. PiemÄram, vairÄkas pieejamÄ«bas zonas nodroÅ”ina, ka trafiku apstrÄdÄ tikai veseli objekti. Faktiski jÅ«s varat lÄ«dzsvarot slodzi visÄ reÄ£ionÄ, novirzot trafiku uz veseliem mÄrÄ·iem dažÄdÄs pieejamÄ«bas zonÄs;
- droŔība. ELB strÄdÄ ar Amazon VPC, nodroÅ”inot dažÄdas droŔības iespÄjas ā integrÄtu sertifikÄtu pÄrvaldÄ«bu, lietotÄju autentifikÄciju un SSL/TLS atÅ”ifrÄÅ”anu. Tas viss kopÄ nodroÅ”ina centralizÄtu un elastÄ«gu TLS iestatÄ«jumu pÄrvaldÄ«bu;
- elastÄ«ba. ELB var apstrÄdÄt pÄkÅ”Åas izmaiÅas tÄ«kla trafikÄ. Un dziļa integrÄcija ar automÄtisko mÄrogoÅ”anu nodroÅ”ina lietojumprogrammai pietiekami daudz resursu, ja mainÄs slodze, neprasot manuÄlu iejaukÅ”anos;
- elastÄ«ba. Varat izmantot IP adreses, lai novirzÄ«tu pieprasÄ«jumus uz savu lietojumprogrammu mÄrÄ·iem. Tas nodroÅ”ina elastÄ«bu, virtualizÄjot mÄrÄ·a lietojumprogrammas, tÄdÄjÄdi nodroÅ”inot iespÄju mitinÄt vairÄkas lietojumprogrammas vienÄ instancÄ. TÄ kÄ lietojumprogrammas var izmantot vienu tÄ«kla portu un tÄm ir atseviŔķas droŔības grupas, saziÅa starp lietojumprogrammÄm ir vienkÄrÅ”ota, ja mums ir, piemÄram, uz mikropakalpojumiem balstÄ«ta arhitektÅ«ra;
- uzraudzÄ«ba un audits. Varat pÄrraudzÄ«t lietojumprogrammas reÄllaikÄ, izmantojot Amazon CloudWatch funkcijas. MÄs runÄjam par metriku, žurnÄliem, pieprasÄ«jumu izsekoÅ”anu. VienkÄrÅ”i sakot, jÅ«s varÄsiet diezgan precÄ«zi noteikt problÄmas un precÄ«zi noteikt darbÄ«bas vÄjÄs vietas;
- hibrÄ«da slodzes balansÄÅ”ana. IespÄja slodzes lÄ«dzsvaru starp lokÄlajiem resursiem un AWS, izmantojot vienu un to paÅ”u slodzes balansÄtÄju, ļauj Ärti migrÄt vai paplaÅ”inÄt lokÄlÄs lietojumprogrammas uz mÄkoni. Izmantojot mÄkoni, tiek vienkÄrÅ”ota arÄ« kļūmju apstrÄde.
Ja jÅ«s interesÄ sÄ«kÄka informÄcija, Å”eit ir vÄl dažas noderÄ«gas saites no oficiÄlÄs Amazon vietnes:
Avots: www.habr.com