Tere kĂ”igile! TĂ€na algab kursus , seoses sellega korraldasime vastava temaatilise veebiseminari, mis oli pĂŒhendatud ELB ĂŒlevaatele. Arutasime tasakaalustajaid ja lĂ”ime mitu EC2 instantsi tasakaalustajaga. Uurisime ka muid kasutusnĂ€ite.

, te saate:
- aru, mis on AWS Load Balancing;
- teada Elastic Load Balancer'i tĂŒĂŒbid ja selle koostisosad;
- kasutada AWS ELB-d oma praktikas.
Miks on seda osata:
- see on kasulik, kui plaanite AWS sertifitseerimise eksameid;
- see on lihtne viis koormuse jaotamiseks serverite vahel;
- see on lihtne viis Lambda funktsiooni lisamiseks teie teenusesse (ALB).
AvaĂ”pet viis lĂ€bi , sĂŒsteeminsener turundusettevĂ”ttes, mis tegeleb veebilehtede arendamise ja hooldamisega.
Sissejuhatus
Mida Elastic Load Balancer endast kujutab, saab nÀha alloleval diagrammil, kus on toodud lihtsaim nÀide:

Load Balancer vĂ”tab vastu pĂ€ringud ja jagab need instantside vahel. Meil on ĂŒks eraldi instants, on Lambda funktsioonid ja on AutoScaling grupp (serverite grupp).
AWS ELB tĂŒĂŒbid
1. Vaadakem pĂ”hisihtide tĂŒĂŒpe:
Classic Load Balancer. AWS-i esimene tasakaalustaja, töötab nii 4. kui ka 7. tasemel OSI, toetatakse HTTP, HTTPS, TCP ja SSL. See tagab baastaseme koormuse tasakaalu mitme Amazon EC2 instansi vahel ja töötab nii pĂ€ringute tasemel kui ka ĂŒhenduse tasemel. Avame selle (halliks esile tĂ”stetud):

Seda tasakaalustajat peetakse aegunuks, seetĂ”ttu on soovitatav seda kasutada vaid teatud juhtudel. NĂ€iteks rakenduste jaoks, mis on loodud EC2âClassic vĂ”rgus. Ăldiselt ei takista meid selle loomine:

2. Network Load Balancer. Sobib kÔrge koormuse jaoks, töötab 4. tasemel OSI (vÔib kasutada EKS-is ja ECS-is), toetatakse TCP, UDP ja TLS.
Network Load Balancer suunab liikluse sihtiesemetele Amazon VPC-s ja suudab töödelda miljoneid pÀringuid sekundis vÀga madala latentsusega. Lisaks on see optimeeritud ootamatute ja muutuva koormuse liiklusmallide töötlemiseks.
3. Application Load Balancer. Töötab 7. tasemel, toetab Lambda't, toetab reegleid pÀiste ja teede tasemel, toetatakse HTTP ja HTTPS.
Tagab vÔimaldab arenenud pÀringute suunamist, mis keskendub rakenduste kohaletoimetamisele, mis on loodud kaasaegsete arhitektuuride, sealhulgas mikroteenuste ja konteinerite, baasil. Suunab liiklust sihtobjektide poole Amazon VPC-s, tuginedes pÀringu sisule.
Paljude kasutajate jaoks asendas Application Load Balancer esmalt Classic Load Balancer, kuna TCP ei ole nii levinud kui HTTP.
Loome selle ka, mille tulemusena on meil juba kaks koormuse tasakaalustajat:

Koormuse tasakaalustaja komponendid
Ăldised koormuse tasakaalustaja komponendid (kĂ”ikidele koormuse tasakaalustajatele iseloomulikud):
- Access Logging Policy
â teie ligipÀÀsulogid ELB-le. Seadistuste tegemiseks liikuda Descriptionsse ja valida nupp âMuuda atribuuteâ:

SeejĂ€rel mĂ€rkige S3Bucket â Amazoni objektide salvestus:

- Scheme
â sisemine vĂ”i vĂ€line koormuse tasakaalustaja. Idee seisneb selles, kas teie LoadBalancer peab saama vĂ€liseid aadresse, et olla vĂ€ljastpoolt kergesti ligipÀÀsetav, vĂ”i vĂ”ib see olla teie sisemine tasakaalustaja;
- Turvagrupped
â juurdepÀÀsu kontroll koormuse tasakaalustajale. Sisuliselt on see kĂ”rgema taseme tulemĂŒĂŒr.


- AlamvÔrgud
â alamvĂ”rgud teie VPC-s (vastavalt ka kĂ€ttesaadavuse tsoonidele). AlamvĂ”rke mÀÀratakse loomisel. Kui VPC on piirkondlikult piiratud, siis on AlamvĂ”rgud piiratud tsoonide kĂ€tte saadavuse jĂ€rgi. Kui loote koormuse tasakaalustajat, on parem luua see vĂ€hemalt kahe alamvĂ”rgu kaudu (see aitab, kui koos kĂ€ttesaadavuse tsooniga tekivad probleemid);
- Kuulajad
â teie koormuse tasakaalustaja protokollid. Nagu juba varem mainitud, on Classic Load Balancer jaoks need HTTP, HTTPS, TCP ja SSL, Network Load Balancer jaoks â TCP, UDP ja TLS, Application Load Balancer jaoks â HTTP ja HTTPS.
NĂ€ide Classic Load Balancer'ist:

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

Load Balancer v2 (ALB ja NLB) komponendid
NĂŒĂŒd vaatame lĂ€hemalt Application Load Balancer ja Network Load Balancer teise versiooni tasakaalustajaid. Neil tasakaalustajatel on oma komponentide eripĂ€rad. NĂ€iteks on tekkinud selline mĂ”iste nagu Target Groups â instantsid (ja funktsioonid). Selle komponendi tĂ”ttu on meil vĂ”imalus mÀÀrata, millise Target Groupi poole me soovime liiklust suunata.


Lihtsustatult öeldes, Target Groups'is mĂ€rgime instantsid, kuhu liiklus tuleb. Kui Classic Load Balancer'is ĂŒhendate instantsid otse tasakaalustajaga, siis Application Load Balancer'is peate esmalt:
- looma Load Balancer'i;
- looma Target-grupi;
- suunates vajalikesse Target Groups Ôigete portide vÔi Load Balancer'i reeglite kaudu;
- Target-gruppides mÀÀrate instantsid.
Selline töölogika vÔib tunduda keerulisem, kuid tegelikult on see mugavam.
JĂ€rgmine komponent â Listener reeglid (marsruuterreeglid). See puudutab vaid Application Load Balancer'i. Kui Network Load Balancer'is loote lihtsalt Listener'i, mis suunab liikluse konkreetsele Target-gruppile, siis Application Load Balancer'is on kĂ”ik .

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


Ja loomise protsessis nÀeme, et meil on vÔimalus valida Elastic IP:

Elastic IP pakub ĂŒhte IP-aadressi, mida saab aja jooksul siduda erinevate EC2 instantsidega. Kui EC2 instantsil on Elastic IP-aadress ja see instants lĂ”petatakse vĂ”i peatatakse, saab uue EC2 instantsi kohe siduda Elastic IP-aadressiga. Sel viisil ei katkestata teie praeguse rakenduse tööd, kuna rakendused nĂ€evad sama IP-aadressi, isegi kui tegelik EC2 on muutunud.
Siin Elastic IP vajaduse kohta. Vaadake, me nÀeme 3 IP-aadressi, kuid need ei jÀÀ siia igavesti:

Amazon muudab neid aja jooksul, vÔib seda teha iga 60 sekundi jÀrel (kuid praktikas muidugi harvem). See tÀhendab, et IP-aadressid vÔivad muutuda. Ja Network Load Balancer'i puhul saate just siduda IP-aadressi ja toimetada seda oma reeglites, poliitikates jne.

Teeme jÀreldusi
ELB tagab sissetuleva liikluse automaatse jaotamise mitmele sihtobjektile (konteinerid, Amazon EC2 instantsid, IP-aadressid ja Lambda funktsioonid). ELB suudab jaotada liikluse muutuva koormuse korral nii ĂŒhes saadavuspiirkonnas kui ka mitme saadavuspiirkonna vahel. Kasutaja vĂ”ib valida kolme tĂŒĂŒbi vahel, mis tagavad nii kĂ”rge saadavuse, automaatse skaleerimise kui ka korraliku kaitse. KĂ”ik see on oluline teie rakenduste tĂ”rkeotsingute tagamiseks.
Peamised eelised:
- kÔrge saadavus. Teenuste kokkuleppes on ette nÀhtud 99,99% juurdepÀÀsetavust koormuse jaoturile. NÀiteks mitmed kÀttesaadavuse tsoonid tagavad, et liiklus suunatakse ainult töötavatele objektidele. Tegelikult saab koormust jaotada kogu piirkonnas, suunates liiklust töötavatele sihtobjektidele erinevates kÀttesaadavuse tsoonides;
- turvalisus. ELB töötab koos Amazon VPC-ga, pakkudes erinevaid turvafunktsioone â sealhulgas integreeritud sertifikaatide haldamine, kasutaja autentimine ja SSL/TLS-i krĂŒpto. K together-s pakub see tsentraliseeritud ja paindlikku TLS-i seadistuste haldust;
- paindlikkus. ELB suudab kĂ€sitleda ootamatuid vĂ”rgu liikluse muutusi. SĂŒvaintegratsioon Auto Scalingiga annab rakendusele piisavalt ressursse, kui koormus muutub, ilma et oleks vajalik kĂ€sitsi sekkumine;
- paindlikkus. IP-aadresse saab kasutada rakenduste sihtobjektide pĂ€ringute suunamiseks. See tagab paindlikkuse sihtrakenduste virtualiseerimisel, vĂ”imaldades mitme rakenduse majutamist ĂŒhel instantsil. Kuna rakendused saavad kasutada ĂŒhte vĂ”rguporti ja neil on eraldi turgruppe, lihtsustatakse rakenduste vahelist koostööd, kui meil on arhitektuur nĂ€iteks mikroteenuste baasil;
- jÀlgimine ja audit. Rakenduste jÀlgimist saab teha reaalajas, kasutades Amazon CloudWatch funktsioone. See hÔlmab mÔÔdikute, logide ja pÀringute jÀlgimist. Lihtsalt öeldes, suudate probleemid avastada ja pigem tÀpselt tuvastada jÔudluse kitsaskohti;
- hĂŒbriidne koormuse jaotamine. Koormuse jaotamise vĂ”imalus kohalike ressursside ja AWS vahel sama jaoturi abil lihtsustab kohalike rakenduste migratsiooni vĂ”i laiendamist pilve. Samuti lihtsustab see pilve kasutavat tĂ”rgete kĂ€itlemist.
Kui teid huvitavad ĂŒksikasjad, siin on veel paar kasulikku linki Amazonâi ametlikult veebilehelt:
- .
Allikas: habr.com
