Load Balancing mei AWS ELB

Hoi allegearre! De kursus begjint hjoed "AWS foar ûntwikkelders", yn ferbân wêrmei't wy in korrespondearjende tematyske webinar holden wijd oan 'e ELB-resinsje. Wy seagen nei de soarten balancers en makken ferskate EC2-eksimplaren mei in balancer. Wy studearre ek oare foarbylden fan gebrûk.

Load Balancing mei AWS ELB

Nei it harkjen fan it webinar, Do silst:

  • begripe wat AWS Load Balancing is;
  • kenne de soarten Elastic Load Balancer en syn komponinten;
  • brûke AWS ELB yn jo praktyk.

Wêrom moatte jo dit hielendal witte?

  • nuttich as jo fan plan binne AWS-sertifikaasje-eksamen te nimmen;
  • dit is in ienfâldige manier om de lading tusken tsjinners te fersprieden;
  • Dit is in ienfâldige manier om Lambda ta te foegjen oan jo tsjinst (ALB).

In iepen les hâlden Rishat Teregulov, systeemingenieur by in marketingbedriuw foar websideûntwikkeling en stipe.

Ynlieding

Wat in Elastic Load Balancer is kin sjoen wurde yn it diagram hjirûnder, dat in ienfâldich foarbyld toant:

Load Balancing mei AWS ELB

Load Balancer akseptearret oanfragen en ferspriedt se oer eksimplaren. Wy hawwe ien aparte eksimplaar, d'r binne Lambda-funksjes en d'r is in AutoScaling-groep (in groep servers).

AWS ELB Soarten

1. Litte wy nei de haadtypen sjen:

Klassike Load Balancer. De alderearste loadbalancer fan AWS, wurket op sawol OSI Layer 4 as Layer 7, en stipet HTTP, HTTPS, TCP en SSL. It leveret basis load balancing oer meardere Amazon EC2-eksimplaren en wurket op sawol it fersyk- as ferbiningsnivo. Litte wy it iepenje (yn griis markearre):

Load Balancing mei AWS ELB

Dizze balancer wurdt beskôge as ferâldere, dus it wurdt oanrikkemandearre foar gebrûk allinich yn bepaalde gefallen. Bygelyks foar applikaasjes dy't binne boud op it EC2-Classic netwurk. Yn prinsipe hâldt gjinien ús fan it meitsjen fan it:

Load Balancing mei AWS ELB

2. Netwurk Load Balancer. Geskikt foar swiere wurkdruk, wurket by OSI Layer 4 (kin brûkt wurde yn EKS en ECS), TCP, UDP en TLS wurde stipe.

Network Load Balancer rûtes ferkear nei doelen yn in Amazon VPC en is yn steat om miljoenen oanfragen per sekonde te ferwurkjen mei ultra-lege latency. Derneist is it optimalisearre om ferkearspatroanen te behanneljen mei hommelse en feroarjende loads.

3. Applikaasje Load Balancer. Wurket by laach 7, hat Lambda-stipe, stipet regels foar koptekst en paadnivo, stipet HTTP en HTTPS.
Biedt avansearre fersykrouting rjochte op it leverjen fan applikaasjes boud op moderne arsjitektuer, ynklusyf mikrotsjinsten en konteners. Rjochtet ferkear nei doelen yn Amazon VPC basearre op de ynhâld fan it fersyk.

Foar in protte brûkers wie Application Load Balancer de earste kar om Classic Load Balancer te ferfangen, om't TCP net sa gewoan is as HTTP.

Litte wy it ek oanmeitsje, as gefolch dêrfan sille wy al twa loadbalancers hawwe:

Load Balancing mei AWS ELB

Load Balance Components

Common Load Balance Components (mienskiplik foar alle balancers):

  • Tagong Logging Policy

- jo ELB tagongslogboeken. Om ynstellings te meitsjen, kinne jo nei Beskriuwing gean en de knop "Attribusjes bewurkje" selektearje:

Load Balancing mei AWS ELB

Dan spesifisearje wy S3Bucket - Amazon-objekt opslach:

Load Balancing mei AWS ELB

  • Scheme

- ynterne of eksterne balancer. It punt is oft jo LoadBalancer eksterne adressen moat ûntfange om fan bûten berikber te wêzen, of kin it jo ynterne load balancer wêze;

  • Feiligensgroepen

- tagongskontrôle nei de balancer. Yn essinsje is dit in firewall op hege nivo.

Load Balancing mei AWS ELB

Load Balancing mei AWS ELB

  • Subnetten

- subnetten binnen jo VPC (en, sadwaande, beskikberensône). Subnets wurde oantsjutte tidens oanmeitsjen. As VPC's wurde beheind troch regio, dan wurde Subnets beheind troch beskikberenssônes. By it meitsjen fan in Load Balancer is it better om it te meitsjen yn op syn minst twa subnets (helpt as problemen ûntsteane mei ien Availability Zone);

  • Harkers

- jo balancer protokollen. Lykas earder neamd, kin it foar Classic Load Balancer HTTP, HTTPS, TCP en SSL wêze, foar Network Load Balancer - TCP, UDP en TLS, foar Application Load Balancer - HTTP en HTTPS.

Foarbyld foar Classic Load Balancer:

Load Balancing mei AWS ELB

Mar yn 'e Application Load Balancer sjogge wy in wat oare ynterface en algemien oare logika:

Load Balancing mei AWS ELB

Load Balancer v2-komponinten (ALB en NLB)

Litte wy no in tichterby besjen op ferzje 2 balancers Application Load Balancer en Network Load Balancer. Dizze balancers hawwe har eigen komponintfunksjes. Bygelyks, sa'n konsept as Doelgroepen ferskynde - eksimplaren (en funksjes). Mei tank oan dizze komponint hawwe wy de kâns om oan te jaan hokker fan 'e doelgroepen wy ferkear wolle rjochtsje.

Load Balancing mei AWS ELB

Load Balancing mei AWS ELB

Yn ienfâldige termen spesifisearje wy yn Doelgroepen de gefallen wêr't it ferkear komt. As jo ​​yn deselde Classic Load Balancer de yntensiteit gewoan direkt ferbine mei de balancer, dan yn 'e Application Load Balancer jo earst:

  • meitsje in Load Balancer;
  • meitsje in Doelgroep;
  • direkte fia de fereaske havens of Load Balancer regels nei de fereaske Doelgroepen;
  • yn Doelgroepen jo tawize eksimplaren.

Dit bestjoeringssysteem logika kin lykje yngewikkelder, mar yn feite is it handiger.

De folgjende komponint is Harkers regels (regels foar routing). Dit jildt allinich foar Application Load Balancer. As jo ​​yn Network Load Balancer gewoan in harker meitsje, en it stjoert ferkear nei in spesifike doelgroep, dan yn Application Load Balancer alles mear wille en handiger.

Load Balancing mei AWS ELB

Litte wy no in pear wurden sizze oer de folgjende komponint - Elastyske IP (statyske adressen foar NLB). As de routingregels fan Listener-regels allinich de Applikaasje Load Balancer beynfloede, dan hat Elastic IP allinich ynfloed op de Network Load Balancer.

Litte wy in Network Load Balancer oanmeitsje:

Load Balancing mei AWS ELB

Load Balancing mei AWS ELB

En krekt tidens it skeppingsproses sille wy sjen dat wy de kâns krije om Elastic IP te selektearjen:

Load Balancing mei AWS ELB

Elastic IP leveret ien IP-adres dat kin wurde assosjearre mei ferskate EC2-eksimplaren oer de tiid. As in EC2-eksimplaar in Elastysk IP-adres hat en dat eksimplaar wurdt beëinige of stoppe, kinne jo in nije EC2-eksimplaar daliks assosjearje mei in Elastic IP-adres. Jo hjoeddeistige applikaasje sil lykwols net ophâlde mei wurkjen, om't applikaasjes noch altyd itselde IP-adres sjogge, sels as de echte EC2 feroare is.

hjir in oar gebrûk gefal oer it ûnderwerp fan wêrom Elastic IP is nedich. Sjoch, wy sjogge 3 IP-adressen, mar se sille hjir net foar altyd bliuwe:

Load Balancing mei AWS ELB

Amazon feroaret se oer de tiid, miskien elke 60 sekonden (mar yn 'e praktyk, fansels, minder faak). Dit betsjut dat IP-adressen kinne feroarje. En yn it gefal fan Network Load Balancer kinne jo gewoan in IP-adres bine en it oanjaan yn jo regels, belied, ensfh.

Load Balancing mei AWS ELB

Konklúzjes lûke

ELB leveret automatyske ferdieling fan ynkommende ferkear oer meardere doelen (containers, Amazon EC2-eksimplaren, IP-adressen, en Lambda-funksjes). ELB is yn steat om ferkear te fersprieden mei ferskate loads sawol binnen ien beskikberensône as oer meardere beskikberensônes. De brûker kin kieze út trije soarten balancers dy't hege beskikberens, autoskalearring en goede beskerming leverje. Dit alles is wichtich om de fouttolerânsje fan jo applikaasjes te garandearjen.

Belangrykste pluspunten:

  • hege beskikberens. De tsjinstoerienkomst giet út fan 99,99% beskikberens foar de loadbalancer. Bygelyks, meardere Beskikberenssônes soargje derfoar dat ferkear allinich ferwurke wurdt troch sûne objekten. Yn feite kinne jo de lading lykwicht meitsje oer de hiele regio, trochferwizing nei sûne doelen yn ferskate beskikbere sônes;
  • feiligens. ELB wurket mei Amazon VPC, en leveret ferskate befeiligingsmooglikheden - yntegreare sertifikaatbehear, brûkersautentikaasje, en SSL / TLS-ûntsifering. Alles byinoar jout sintralisearre en fleksibele behear fan TLS ynstellings;
  • elastisiteit. De ELB kin hommelse feroarings yn netwurkferkear behannelje. En djippe yntegraasje mei Auto Skaalfergrutting jout de applikaasje genôch boarnen as de lading feroaret, sûnder dat hânmjittich yntervinsje nedich is;
  • flexibiliteit. Jo kinne IP-adressen brûke om fersiken te routeren nei de doelen fan jo applikaasjes. Dit soarget foar fleksibiliteit by it virtualisearjen fan doelapplikaasjes, sadat de mooglikheid is om meardere applikaasjes op ien eksimplaar te hostjen. Sûnt applikaasjes kinne brûke in inkele netwurk haven en hawwe aparte feiligens groepen, kommunikaasje tusken applikaasjes ferienfâldige as wy hawwe, sizze, in microservices-basearre arsjitektuer;
  • tafersjoch en audit. Jo kinne applikaasjes yn realtime kontrolearje mei Amazon CloudWatch-funksjes. Wy prate oer metriken, logs, fersyk folgjen. Yn ienfâldige termen, do silst wêze kinne om te identifisearjen problemen en pinpoint prestaasje knyppunten frij sekuer;
  • hybride load balancing. De mooglikheid om lykwicht te laden tusken lokale boarnen en AWS mei deselde load balancer makket it maklik om te migrearjen of útwreidzjen fan on-premises applikaasjes nei de wolk. Mislearring wurdt ek ferienfâldige mei help fan de wolk.

As jo ​​​​ynteressearre binne yn details, hjir binne in pear mear nuttige keppelings fan 'e offisjele Amazon-webside:

  1. Elastyske lêstbalâns.
  2. Elastyske Load Balancing mooglikheden.

Boarne: www.habr.com

Add a comment