Bilanciamentu di carica cù AWS ELB

Salut à tutti ! U corsu principia oghje "AWS per sviluppatori", in cunnessione cù quale avemu tenutu un webinar tematicu currispundente dedicatu à a rivista ELB. Avemu guardatu i tipi di balancers è creamu parechji casi EC2 cù un balancer. Avemu ancu studiatu altri esempi di usu.

Bilanciamentu di carica cù AWS ELB

Dopu à sente u webinar, Tu vi:

  • capisce ciò chì AWS Load Balancing hè;
  • cunnosce i tipi di Elastic Load Balancer è i so cumpunenti;
  • utilizate AWS ELB in a vostra pratica.

Perchè avete bisognu di sapè questu in tuttu?

  • utile si pensa à piglià esami di certificazione AWS;
  • questu hè un modu simplice per distribuisce a carica trà i servitori;
  • Questu hè un modu simplice per aghjunghje Lambda à u vostru serviziu (ALB).

Cunduce una lezione aperta Rishat Teregulov, ingegnere di sistemi in una cumpagnia di marketing per u sviluppu è u supportu di u situ web.

Introduzione

Ciò chì hè un Elastic Load Balancer pò esse vistu in u diagramma sottu, chì mostra un esempiu simplice:

Bilanciamentu di carica cù AWS ELB

Load Balancer accetta richieste è li distribuisce à traversu istanze. Avemu un esempiu separatu, ci sò funzioni Lambda è ci hè un gruppu AutoScaling (un gruppu di servitori).

Tipi AWS ELB

1. Fighjemu i tipi principali:

Classic Load Balancer. U primu equilibratore da AWS, travaglia nantu à i dui strati OSI 4 è 7, HTTP, HTTPS, TCP è SSL sò supportati. Fornisce un bilanciamentu di carica di basa in parechje istanze Amazon EC2 è funziona à i livelli di dumanda è di cunnessione. Aprimu (evidenziatu in grisgiu):

Bilanciamentu di carica cù AWS ELB

Stu balancer hè cunsideratu anticu, per quessa hè cunsigliatu per l'usu solu in certi casi. Per esempiu, per l'applicazioni chì sò stati custruiti nantu à a reta EC2-Classic. In principiu, nimu ùn ci impedisce di creà:

Bilanciamentu di carica cù AWS ELB

2. Network Load Balancer. Adatta per carichi di travagliu pesanti, opera in OSI Layer 4 (pò esse usatu in EKS è ECS), TCP, UDP è TLS sò supportati.

Network Load Balancer indirizza u trafficu à i miri in un Amazon VPC è hè capace di processà milioni di richieste per seconda cù una latenza ultra-bassa. Inoltre, hè ottimizatu per trattà i mudelli di trafficu cù carichi bruschi è cambianti.

3. Applicazioni Load Balancer. Funziona à a capa 7, hà supportu Lambda, supporta e regule di u livellu di l'intestazione è di u percorsu, supporta HTTP è HTTPS.
Fornisce un routing avanzatu di e dumande focalizatu nantu à a consegna di applicazioni custruite nantu à architetture muderne, cumprese i microservizi è i cuntenituri. Dirige u trafficu à i miri in Amazon VPC basatu annantu à u cuntenutu di a dumanda.

Per parechji utilizatori, Application Load Balancer hè stata a prima scelta per rimpiazzà Classic Load Balancer, perchè TCP ùn hè micca cumunu cum'è HTTP.

Creemu ancu, per via di quale avemu digià dui equilibratori di carica:

Bilanciamentu di carica cù AWS ELB

Cumpunenti di bilanciu di carica

Cumpunenti cumuni di bilanciu di carica (cumune à tutti i equilibratori):

  • Politica di Logging Access

- i vostri logs d'accessu ELB. Per fà i paràmetri, pudete andà à Description è selezziunate u buttone "Edit attributes":

Bilanciamentu di carica cù AWS ELB

Dopu avemu specificatu S3Bucket - Amazon object storage:

Bilanciamentu di carica cù AWS ELB

  • Scheme

- equilibratore internu o esternu. U puntu hè chì u vostru LoadBalancer deve riceve indirizzi esterni per esse accessibile da l'esternu, o pò esse u vostru balancer di carica interna;

  • Gruppi di Sicurezza

- cuntrollu di l'accessu à u balancer. Essenzialmente, questu hè un firewall d'altu livellu.

Bilanciamentu di carica cù AWS ELB

Bilanciamentu di carica cù AWS ELB

  • Subnets

- subnets in u vostru VPC (è, per quessa, a zona di dispunibilità). I subnets sò specificati durante a creazione. Se i VPC sò limitati per regione, allora i Subnets sò limitati da e zone di dispunibilità. Quandu creanu un Load Balancer, hè megliu di creà in almenu dui subnets (aiuta se i prublemi sò cun una Zona di Disponibilità);

  • Luttatura

- i vostri protokolli di balancer. Comu diciatu prima, per Classic Load Balancer pò esse HTTP, HTTPS, TCP è SSL, per Network Load Balancer - TCP, UDP è TLS, per Application Load Balancer - HTTP è HTTPS.

Esempiu per Classic Load Balancer:

Bilanciamentu di carica cù AWS ELB

Ma in l'Applicazione Load Balancer vedemu una interfaccia ligeramente sfarente è in generale una logica diversa:

Bilanciamentu di carica cù AWS ELB

Cumpunenti di Load Balancer v2 (ALB è NLB)

Avà fighjemu un sguardu più vicinu à a versione 2 balancers Application Load Balancer è Network Load Balancer. Questi balancers anu e so caratteristiche di cumpunenti. Per esempiu, un cuncettu cum'è Target Groups apparsu - casi (è funzioni). Grazie à questu cumpunente, avemu l'uppurtunità di specificà quale di i Gruppi Target vulemu dirige u trafficu.

Bilanciamentu di carica cù AWS ELB

Bilanciamentu di carica cù AWS ELB

In termini simplici, in Gruppi di destinazione specificamu i casi induve u trafficu vene. Se in u listessu Classic Load Balancer si cunnetta immediatamente l'intensità à u balancer, allora in l'Application Load Balancer prima:

  • creà un Load Balancer;
  • creà un gruppu Target;
  • diretta via i porti richiesti o e regule di Load Balancer à i Gruppi Target richiesti;
  • in i gruppi di destinazione assignate istanze.

Sta logica di u funziunamentu pò parè più cumplicata, ma in fatti hè più còmuda.

U prossimu cumpunente hè Reguli di l'ascoltatori (règule per u routing). Questu hè applicatu solu à l'Applicazione Load Balancer. Se in Network Load Balancer si crea semplicemente un Listener, è manda trafficu à un gruppu Target specificu, allora in Application Load Balancer tuttu più divertente è cunvene.

Bilanciamentu di carica cù AWS ELB

Avà dicemu uni pochi di parolle nantu à u prossimu cumpunente - IP elastica (indirizzi statici per NLB). Se e regule di l'Ascoltatore di e regule di routing anu affettatu solu l'Applicazione Load Balancer, allura l'IP Elastic hà affettatu solu u Network Load Balancer.

Creemu un equilibratore di carica di rete:

Bilanciamentu di carica cù AWS ELB

Bilanciamentu di carica cù AWS ELB

È ghjustu durante u prucessu di creazione, videremu chì ci hè datu l'uppurtunità di selezziunà IP Elastic:

Bilanciamentu di carica cù AWS ELB

Elastic IP furnisce un unicu indirizzu IP chì pò esse assuciatu cù diverse istanze EC2 in u tempu. Se una istanza EC2 hà un indirizzu IP Elastic è quella istanza hè terminata o fermata, pudete immediatamente associà una nova istanza EC2 cù un indirizzu IP Elastic. Tuttavia, a vostra applicazione attuale ùn cesserà di travaglià, postu chì l'applicazioni vedenu sempre u listessu indirizzu IP, ancu s'è u veru EC2 hè cambiatu.

quì un altru casu d'usu nantu à u tema di perchè Elastic IP hè necessariu. Fighjate, vedemu 3 indirizzi IP, ma ùn restanu micca quì per sempre:

Bilanciamentu di carica cù AWS ELB

Amazon li cambia cù u tempu, forsi ogni 60 seconde (ma in pratica, sicuru, menu spessu). Questu significa chì l'indirizzi IP ponu cambià. È in u casu di Network Load Balancer, pudete solu ligà un indirizzu IP è indicà in e vostre regule, pulitiche, etc.

Bilanciamentu di carica cù AWS ELB

Aghjunghje conclusioni

L'ELB furnisce una distribuzione automatica di u trafficu in entrata in parechje destinazioni (contenitori, istanze Amazon EC2, indirizzi IP è funzioni Lambda). ELB hè capace di distribuisce u trafficu cù carichi variati sia in una sola Zona di Disponibilità sia in più Zone di Disponibilità. L'utilizatore pò sceglie trà trè tippi di balancers chì furnisce alta dispunibilità, autoscaling, è una bona prutezzione. Tuttu chistu hè impurtante per assicurà a toleranza di difetti di e vostre applicazioni.

Vantaghji principali:

  • alta dispunibilità. L'accordu di serviziu assume una dispunibilità di 99,99% per u balancer di carica. Per esempiu, parechje Zone di Disponibilità assicura chì u trafficu hè trattatu solu da oggetti sani. In fatti, pudete equilibrà a carica in tutta a regione, reindirizzendu u trafficu à miri sani in diverse zoni di dispunibilità;
  • sicurità. ELB travaglia cù Amazon VPC, furnisce diverse capacità di sicurezza - gestione integrata di certificati, autentificazione di l'utilizatori è decifrazione SSL / TLS. Tutti inseme furnisce una gestione centralizzata è flessibile di i paràmetri TLS;
  • elasticità. L'ELB pò trattà di cambiamenti bruschi in u trafficu di a rete. È una integrazione prufonda cù Auto Scaling dà à l'applicazione abbastanza risorse se a carica cambia, senza avè bisognu di intervenzione manuale;
  • flessibilità. Pudete utilizà l'indirizzi IP per indirizzà e dumande à i miri di e vostre applicazioni. Questu furnisce flessibilità in a virtualizazione di l'applicazioni di destinazione, dendu cusì a capacità di accoglie parechje applicazioni in una sola istanza. Siccomu l'applicazioni ponu utilizà un unicu portu di rete è avè gruppi di sicurezza separati, a cumunicazione trà l'applicazioni hè simplificata quandu avemu, per dì, una architettura basatu in microservizi;
  • monitoraghju è auditu. Pudete monitorà l'applicazioni in tempu reale cù e funzioni Amazon CloudWatch. Parlemu di metriche, logs, dumanda di seguimentu. In termini simplici, sarete capace di identificà i prublemi è pinpoint bottlenecks di rendiment abbastanza precisamente;
  • equilibriu di carica hibrida. A capacità di carricà l'equilibriu trà e risorse on-premises è AWS utilizendu u stessu equilibratore di carica facilita a migrazione o l'espansione di l'applicazioni in situ à u nuvulu. A gestione di fallimentu hè ancu simplificata cù u nuvulu.

Sè site interessatu à i dettagli, eccu un coppiu di ligami più utili da u situ ufficiale di Amazon:

  1. Bilanciamentu di carica elastica.
  2. Capacità Elastic Load Balancing.

Source: www.habr.com

Add a comment