Hej alla! Idag startar kursen , vilket innebÀr att vi har genomfört ett tematiskt webbinar, som handlar om en översikt av ELB. Vi gick igenom typerna av belastningsutjÀmnare och skapade flera EC2-instanser med en belastningsutjÀmnare. Vi studerade ocksÄ andra exempel pÄ anvÀndning.

, kommer du att:
- förstÄ vad AWS Load Balancing Àr;
- kÀnna till typer av Elastic Load Balancer och dess komponenter;
- anvÀnda AWS ELB i din praktik.
Varför detta Àr viktigt:
- det Àr anvÀndbart om du planerar att ta AWS certifieringsexaminer;
- det Àr ett enkelt sÀtt att fördela belastningen mellan servrar;
- det Àr ett enkelt sÀtt att lÀgga till Lambda i din tjÀnst (ALB).
Den öppna lektionen leddes av , systemingenjör pÄ ett marknadsföringsföretag som utvecklar och supportar webbplatser.
Introduktion
Vad Àr Elastic Load Balancer kan ses i diagrammet nedan, som visar ett enkelt exempel:

BelastningsutjÀmnaren tar emot begÀrningar och fördelar dem till instanser. Vi har en separat instans, Lambda-funktioner och en AutoScaling-grupp (en grupp servrar).
Typer av AWS ELB
1. LÄt oss titta pÄ de huvudsakliga typerna:
Classic Load Balancer. Den första belastningsutjÀmnaren frÄn AWS, fungerar pÄ bÄde OSI lager 4 och 7, stöder HTTP, HTTPS, TCP och SSL. Den möjliggör grundlÀggande belastningsutjÀmning mellan flera Amazon EC2-instanser och fungerar bÄde pÄ begÀrnings- och anslutningsnivÄ. LÄt oss öppna den (markerad i grÄtt):

Denna balansutjĂ€mnare anses vara förĂ„ldrad, sĂ„ det rekommenderas att anvĂ€nda den endast i sĂ€rskilda fall. Till exempel för applikationer som byggts pĂ„ nĂ€tverket EC2âClassic. I princip finns det inget som hindrar oss frĂ„n att skapa den:

2. Network Load Balancer. LÀmplig för hög belastning, arbetar pÄ OSI lager 4 (kan anvÀndas i EKS och ECS), stöder TCP, UDP och TLS.
Network Load Balancer dirigerar trafik till mÄlobjekt i Amazon VPC och kan hantera miljontals begÀrningar per sekund med ultralÄga fördröjningar. Dessutom Àr den optimerad för att hantera trafikmönster med plötslig och varierande belastning.
3. Application Load Balancer. Fungerar pÄ lager 7, har stöd för Lambda, stöder regler pÄ header- och sökvÀgnivÄ, stöder HTTP och HTTPS.
Ger tillgÄng till avancerad förfrÄgningsrouting som Àr inriktad pÄ att leverera applikationer baserade pÄ moderna arkitekturer, inklusive mikrotjÀnster och containrar. Styra trafik till mÄlen i Amazon VPC baserat pÄ innehÄllet i förfrÄgan.
För mÄnga anvÀndare har Application Load Balancer i första hand ersatt Classic Load Balancer, eftersom TCP inte Àr lika utbrett jÀmfört med HTTP.
Vi skapar ocksÄ den, vilket ger oss tvÄ lastbalanserare:

Komponenter i Load Balance
AllmÀnna komponenter i Load Balance (gemensamma för alla lastbalanserare):
- Access Logging Policy
â dina Ă„tkomstloggar för ELB. För att utföra instĂ€llningarna kan du gĂ„ till Beskrivning och vĂ€lja knappen "Redigera attribut":

DĂ€refter anger vi S3Bucket â Amazon objektlagringslagring:

- Scheme
â intern eller extern lastbalanserare. Det handlar om huruvida din LoadBalancer ska ta emot externa adresser för att vara tillgĂ€nglig utanför, eller om det kan vara din interna lastbalanserare;
- Security Groups
â Ă„tkomstkontroll till lastbalanseraren. I grund och botten Ă€r detta en brandvĂ€gg pĂ„ hög nivĂ„.


- Subnets
â delnĂ€t inom din VPC (och dĂ€rmed tillgĂ€nglighetszoner). DelnĂ€t anges vid skapandet. Om VPC Ă€r begrĂ€nsad till regionen, Ă€r delnĂ€ten begrĂ€nsade per tillgĂ€nglighetszon. NĂ€r du skapar Load Balancer, Ă€r det bĂ€ttre att skapa den i minst tvĂ„ delnĂ€t (hjĂ€lper om det skulle uppstĂ„ problem med en tillgĂ€nglighetszon);
- Listeners
â dina protokoll för lastbalanseraren. Som nĂ€mnts tidigare kan det för Classic Load Balancer vara HTTP, HTTPS, TCP och SSL, för Network Load Balancer â TCP, UDP och TLS, för Application Load Balancer â HTTP och HTTPS.
Exempel för Classic Load Balancer:

Men i Application Load Balancer ser vi och en nÄgot annan grÀnssnitt och en helt annan logik:

Komponenter i Load Balancer v2 (ALB och NLB)
Nu ska vi titta nĂ€rmare pĂ„ lastbalanserare version 2, Application Load Balancer och Network Load Balancer. Dessa lastbalanserare har sina egna komponentfunktioner. Till exempel har det kommit ett begrepp som Target Groups â instanser (och funktioner). Tack vare denna komponent har vi nu möjlighet att ange vilken av Target Groups vi vill styra trafiken till.


Enkelt uttryckt anger vi i Target Groups instanserna som trafiken kommer att komma till. Medan du i Classic Load Balancer bara kopplar instanser direkt till lastbalanseraren, gör du i Application Load Balancer först:
- skapar Load Balancer;
- skapar Target-grupp;
- styr efter nödvÀndiga portar eller regler Load Balancer till de nödvÀndiga Target Groups;
- I Target-grupper tilldelar du instanser.
Denna arbetslogik kan verka mer komplex, men i sjÀlva verket Àr den mer bekvÀm.
Den nÀsta komponenten Àr Lyssnarrutiner (riktlinjer för routning). Det hÀr gÀller endast Application Load Balancer. Om du i Network Load Balancer bara skapar en lyssnare och den skickar trafik till en specifik Target-grupp, sÄ Àr det i Application Load Balancer .

LĂ„t oss sĂ€ga nĂ„gra ord om nĂ€sta komponent â Elastic IP (statisk adresser för NLB). Om riktlinjerna för lyssnarrutiner endast rörde sig om Application Load Balancer, sĂ„ gĂ€ller Elastic IP endast Network Load Balancer.
Vi skapar en Network Load Balancer:


Och under skapandeprocessen kommer vi att se att vi fÄr möjlighet att vÀlja Elastic IP:

Elastic IP ger en enda IP-adress som kan kopplas till olika EC2-instanser över tid. Om en EC2-instans har en Elastic IP-adress och denna instans stoppas eller avslutas kan du omedelbart koppla en ny EC2-instans till Elastic IP-adressen. PÄ sÄ sÀtt avbryts inte din aktuella applikation, eftersom applikationerna ser samma IP-adress, Àven om den verkliga EC2-instansen har Àndrats.
HÀr Àr om varför Elastic IP behövs. Titta, vi ser 3 IP-adresser, men de kommer inte att stanna hÀr för alltid:

Amazon Àndrar dem över tid, kan göra det var 60:e sekund (men i praktiken Àr det förstÄs mer sÀllan). Det innebÀr att IP-adresserna kan Àndras. I fallet med Network Load Balancer kan du just koppla IP-adressen och ange den i dina riktlinjer, policyer och sÄ vidare.

Vi drar slutsatser
ELB erbjuder automatisk fördelning av inkommande trafik till flera mÄlobjekt (containrar, Amazon EC2-instanser, IP-adresser och Lambda-funktioner). ELB kan fördela trafik med varierande belastning bÄde inom en tillgÀnglighetszon och mellan flera tillgÀnglighetszoner. AnvÀndaren kan vÀlja bland tre typer av belastningsbalanserare som erbjuder hög tillgÀnglighet, automatisk skalning och rimligt bra skydd. Allt detta Àr viktigt för att sÀkerstÀlla motstÄndskraften hos dina applikationer.
Huvudsakliga fördelar:
- hög tillgÀnglighet. I serviceavtalet garanteras 99,99 % tillgÀnglighet för lastbalanseraren. Till exempel garanterar flera tillgÀnglighetszoner att trafiken endast hanteras av fungerande objekt. I sjÀlva verket kan man balansera last över hela regionen och omdirigera trafiken till fungerande mÄlobjekt i olika tillgÀnglighetszoner;
- sĂ€kerhet. ELB fungerar med Amazon VPC och erbjuder olika sĂ€kerhetsfunktioner â inklusive integrerad certifikathantering, anvĂ€ndarautentisering och SSL/TLS-dekryptering. Tillsammans ger detta centraliserad och flexibel hantering av TLS-instĂ€llningar;
- elasticitet. ELB kan hantera plötsliga förÀndringar i nÀtverkstrafik. Den djupa integrationen med Auto Scaling ger applikationen tillrÀckligt med resurser nÀr belastningen Àndras, utan att man behöver ingripa manuellt;
- flexibilitet. IP-adresser kan anvÀndas för att dirigera förfrÄgningar till mÄlen för dina applikationer. Detta sÀkerstÀller flexibilitet vid virtualisering av mÄlapplikationer, vilket möjliggör att köra flera applikationer pÄ en och samma instans. Eftersom applikationerna kan anvÀnda samma nÀtverksport och har separata sÀkerhetsgrupper, förenklas interaktionen mellan applikationer i en mikroservicesarkitektur;
- övervakning och granskning. Du kan övervaka applikationer i realtid med hjÀlp av funktionerna i Amazon CloudWatch. Detta omfattar metrik, loggar och spÄrning av förfrÄgningar. Enkelt uttryckt kan du identifiera problem och noggrant faststÀlla flaskhalsar i prestanda;
- hybridlastbalansering. Möjligheten att balansera lasten mellan lokala resurser och AWS med samma lastbalanserare förenklar migrering eller utvidgning av lokala applikationer till molnet. Det underlÀttar ocksÄ hantering av fel med hjÀlp av molnet.
Om du Àr intresserad av detaljer, hÀr Àr ett par nyttiga lÀnkar frÄn Amazons officiella sida:
- .
KĂ€lla: habr.com
