Application Load Balancer

Bilancia il carico del traffico HTTP e HTTPS con un instradamento delle richieste avanzato mirato alla distribuzione di applicazioni moderne.

Application Load Balancer opera a livello di richiesta (livello 7), instradando il traffico verso le destinazioni designate (istanze EC2, container, indirizzi IP e funzioni Lambda) a seconda dei contenuti delle richieste. Ideale per il bilanciamento avanzato di traffico HTTP e HTTPS, Application Load Balancer offre un instradamento avanzato delle richieste mirato alle architetture applicative più moderne, tra cui microservizi e applicazioni basate su container. Application Load Balancer semplifica e migliora la sicurezza delle applicazioni, perché garantisce l'utilizzo costante dei protocolli e della crittografia SSL/TLS più aggiornati in qualsiasi momento.

Funzionalità

Supporto TLS reciproco
Il protocollo TLS reciproco è un protocollo per l'autenticazione bidirezionale tra client e server che utilizzano identità basate su certificati x509. Con questa funzionalità, l'ALB autenticherà i certificati dei clienti ed eseguirà controlli di revoca per i certificati emessi sia dalle autorità di certificazione (CA) di terze parti che dall'autorità di certificazione privata (ACM PCA). Il sistema di bilanciamento del carico invierà inoltre le informazioni sui certificati del client alle destinazioni, che possono essere utilizzate per le decisioni di autorizzazione da parte dell'applicazione. 

Pesi di destinazione automatici
I pesi di destinazione automatici (ATW) utilizzano un nuovo algoritmo di bilanciamento del carico casuale ponderato che migliora la disponibilità delle applicazioni anche quando gli obiettivi dell'applicazione sono compromessi. L'algoritmo analizza i codici di stato HTTP e i tassi di errore TCP/TLS per identificare le destinazioni con tassi di errore più elevati rispetto ai peer dello stesso gruppo di destinazione. Quando ATW identifica obiettivi con prestazioni insufficienti, questa funzione regola il volume di traffico diretto a ciascun obiettivo in base alle prestazioni, aiutando la destinazione in difficoltà a recuperare con successo.

Bilanciamento del carico di livello 7
Puoi bilanciare il carico del traffico HTTP/HTTPS verso le destinazioni (istanze Amazon EC2, microservizi e container) in base agli attributi della richiesta (come le intestazioni X-Forwarded-For).

Funzionalità di sicurezza
Quando è in uso un Amazon Virtual Private Cloud (VPC), puoi creare e gestire gruppi di sicurezza associati ad Elastic Load Balancing per fornire opzioni di rete e di sicurezza aggiuntive. Puoi configurare un Application Load Balancer in modo che sia connesso a Internet oppure creare un sistema di bilanciamento del carico privo di indirizzi IP pubblici con funzione di sistema di bilanciamento del carico interno (non connesso a Internet).

ALB supporta l'implementazione delle protezioni Desync basate sulla libreria http_desync_guardian. Grazie a questa nuova funzionalità, le applicazioni dei clienti sono protette dalle vulnerabilità HTTP dovute a Desync senza compromettere seriamente la disponibilità e/o la latenza. I clienti hanno anche la possibilità di scegliere il proprio livello di tolleranza alle richieste sospette in base all'architettura dell'applicazione.

Supporto per Outposts
Application Load Balancer (ALB) supporta AWS Outposts, un servizio completamente gestito che estende l'infrastruttura, i servizi e gli strumenti AWS praticamente a qualsiasi data center, spazio di co-locazione o struttura on-premise per un'esperienza ibrida realmente coerente. I clienti possono effettuare il provisioning degli ALB sui tipi di istanza supportati e l'ALB aumenterà automaticamente fino alla capacità disponibile sul rack per soddisfare diversi livelli di carico delle applicazioni senza interventi manuali. Inoltre, i clienti possono ricevere notifiche che li aiutano a gestire le esigenze di capacità relative al bilanciamento del carico. I clienti possono utilizzare la stessa console AWS, le stesse API e la stessa CLI per il provisioning e la gestione degli ALB su Outposts così come fanno oggi con gli ALB nella Regione.

Supporto per HTTPS
Un sistema Application Load Balancer supporta la terminazione HTTPS fra i client e il sistema di bilanciamento del carico. Application Load Balancer offre anche la gestione dei certificati SSL mediante AWS Identity and Access Management (IAM) e AWS Certificate Manager per policy di sicurezza predefinite.

Supporto per HTTP/2 e gRPC
HTTP/2 è una nuova versione del protocollo HyperText Transfer Protocol (HTTP) che utilizza una singola connessione multiplex per permettere l'invio di più richieste tramite la medesima connessione. Inoltre, comprime i dati d'intestazione prima di inviarli in formato binario e supporta connessioni SSL ai client.

ALB può instradare e bilanciare il carico del traffico gRPC tra microservizi o tra client e servizi abilitati a gRPC. Ciò consente la perfetta introduzione della gestione del traffico gRPC nelle architetture senza modificare alcuna infrastruttura soggiacente sui client o sui servizi dei clienti. gRPC utilizza HTTP/2 per il trasporto e si sta trasformando nel protocollo preferito per le comunicazioni tra servizi nelle architetture dei microservizi. Presenta funzionalità come efficiente serializzazione binaria e supporto per numerosi linguaggi, oltre a vantaggi intrinseci di HTTP/2, come minore ingombro di rete, compressione e streaming bidirezionale, che lo rendono migliore dei protocolli legacy come REST.

Ripartizione del carico TLS
È possibile creare un ascoltatore HTTPS che utilizza connessioni crittografate (note anche come ripartizione del carico SSL). Questa funzionalità consente la crittografia del traffico tra il sistema di bilanciamento del carico e i client che avviano le sessioni SSL o TLS. Application Load Balancer supporta la conclusione della sessione TLS del client. Ciò consente di ripartire il carico delle attività di conclusione TLS al sistema di bilanciamento del carico, conservando al contempo l'indirizzo IP di origine per le applicazioni back-end. Puoi scegliere tra vari criteri di sicurezza predefiniti per i tuoi listener TLS per soddisfare gli standard di conformità e sicurezza. AWS Certificate Manager (ACM) o AWS Identity and Access Management (IAM) possono essere utilizzati per gestire i certificati dei tuoi server.

Puoi utilizzare SNI per più siti web sicuri utilizzando un unico listener TLS. Se al nome host nel client corrispondono più certificati, il sistema di bilanciamento del carico seleziona il miglior certificato da utilizzare in base a un algoritmo di selezione intelligente.

Sessioni permanenti
Le sessioni permanenti costituiscono un meccanismo per instradare richieste dallo stesso client alla stessa destinazione. Gli Application Load Balancer supportano sia i cookie basati sulla durata che i cookie basati sulle applicazioni. Per gestire le sessioni permanenti è fondamentale determinare per quanto tempo il sistema di bilanciamento del carico deve indirizzare costantemente la richiesta dell'utente alla stessa destinazione. Le sessioni permanenti sono abilitate a livello di gruppo di destinazione. È possibile utilizzare una combinazione di permanenza basata sulla durata, permanenza basata sull'applicazione e nessuna permanenza in tutti i gruppi di destinazione.

Supporto IPv6 nativo
Application Load Balancer supporta il protocollo IPv6 (Internet Protocol versione 6) nativo in un VPC. Questo permette ai client di collegarsi al sistema Application Load Balancer tramite IPv4 o IPv6.

Monitoraggio delle richieste
Application Load Balancer inietta una nuova intestazione HTTP "X-Amzn-Trace-Id" di identificatore personalizzato in tutte le richieste in uscita dal sistema di bilanciamento del carico. Il monitoraggio delle richieste permette di seguire il percorso di una richiesta tramite il suo ID mentre si muove attraverso i diversi servizi che compongono i siti Web o le applicazioni distribuite. È possibile utilizzare l'identificatore univoco per individuare problemi di prestazioni o di tempistica nello stack dell'applicazione con una granularità a livello di singola richiesta.

Reindirizzamenti
Application Load Balancer può reindirizzare le richieste in entrata da un URL a un altro. In questo modo è possibile reindirizzare richieste HTTP verso richieste HTTPS, facilitando il raggiungimento degli obiettivi di conformità in relazione a esplorazione, posizionamento nei motori di ricerca e livello di protezione SSL/TLS dei siti Web. È anche possibile utilizzare questa funzionalità per inoltrare gli utenti su un sito Web differente, ad esempio per reindirizzare da una versione obsoleta di un'applicazione a quella nuova.

Risposta fissa
Application Load Balancer può controllare quali richieste del client devono essere servite dalle applicazioni. Questo permette di rispondere alle richieste in entrata con codici di risposta a errori HTTP e con messaggi di errore personalizzati dal sistema di bilanciamento del carico stesso, senza inoltrare tutte le richieste all'applicazione.

Supporto per WebSockets
WebSockets permette a un server di scambiare messaggi in tempo reale con gli utenti finali senza che questi ultimi debbano richiedere un aggiornamento al server. Il protocollo WebSockets fornisce canali di comunicazione bidirezionali tra un client e un server tramite una connessione TCP di lunga durata.

Estensione SNI
L'estensione SNI è un'estensione del protocollo TLS mediante la quale un cliente indica l'hostname per connettersi all'inizio dell'handshake TLS. Il sistema di bilanciamento del carico può presentare più certificati tramite lo stesso listener sicuro, il che consente il supporto di più siti Web sicuri utilizzando un solo listener sicuro. Application Load Balancer supporta inoltre un algoritmo intelligente di selezione dei certificati con SNI. Se l'hostname indicato da un client corrisponde a più certificati, il sistema di bilanciamento del carico stabilisce il certificato migliore da usare sulla base di diversi fattori, tra cui le capacità del client.

Indirizzi IP come destinazioni
È possibile bilanciare il carico di qualsiasi applicazione ospitata in AWS o in locale utilizzando gli indirizzi IP dei back-end dell'applicazione come destinazioni. Questo consente il bilanciamento del carico verso il back-end di un'applicazione ospitata su qualsiasi indirizzo IP e qualsiasi interfaccia in un'istanza. Ogni applicazione ospitata nella stessa istanza può avere un gruppo di sicurezza associato e usare la stessa porta. Inoltre, è possibile utilizzare gli indirizzi IP come destinazioni per bilanciare il carico di applicazioni ospitate on-premise (su una connessione Direct Connect o VPN), VPC in peering ed EC2-Classic (utilizzando ClassicLink). La possibilità di bilanciare il carico tra le risorse AWS e quelle on-premise facilita la migrazione sul cloud, il burst nel cloud o il failover nel cloud.

Funzioni Lambda come destinazioni
Application Load Balancer supporta il richiamo di funzioni Lambda per rispondere alle richieste degli HTTP, permettendo agli utenti di accedere ad applicazioni senza server da qualsiasi client HTTP, inclusi i browser web. È possibile registrare le funzioni Lambda come destinazioni per un sistema di bilanciamento del carico e sfruttare il supporto per le regole di instradamento basate su contenuto per instradare le richieste a diverse funzioni Lambda. È possibile usare un Application Load Balancer come endpoint HTTP comune per applicazioni che usano server ed elaborazioni serverless. È possibile creare un intero sito Web utilizzando le funzioni Lambda o combinare istanze EC2, container, server on-premise e funzioni Lambda per creare applicazioni.

Routing basato su contenuto
Se l'applicazione è composta da diversi servizi singoli, un Application Load Balancer può indirizzare una richiesta a un servizio in base al contenuto della richiesta, ad esempio campo Host, URL del percorso, intestazione HTTP, metodo HTTP, stringa di query o indirizzo IP di origine.

Routing in base all'host: è possibile instradare una richiesta del client in base al campo Host dell'intestazione HTTP per poter eseguire il routing su più domini dallo stesso sistema di bilanciamento del carico.

Routing in base al percorso: è possibile instradare una richiesta del client in base all'URL dell'intestazione HTTP.

Routing in base all'intestazione HTTP: è possibile instradare una richiesta del client in base al valore di qualsiasi intestazione HTTP standard o personalizzata.

Routing in base al metodo HTTP: è possibile instradare una richiesta del client in base a qualsiasi metodo HTTP standard o personalizzato.

Routing in base ai parametri della stringa di query: è possibile indirizzare una richiesta del client in base alla stringa di query o ai parametri di query.

Routing in base al CIDR dell'indirizzo IP di origine: è possibile instradare una richiesta del client in base al routing interdominio senza classi (Classless Inter-Domain Routing, CIDR) dell'indirizzo IP di origine dal quale ha origine la richiesta.

Supporto per applicazioni containerizzate
Application Load Balancer offre supporto avanzato per container bilanciando il carico su più porte in una singola istanza Amazon EC2. Grazie all'integrazione ottimizzata con Amazon Elastic Container Service (ECS), è possibile ottenere una soluzione per container completamente gestita. ECS permette di specificare una porta dinamica nell'ambito della definizione del task ECS, assegnando al container una porta libera quando viene pianificato su un'istanza EC2. Il pianificatore di ECS aggiungerà automaticamente l'attività al sistema di bilanciamento del carico utilizzando questa porta.

Web Application Firewall
Ora è possibile utilizzare AWS WAF per proteggere le applicazioni Web sui tuoi sistemi Application Load Balancer. AWS WAF è un firewall che aiuta a proteggere le applicazioni Web dagli utilizzi comuni della rete che possono intaccare la disponibilità delle applicazioni, compromettere la sicurezza o consumare risorse in eccesso.

Modalità di avvio rallentato con algoritmo di bilanciamento del carico
Application Load Balancer supporta un algoritmo di bilanciamento del carico round robin. Inoltre, il sistema supporta una modalità di avvio rallentato con algoritmo round robin che permette di aggiungere nuove destinazioni senza sommergerle subito di richieste. Con questa modalità di avvio rallentato, le destinazioni raggiungeranno la quantità di richieste in modo progressivo secondo un intervallo di tempo personalizzato. Si tratta di una funzione molto utile per applicazioni che dipendono dalla cache e necessitano di un periodo di riscaldamento per poter rispondere alle richieste offrendo prestazioni ottimali.

Autenticazione dell'utente
È possibile scaricare la funzionalità di autenticazione delle app in Application Load Balancer. Il sistema permetterà l'autenticazione degli utenti mediante l'accesso alle applicazioni cloud. Application Load Balancer si integra infatti con Amazon Cognito, che permette agli utenti finali di autenticarsi tramite provider di identità social, ad esempio Google, Facebook e Amazon, e aziendali, ad esempio Microsoft Active Directory via SAML o qualsiasi provider di identità compatibile con OpenID Connect. Se si dispone già di una soluzione di provider di identità compatibile con OpenID Connect, Application Load Balancer permetterà anche agli utenti aziendali l'autenticazione tramite le loro credenziali aziendali.

Ulteriori informazioni su Elastic Load Balancing

Visita la pagina delle caratteristiche.

Ulteriori informazioni 
Registrati per creare un account gratuito

Ottieni l'accesso immediato al piano gratuito di AWS. 

Registrati 
Inizia subito nella console

Inizia a usare Elastic Load Balancing nella console di AWS.

Accedi