Tere kĂ”igile! TĂ€na algab kursus , seoses sellega korraldasime vastava temaatilise veebinari, mis oli pĂŒhendatud ELB ĂŒlevaatele. Arutasime tasakaalustajaid ja lĂ”ime mitmeid EC2 instantsse koos tasakaalustajaga. Samuti uurisime teisi kasutamisnĂ€iteid.

, te mÔistate:
- mida tÀhendab AWS Load Balancing;
- Elastic Load Balancer'i tĂŒĂŒpe ja selle komponente;
- kuidas kasutada AWS ELB-d oma praktikas.
Miks seda Ôppida:
- kasulik, kui plaanite AWS sertifitseerimise eksameid sooritada;
- see on lihtne viis koormuse jaotamiseks serverite vahel;
- see on lihtne viis Lambda lisamiseks teie teenusesse (ALB).
Avatud Ă”ppetunni viis lĂ€bi , sĂŒsteemiinsener turundusettevĂ”ttes, mis tegeleb veebisaitide arendamise ja hooldamisega.
Sissejuhatus
Elastic Load Balancer'iga saate tutvuda alloleval diagrammil, kus on esitatud lihtsaim nÀide:

Tasakaalustaja vĂ”tab vastu pĂ€ringud ja jaotab need instantside vahel. Meil on ĂŒks eraldi instants, Lambda-funktsioonid ja AutoScaling-grupp (serverite grupp).
AWS ELB tĂŒĂŒbid
1. Vaatleme pÔhitooteid:
Classic Load Balancer. AWSi esimene koormuse tasakaalustaja, töötab nii 4. kui 7. OSI tasemel, toetab HTTP, HTTPS, TCP ja SSL. See tagab pĂ”hilise koormuse tasakaalu mitme Amazon EC2 instantsi vahel ja töötab nii pĂ€ringute kui ka ĂŒhenduste tasemel. Avame selle (esiletĂ”stetud hallina):

See tasakaalustaja on vananenud, seetĂ”ttu soovitatakse seda kasutada vaid erandjuhtudel. NĂ€iteks rakenduste puhul, mis on ehitatud EC2âClassic vĂ”rgus. Praktiliselt ei takista meid keegi selle loomist:

2. Network Load Balancer. Sobib suure koormuse jaoks, töötab 4. OSI tasemel (vÔib kasutada EKS-is ja ECS-is), toetab TCP, UDP ja TLS.
Network Load Balancer suunab liikluse sihtobjektidele Amazon VPC-s ja suudab töödelda miljoneid pÀringuid sekundis ÀÀrmiselt madalate latentsusaegadega. Lisaks on see optimeeritud Àkiliste ja muutuva koormuse liikluse mudelite töötlemiseks.
3. Application Load Balancer. Töötab 7. tasemel, toetab Lambda't, toetab reegleid pealkirjade ja teede tasemel, toetatakse HTTP ja HTTPS.
Tagab taotlusel pÔhineva rakenduste edastamise laiemat marsruutimist, sealhulgas mikroteenuseid ja konteinerite arhitektuure. Suunab liikluse sihtobjektidesse Amazon VPC, tuginedes pÀringu sisule.
Paljudele kasutajatele on Application Load Balancer asendanud Classic Load Balancer, kuna TCP ei ole nii levinud vÔrreldes HTTP-ga.
Loome selle ka, mille tulemuseks on juba kaks koormuse tasandajat:

Koormuse tasandamise komponendid
Ăksikud koormuse tasandamise komponendid (omane kĂ”igile koormuse tasandajatele):
- Access Logging Policy
â teie juurdepÀÀsulood ELB-le. Seadeteks mine, klĂ”psa Descriptions ja vali nupp 'Muuda atribuute':

SeejĂ€rel mĂ€rgime S3Bucket â Amazoni objektide salvestusteenus:

- Schema
â sisemine vĂ”i vĂ€line koormuse tasandaja. Idee on selles, et kas teie LoadBalancer peab saama vĂ€list aadressi, et olla vĂ€ljastpoolt kergesti ligipÀÀsetav, vĂ”i vĂ”ib see olla teie sisemine koormuse tasandaja;
- Turvagrupp
â juurdepÀÀsukoontrolind koormuse tasandajale. Tegelikult on see kĂ”rge taseme tulemĂŒĂŒr.


- AlalÔigud
â alajaotused teie VPC-s (ja vastavalt ka kĂ€ttesaadavuspiirkondades). Alajaotused mÀÀratakse loomisel. Kui VPC on piirkondadega piiratud, on alajaotused piiratud kĂ€ttesaadavuspiirkondadega. Kui loote Load Balancer'i, on parem luua see vĂ€hemalt kahes alajaotuses (see aitab, kui ĂŒhega kĂ€ttesaadavuspiirkonnast tekib probleeme);
- Listeners
â teie Load Balancer'i protokollid. Nagu varem mainitud, vĂ”ib Classic Load Balancer'i puhul see olla HTTP, HTTPS, TCP ja SSL; Network Load Balancer'i puhul â TCP, UDP ja TLS; Application Load Balancer'i puhul â HTTP ja HTTPS.
NĂ€ide Classic Load Balancer'ist:

Kuid Application Load Balancer'is nĂ€eme veidi teistsugust liidest ja ĂŒldiselt erinevat loogikat:

Load Balancer v2 komponentide (ALB ja NLB) kohta
NĂŒĂŒd vaatame lĂ€hemalt Application Load Balancer'i ja Network Load Balancer'i teise versiooni. Nendel Load Balancer'itel on oma komponentide eripĂ€rad. NĂ€iteks on tekkinud selline mĂ”isted nagu Target Groups â instantsid (ja funktsioonid). TĂ€nu sellele komponendile saame suunata liiklust soovitud Target Groups'ile.


Lihtsamalt öeldes mÀÀrame sihtrĂŒhmades instantsid, kuhu liiklus suunatakse. Kui Classic Load Balanceris ĂŒhendate instantsid lihtsalt otse tasakaalustajale, siis Application Load Balanceris peate esmalt:
- looma Load Balancer'i;
- looma sihtrĂŒhma;
- suunama vajalikud portide vĂ”i reeglite jĂ€rgi Load Balancer'i Ă”igetele sihtrĂŒhmadele;
- sihtrĂŒhmades mÀÀrama instantsid.
Selline töölogika vÔib tunduda keerulisem, kuid tegelikult on see mugavam.
JĂ€rgmine komponent â Listener reeglid (suunamisreeglid). See puudutab ainult Application Load Balancer'i. Kui Network Load Balancer'is loote lihtsalt Listener'i ja see suunab liikluse konkreetsele sihtrĂŒhmale, siis Application Load Balancer'is on kĂ”ik .

NĂŒĂŒd ĂŒtleme paar sĂ”na jĂ€rgmise komponendi kohta â Elastic IP (staatilised aadressid NLB jaoks). Kui Listener reeglite suunamisreeglid puudutasid ainult Application Load Balancer'it, siis Elastic IP puudutab ainult Network Load Balancer'it.
Loome Network Load Balancer'i:


Ja just loomise protsessis nÀeme, et meile antakse vÔimalus valida Elastic IP:

Elastne IP pakub ainulaadset IP-aadressi, mida saab aja jooksul siduda erinevate EC2 eksemplaridega. Kui EC2 eksemplaril on elastne IP-aadress ja see eksemplar on lÔpetatud vÔi peatatud, saab kohe siduda uue EC2 eksemplari elastse IP-aadressiga. Sel juhul ei lÔpetata teie praeguse rakenduse töö, kuna rakendused nÀevad ikka sama IP-aadressi, isegi kui tegelik EC2 on muutunud.
Siin on kui rÀÀkida sellest, miks elastne IP vajalik on. Vaadake, nÀeme 3 IP-aadressi, kuid need ei jÀÀ siia igavesti:

Amazon muudab neid aja jooksul, vÔidakse muuta iga 60 sekundi jÀrel (kuid praktikas palju harvem). See tÀhendab, et IP-aadressid vÔivad muutuda. Ja Network Load Balancer'i puhul saate just siduda IP-aadressi ning kasutada seda oma reeglites, poliitikates jms.

Teeme jÀreldusi
ELB tagab automaatse jaotuse saabumise liiklust mitme sihtobjekti vahel (konteinerid, Amazon EC2 instantsid, IP-aadressid ja Lambda funktsioonid). ELB suudab jaotada liiklust, mis muutub sĂ”ltuvalt koormusest, nii ĂŒhes kĂ€ttesaadavuse tsoonis kui ka mitme kĂ€ttesaadavuse tsooni vahel. Kasutaja vĂ”ib valida kolme erineva tasakaalustaja vahel, mis tagavad nii kĂ”rge kĂ€ttesaadavuse, automaatselt skaleerumise kui ka hea kaitse. KĂ”ik see on oluline, et tagada teie rakenduste talitluspidevust.
Peamised eelised:
- kÔrge kÀttesaadavus. Teenuse tasemelepingus on ette nÀhtud 99,99% kÀttesaadavus koormuse tasakaalustajale. NÀiteks tagavad mitmed kÀttesaadavuse tsoonid, et liiklust töötleb ainult töökorras objekti. Tegelikult on vÔimalik koormust tasakaalustada kogu piirkonnas, suunates liiklust ainult töökorras sihtobjektidele erinevates kÀttesaadavuse tsoonides.
- turvalisus. ELB töötab Amazon VPC-s, pakkudes erinevaid turvahalduse vĂ”imalusi â sealhulgas integreeritud sertifikaadihaldus, kasutajate autentimine ja SSL/TLS dekrĂŒpteerimine. KĂ”ik see tagab tsentraliseeritud ja paindliku TLS-i seadistamise haldamise;
- paindlikkus. ELB suudab töötleda Ă€kilisi muutusi vĂ”rgu liikluses. SĂŒva integratsioon Auto Scaling-iga annab rakendusele piisavad ressursid koormuse muutumisel, ilma et oleks vajalik kĂ€sitsi sekkuda;
- paindlikkus. IP-aadresse saab kasutada pĂ€ringute suunamiseks teie rakenduste sihtobjektidele. See tagab paindlikkuse sihtrakenduste virtualiseerimisel, vĂ”imaldades mitu rakendust ĂŒhel instantsil. Kuna rakendused saavad kasutada ĂŒhte vĂ”rguporti ja neil on eraldi turgrupid, lihtsustab see rakendustevahelist suhtlemist, kui meil on nĂ€iteks mikroteenusel pĂ”hinev arhitektuur;
- monitooring ja audit. Rakendusi saab jĂ€lgida reaalajas, kasutades Amazon CloudWatch funktsioone. Juttu on mÔÔdikestest, logidest ja pĂ€ringute jĂ€lgimisest. Lihtsustatult öeldes, saate tuvastada probleeme ja ĂŒsna tĂ€pselt mÀÀrata jĂ”udluse kitsaskohad;
- hĂŒbriidne koormuse tasakaalustus. Koormuse tasakaalustamine kohalike ressursside ja AWS vahel sama tasakaalustajaga lihtsustab kohalike rakenduste migreerimist vĂ”i laiendamist pilve. Samuti lihtsus ka rikete töötlemine pilve abil.
Kui soovite rohkem teavet, on siin veel paar kasulikku linki Amazon'i ametlikult veebisaidilt:
- .
Allikas: habr.com
