Amazon EC2
Cloud AWS
Nozioni di base su Elastic Load Balancing
Elevata disponibilità

Disponibilità elevata

Elastic Load Balancing distribuisce automaticamente il traffico su più destinazioni, istanze Amazon EC2, container e indirizzi IP, in una o più zone di disponibilità.

Controlli dello stato

Controlli dello stato

Elastic Load Balancing è in grado di rilevare destinazioni malfunzionanti, interromperne il traffico in entrata e distribuirlo sulle altre destinazioni integre.

Caratteristiche di sicurezza

Caratteristiche di sicurezza

È possibile impiegare un cloud privato virtuale di Amazon VPC per creare e gestire gruppi di sicurezza associati ai sistemi di bilanciamento del carico per ottenere opzioni di rete e di sicurezza aggiuntive. Inoltre, è possibile creare un sistema di bilanciamento del carico interno non connesso a Internet.

Terminazione TLS

Terminazione TLS

Grazie a gestione dei certificati e crittografia SSL, integrate in Elastic Load Balancing, è possibile gestire in modo centralizzato le impostazioni del protocollo SSL del sistema di bilanciamento del carico e liberare l'applicazione da carichi di lavoro che graverebbero sulle prestazioni della CPU.

Bilanciamento del carico a livello 4 e 7

Bilanciamento del carico a livello 4 e 7

È possibile bilanciare il carico di applicazioni HTTP/HTTPS per caratteristiche specifiche di livello 7 oppure applicare il bilanciamento a livello 4 per applicazioni basate interamente sull'utilizzo del protocollo TCP.

Monitoraggio operativo

Monitoraggio operativo

Elastic Load Balancing offre l'integrazione con le metriche di Amazon CloudWatch e il monitoraggio delle richieste, permettendo quindi di tenere sotto controllo le prestazioni delle applicazioni in tempo reale.

Il sistema più adatto dipende dalle esigenze specifiche dell'applicazione. Se è necessario gestire l'applicazione in modo flessibile, consigliamo di utilizzare un Application Load Balancer. Se occorrono prestazioni estreme e un IP statico, consigliamo di utilizzare un Network Load Balancer. Se il sistema deve essere applicato a un'applicazione esistente creata nell'ambito della rete EC2-Classic, l'ideale è un Classic Load Balancer.

Caratteristica

Application Load Balancer

Network Load Balancer

Classic Load Balancer

Protocolli

HTTP, HTTPS

TCP

TCP, SSL, HTTP, HTTPS

Piattaforme

VPC

VPC

EC2-Classic, VPC

Controlli dello stato

Parametri di CloudWatch

Registrazione di log

Failover di zona

Connection draining (ritardo di annullamento della registrazione)

Bilanciamento del carico su più porte nella stessa istanza

 

WebSocket

 

Indirizzi IP come destinazioni
 

Protezione dall'eliminazione del sistema di bilanciamento del carico

 

Instradamento basato su percorso

 

 

Instradamento basato su host

 

 

HTTP/2 nativo

 

 

Timeout connessione inattiva configurabile
 

Bilanciamento del carico su più zone

 

Ripartizione del carico SSL

 

Estensione SNI    

Sticky session

 

Crittografia server di back-end

 

Indirizzo IP statico

 

 

Indirizzo IP elastico

 

 

Indirizzo IP sorgente protetto

 

 

  • Application Load Balancer

    I sistemi Application Load Balancer operano a livello di richiesta, ovvero a livello 7, instradando il traffico a seconda dei contenuti delle richieste verso le destinazioni designate, che possono essere istanze EC2, container e indirizzi IP. Si tratta di sistemi ideali per il bilanciamento avanzato di traffico HTTP e HTTPS che offrono instradamento delle richieste verso le architetture applicative più moderne, comprendenti microservizi e applicazioni basate su container. I sistemi Application Load Balancer semplificano e migliorano la sicurezza delle applicazioni, perché garantiscono l'utilizzo costante dei protocolli e della crittografia SSL/TLS più aggiornati.

    Bilanciamento del carico a livello 7
    Puoi bilanciare il carico di applicazioni HTTP/HTTPS e usare funzionalità specifiche di livello 7 come intestazioni X-Forwarded.

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

    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. È anche possibile usare gli indirizzi IP come destinazioni per bilanciare il carico di applicazioni ospitate in locale (su una connessione Direct Connect o VPN), cloud privati virtuali in peering ed EC2-Classic (utilizzando ClassicLink). La possibilità di bilanciare il carico tra le risorse AWS e quelle locali facilita la migrazione sul cloud, il burst nel cloud o il failover nel cloud.

    Disponibilità elevata
    Un sistema Application Load Balancer rende necessario specificare più di una zona di disponibilità. Puoi distribuire il traffico in entrata sui tuoi obiettivi in molteplici zone di disponibilità. Un sistema Application Load Balancer ricalibrerà automaticamente la propria capacità di gestione delle richieste in rapporto al traffico in entrata delle applicazioni.

    Caratteristiche di sicurezza
    Quando è in uso un cloud privato virtuale di VPC, è possibile creare e gestire gruppi di sicurezza associati ad Elastic Load Balancing per ottenere opzioni di rete e di sicurezza aggiuntive. Puoi configurare un sistema Application Load Balancer in modo che sia connesso a Internet oppure creare un sistema di bilanciamento del carico privo di indirizzo IP pubblico con funzione di sistema di bilanciamento del carico interno (non connesso a Internet).

    Routing basato su contenuto
    Se un'applicazione è composta da diversi servizi singoli, un sistema Application Load Balancer può instradare una richiesta a un servizio in base al contenuto della richiesta stessa.

            Routing basato su host
            È possibile instradare una richiesta del client in base al campo Host dell'intestazione HTTP per poter eseguire l'instradamento su più domini dallo stesso sistema di bilanciamento del carico.

            Distribuzione basata su percorso
            È possibile instradare una richiesta client in base all'URL dell'intestazione HTTP.

    Supporto per applicazioni in contenitori
    I sistemi Application Load Balancer offrono supporto avanzato per container bilanciando il carico su più porte in una singola istanza Amazon EC2. Grazie all'integrazione ottimizzata con Amazon EC2 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. L'utilità di pianificazione di ECS aggiungerà automaticamente il task al sistema di bilanciamento del carico utilizzando questa porta.

    Supporto per HTTP/2 Support
    HTTP/2 è una nuova versione del protocollo HyperText Transfer Protocol (HTTP) che utilizza una singola connessione multiplex per permettere l'invio di molteplici richieste tramite la medesima connessione. Comprime inoltre i dati d'intestazione prima di inviarli in formato binario e supporta connessioni TLS a client.

    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 fra un client e un server tramite una connessione TCP di lunga durata.

    Supporto IPv6 nativo
    I sistemi Application Load Balancer supportano in modo nativo il protocollo IPv6 (Internet Protocol version 6) in un cloud privato virtuale. Questo permette ai clienti di collegarsi a sistemi Application Load Balancer tramite IPv4 o IPv6.

    Sticky session
    Le sticky session costituiscono un meccanismo per instradare richieste dallo stesso client allo stesso obiettivo. I sistemi Application Load Balancer supportano le sticky session tramite cookie generati dal sistema di bilanciamento del carico. Se abiliti sticky session, il medesimo obiettivo riceve la richiesta e può utilizzare il cookie per recuperare il contesto della sessione. La definizione di sticky avviene a livello di gruppo obiettivo.

    Controlli dello stato
    Un sistema Application Load Balancer instrada il traffico solo a obiettivi con stato integro. Con un sistema Application Load Balancer otterrai indizi più attendibili sullo stato di integrità delle tue applicazioni in due modi: (1) tramite miglioramenti al controllo dello stato che permettono di configurare dettagliati codici d'errore da 200-499. I controlli dello stato permettono di monitorare lo stato di ciascun servizio dietro il sistema di bilanciamento del carico; e (2) tramite nuovi parametri che forniscono indizi sul traffico di ciascun servizio in esecuzione su un'istanza EC2.

    Monitoraggio operativo
    Amazon CloudWatch documenta i parametri di Application Load Balancer come il numero di richieste o di errori, i tipi di errore e la latenza delle richieste.

    Registrazione di log
    Usa la funzione Log di accesso per registrare tutte le richieste inviate al sistema di bilanciamento del carico e archiviare i log in Amazon S3 per analizzarli in un secondo tempo. I log sono compressi e usano l'estensione di file gzip. La compressione consente di risparmiare sia spazio di archiviazione che larghezza di banda di trasferimento; i log compressi sono utili per diagnosticare guasti delle applicazioni e per analizzare il traffico Web.

    Puoi usare AWS CloudTrail anche per registrare chiamate API di Application Load Balancer relative al tuo account e per generare file di log. Lo storico delle chiamate API permette di eseguire analisi di sicurezza, monitoraggio delle modifiche alle risorse e audit di conformità.

    Protezione da eliminazione
    Puoi abilitare la protezione da eliminazione su un sistema Application Load Balancer per impedirne l'eliminazione inavvertita.

    Monitoraggio richieste
    Application Load Balancer esegue l'injection di 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 richieste permette di seguire il percorso di una richieste tramite il suo ID univoco attraverso i diversi servizi che compongono i siti Web o le applicazioni distribuite. Puoi usare l'identificatore univoco per individuare problemi di prestazioni o di tempistica nello stack di applicazione con una granularità a livello di singola richiesta.

    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 exploit Web che possono intaccare la disponibilità delle applicazioni, compromettere la sicurezza o consumare risorse.

  • Network Load Balancer

    I sistemi Network Load Balancer operano a livello di connessione, ovvero a livello 4, instradando le connessioni a seconda dei dati del protocollo IP verso le destinazioni designate, che possono essere istanze Amazon EC2, container e indirizzi IP. Si tratta di sistemi ideali per il bilanciamento del traffico TCP, in grado di gestire milioni di richieste al secondo senza perdere il controllo sulla latenza. I sistemi Network Load Balancer sono ottimizzati per gestire pattern di traffico incostanti e con picchi improvvisi utilizzando un singolo indirizzo IP statico per ogni zona di disponibilità. Supportano inoltre l'integrazione con molti servizi AWS quali Auto Scaling, Amazon EC2 Container Service (ECS) e Amazon CloudFormation.

    Bilanciamento del carico basato sulla connessione
    È possibile bilanciare il carico del traffico TCP, instradando le connessioni verso le destinazioni designate, ovvero istanze Amazon EC2, microservizi, container e indirizzi IP.

    Disponibilità elevata
    I sistemi Network Load Balancer sono altamente disponibili. Permettono di accettare traffico in ingresso dai client e redistribuiscono il traffico tra destinazioni all'interno della medesima zona di disponibilità. Il sistema di bilanciamento del carico monitora inoltre lo stato delle destinazioni registrate e garantisce che il traffico venga instradato solo verso quelle integre. Quando il sistema rileva una destinazione non integra, ne interrompe il traffico in entrata lo reindirizza verso le destinazioni che funzionano correttamente. Se nessuna delle destinazioni in una zona di disponibilità è integra e sono disponibili destinazioni in un'altra zona di disponibilità, il sistema Network Load Balancer eseguirà automaticamente il failover in tali destinazioni integre.

    Throughput elevato
    I sistemi Network Load Balancer sono progettati per gestire alti livelli di traffico ed è in grado di bilanciare il carico di milioni di richieste al secondo. Inoltre, permettono di gestire pattern di traffico incostanti e con picchi improvvisi.

    Latenza minima
    I sistemi Network Load Balancer offrono livelli di latenza estremamente bassi, ideali per applicazioni esigenti.

    Indirizzo IP sorgente protetto
    I sistemi Network Load Balancer conservano l'indirizzo IP di origine lato client, permettendo al back-end di mantenere sotto controllo l'indirizzo IP del client. In molte applicazioni questo elemento può essere utilizzato per procedere ad ulteriori elaborazioni.

    Supporto per indirizzi IP statici
    I sistemi Network Load Balancer forniscono automaticamente un indirizzo IP statico per zona di disponibilità o sottorete, utilizzabile dalle applicazioni come IP di front-end del sistema di bilanciamento del carico.

    Supporto per indirizzi IP elastici
    I sistemi Network Load Balancer permettono inoltre di assegnare un indirizzo IP elastico per zona di disponibilità o sottorete, fornendo così un indirizzo IP fisso.

    Controlli dello stato
    I sistemi Network Load Balancer supportano i controlli dello stato per le destinazioni sia di rete sia dell'applicazione. I controlli dello stato a livello di rete verificano la risposta generale della destinazione ai normali livelli di traffico. Se la destinazione non è più in grado di rispondere alle nuove connessioni, oppure se risponde troppo lentamente, il sistema di bilanciamento del carico contrassegnerà la destinazione come non disponibile. I controlli dello stato a livello di applicazione possono anche prevedere verifiche più approfondite. Testando un determinato URL su una destinazione specifica, può controllare lo stato dell'applicazione. Per ottenere diagnostica in modo rapido e potenti strumenti di debug, è anche possibile ottenere visibilità completa sui controlli di stati e sui motivi degli eventuali errori tramite i codici di errore previsti dall'API Network Load Balancer e i parametri di Amazon CloudWatch collegati ai controlli.

    Failover DNS
    Se non sono disponibili destinazioni integre registrate al sistema Network Load Balancer, oppure se i nodi del sistema in una determinata zona restituiscono errori, Amazon Route 53 reindirizzerà il traffico ai nodi di sistemi di bilanciamento del carico in zone di disponibilità differenti.

    Integrazione con Amazon Route 53
    Quando un sistema Network Load Balancer non risponde, l'integrazione con Route 53 permette di rimuovere l'indirizzo IP del sistema di bilanciamento del carico non disponibile, reindirizzando il traffico in un sistema di bilanciamento in un'altra regione.

    Integrazione con i servizi AWS
    I sistemi Network Load Balancer si integrano con altri servizi AWS quali Auto Scaling, Amazon EC2 Container Service (ECS), AWS CloudFormation, AWS CodeDeploy e AWS Config.

    Connessioni TCP a lungo termine
    I sistemi Network Load Balancer supportano le connessioni TCP a lungo termine, ideali per applicazioni che sfruttano il protocollo WebSocket.

    Supporto per API centralizzato
    I sistemi Network Load Balancer impiegano la stessa API dei sistemi Application Load Balancer. In questo modo, sarà possibile operare con gruppi di destinazioni, controlli di stato e bilanciamenti del carico su più porte della stessa istanza Amazon EC2 per supportare applicazioni in container.

    Monitoraggio e auditing consolidati
    Amazon CloudWatch documenta anche i parametri dei sistemi Network Load Balancer. CloudWatch fornisce infatti parametri quali conteggio di flussi attivi, host integri, nuovi flussi, byte elaborati e così via. I sistemi Network Load Balancer inoltre, si integrano con AWS CloudTrail. CloudTrail tiene traccia delle chiamate API del sistema.

    Registrazione avanzata di log
    È possibile utilizzare la funzione Flow Logs per registrare tutte le richieste inviate al sistema di bilanciamento del carico. Flow Logs acquisisce informazioni sul traffico IP in entrata e in uscita dalle interfacce di rete nel cloud privato virtuale. I dati di log del flusso di dati vengono salvati con Amazon CloudWatch Logs.

    Isolamento di zona
    I sistemi Network Load Balancer sono stati creati per architetture applicative che operano in singole zone. In caso di errore in una zona di disponibilità, viene automaticamente eseguito il failover in un'altra zona di disponibilità integra. Anche se consigliamo ai clienti di configurare il sistema di bilanciamento del carico e le destinazioni su più zone di disponibilità per ottenere livelli ottimali di disponibilità, i sistemi Network Load Balancer possono operare anche in una zona singola per supportare le architetture che richiedono isolamento di zona.

    Bilanciamento del carico utilizzando gli 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. Gli indirizzi IP possono anche essere usati come destinazioni per bilanciare il carico di applicazioni in hosting in locale (tramite connessione Direct Connect) e sistemi EC2-Classic (tramite ClassicLink). La possibilità di bilanciare il carico tra le risorse AWS e quelle locali facilita la migrazione sul cloud, il burst nel cloud o il failover nel cloud.

  • Classic Load Balancer

    Classic Load Balancer assicura un bilanciamento del carico di base tra molteplici istanze Amazon EC2 e funziona sia a livello di richiesta che di connessione. Classic Load Balancer va utilizzato con applicazioni sviluppate nell'ambito della rete EC2-Classic. Se è in uso un cloud privato virtuale, consigliamo di utilizzare sistemi Application Load Balancer per il bilanciamento a livello 7 e sistemi Network Load Balancer per il bilanciamento a livello 4.

    Disponibilità elevata
    Il traffico in entrata può essere distribuito su più istanze Amazon EC2 in una o più zone di disponibilità. I sistemi Classic Load Balancer ricalibreranno automaticamente la propria capacità di gestione delle richieste in rapporto al traffico in entrata delle applicazioni.

    Controlli dello stato
    I sistemi Classic Load Balancer sono in grado di rilevare l'integrità delle istanze Amazon EC2. Quando vengono rilevate istanze EC2 con errori, ne interrompono il traffico e lo distribuiscono sulle istanze integre.

    Caratteristiche di sicurezza
    Quando è in uso un cloud privato virtuale di VPC, è possibile creare e gestire gruppi di sicurezza associati a sistemi Classic Load Balancer per ottenere opzioni di rete e di sicurezza aggiuntive. Puoi anche creare un sistema Classic Load Balancer senza indirizzi IP pubblici con funzioni di bilanciamento del carico interne (senza connessione a Internet).

    Ripartizione del carico SSL
    I sistemi Classic Load Balancer supportano la terminazione SSL, con ripartizione del carico della decrittografia SSL da istanze di applicazione, gestione centralizzata di certificati SSL e crittografia in istanze back-end con autenticazione facoltativa tramite chiave pubblica. Il supporto flessibile per la crittografia permette di controllare crittografia e protocolli presentati dal sistema di bilanciamento del carico ai client.

    Sticky session
    I sistemi Classic Load Balancer supportano la funzione sticky session degli utenti su istanze Amazon EC2 specifiche tramite cookie. Il traffico sarà instradato sempre alle stesse istanze quando l'utente continua ad accedere alla tua applicazione.

    Supporto per il protocollo IPv6
    I sistemi Classic Load Balancer supportano l'utilizzo di indirizzi sia IPv4 sia IPv6 per reti EC2-Classic.

    Bilanciamento del carico a livello 4 e 7
    È possibile bilanciare il carico di applicazioni HTTP/HTTPS e utilizzare funzionalità specifiche di livello 7 come X-Forwarded e sticky session. È inoltre possibile utilizzare bilanciamento del carico a livello 4 per applicazioni interamente basate sul protocollo TCP.

    Monitoraggio operativo
    I parametri di Classic Load Balancer, come il numero e la latenza delle richieste, sono riportati da Amazon CloudWatch.

    Registrazione di log
    È possibile impiegare i log di accesso per registrare tutte le richieste inviate al sistema di bilanciamento del carico e archiviare i log in Amazon S3 per analizzarli in un secondo momento. I log possono risultare utili per diagnosticare errori dell'applicazione e analizzare il traffico Web. È possibile impiegare AWS CloudTrail per registrare le chiamate API di Classic Load Balancer relative a un account e generare file di log. Lo storico delle chiamate API permette di eseguire analisi di sicurezza, monitoraggio delle modifiche alle risorse e audit di conformità.