Salut à tutti ! U corsu principia oghje
- 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
Introduzione
Ciò chì hè un Elastic Load Balancer pò esse vistu in u diagramma sottu, chì mostra un esempiu simplice:
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):
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à:
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:
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":
Dopu avemu specificatu S3Bucket - Amazon object storage:
- 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.
- 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:
Ma in l'Applicazione Load Balancer vedemu una interfaccia ligeramente sfarente è in generale una logica diversa:
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.
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
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:
È ghjustu durante u prucessu di creazione, videremu chì ci hè datu l'uppurtunità di selezziunà IP Elastic:
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ì
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.
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:
Source: www.habr.com