Cos'è un Application Load Balancer? - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Cos'è un Application Load Balancer?

Il servizio Elastic Load Balancing distribuisce automaticamente il traffico in ingresso su più destinazioni, ad esempio istanze EC2, container e indirizzi IP, in una o più zone di disponibilità. Monitora lo stato di integrità delle destinazioni registrate e instrada il traffico solo verso le destinazioni integre. Elastic Load Balancing ridimensiona il load balancer di volta in volta, in quanto il traffico in ingresso varia nel corso del tempo. Può ridimensionare le risorse per la maggior parte dei carichi di lavoro automaticamente.

Elastic Load Balancing supporta i seguenti bilanciatori del carico: Application Load Balancer, Network Load Balancer, Gateway Load Balancer e Classic Load Balancer. È possibile selezionare il tipo di load balancer più adatto alle proprie esigenze. In questa guida vengono illustrati gli Application Load Balancer. Per ulteriori informazioni sugli altri sistemi di bilanciamento del carico, consulta la Guida per l'utente dei sistemi Network Load Balancer, la Guida per l'utente di Gateway Load Balancer, e la Guida per l'utente dei sistemi Classic Load Balancer.

Componenti di Application Load Balancer

Un sistema di bilanciamento del carico funge da singolo punto di contatto per i client. Il sistema di bilanciamento del carico distribuisce il traffico delle applicazioni in ingresso su più target, ad esempio sulle istanze EC2, in più zone di disponibilità. Ciò aumenta la disponibilità dell'applicazione. Puoi aggiungere uno o più listener al load balancer.

Un listener è un processo che controlla le richieste di connessione dai client utilizzando il protocollo e la porta che hai configurato. Le regole definite per un listener determinano il modo in cui il sistema di bilanciamento del carico instrada le richieste alle destinazioni registrate. Ogni regola consiste in una priorità, una o più operazioni e una o più condizioni. Quando le condizioni di una regola vengono soddisfatte, l'operazione viene eseguita. Occorre definire una regola predefinita per ogni listener e opzionalmente è possibile definire regole aggiuntive.

Ogni gruppo di target instrada le richieste su uno o più target registrati, ad esempio le istanze EC2, utilizzando il protocollo e il numero di porta specificati. È possibile registrare un target a più gruppi target. È possibile configurare controlli dello stato per ciascun gruppo target. I controlli dello stato vengono eseguiti su tutti i target registrati a un gruppo target specificato in una regola di listener per il sistema di bilanciamento del carico.

Il seguente diagramma mostra le componenti essenziali. Da notare che tutti i listener contengono una regola predefinita, tranne uno, che contiene un'altra regola che instrada le richieste su un altro gruppo di target. Un target è registrato con due gruppi di destinazioni.

I componenti di un Application Load Balancer di base

Per ulteriori informazioni, consulta la seguente documentazione :

Panoramica di Application Load Balancer

Un Application Load Balancer funziona a livello di applicazione, il settimo livello del modello Open Systems Interconnection (OSI). Una volta che il sistema di bilanciamento del carico ha ricevuto una richiesta, valuta le regole del listener in ordine di priorità per determinare quale di esse applicare, quindi seleziona un target dal gruppo di target per l'operazione della regola. È possibile configurare le regole del listener per instradare le richieste su diversi gruppi di destinazioni in base al contenuto del traffico delle applicazioni. L'instradamento avviene in maniera indipendente per ogni gruppo di destinazioni, anche nel caso in cui una destinazione sia registrata con più gruppi. È possibile configurare l'algoritmo di instradamento utilizzato a livello di gruppo di target. L'algoritmo di instradamento predefinito è round robin; in alternativa, puoi specificare l'algoritmo di instradamento per le richieste meno rilevanti.

È possibile aggiungere e rimuovere le destinazioni dal sistema di bilanciamento del carico in base alle proprie esigenze, senza interrompere il flusso di richieste per l'applicazione. Elastic Load Balancing ridimensiona il load balancer di volta in volta, in quanto il traffico verso l'applicazione varia nel corso del tempo. Elastic Load Balancing è in grado di ridimensionare automaticamente le risorse per la maggior parte dei carichi di lavoro.

È possibile configurare controlli dello stato, che vengono utilizzati per monitorare lo stato dei target registrati in modo che il sistema di bilanciamento del carico è in grado di inviare le richieste solo per i target integri.

Per ulteriori informazioni consultare la guida Come funziona Elastic Load Balancing all'interno della Guida per l'utente di Elastic Load Balancing.

Vantaggi della migrazione da Classic Load Balancer

L'utilizzo di un Application Load Balancer invece di un Classic Load Balancer comporta i seguenti vantaggi:

  • Supporto per Condizioni percorso. Puoi configurare le regole per il tuo listener in modo da inoltrare le richieste in base all'URL nella richiesta. Questo ti permette di strutturare la tua applicazione in servizi più piccoli, e di instradare le richieste al servizio giusto in base al contenuto dell'URL.

  • Supporto per Condizioni host. Puoi configurare le regole per il tuo listener in modo da inoltrare le richieste in base al campo host nell'intestazione HTTP. Questo ti permette di instradare le richieste su più domini utilizzando un unico sistema di bilanciamento del carico.

  • Supporto dell'instradamento basato sui campi nella richiesta, come Condizioni nell'intestazione HTTP e metodi, parametri di query e indirizzi IP di origine.

  • Supporto per le richieste di instradamento a più applicazioni su una singola istanza EC2. È possibile registrare un'istanza o indirizzo IP con più gruppi di destinazioni, ognuno in una porta diversa.

  • Supporto del reindirizzamento delle richieste da un URL all'altro.

  • Supporto della restituzione di una risposta HTTP personalizzata.

  • Supporto per la registrazione di target in base all'indirizzo IP, inclusi target all'esterno del VPC per il sistema di bilanciamento del carico.

  • Supporto della registrazione delle funzioni Lambda come target.

  • Supporto della funzionalità del sistema di bilanciamento del carico di autenticare gli utenti delle applicazioni tramite le loro identità aziendali o social prima di instradare le richieste.

  • Supporto per applicazioni containerizzate. Amazon Elastic Container Service (Amazon ECS) può selezionare una porta non utilizzata per la pianificazione di un'attività con un gruppo di destinazioni utilizzando questa porta. Ciò rende possibile un utilizzo efficiente dei cluster.

  • Support per il monitoraggio dello stato di ciascun servizio in modo indipendente, poiché i controlli sanitari sono definiti a livello di gruppo target e molte CloudWatch metriche vengono riportate a livello di gruppo target. Collegare un gruppo di destinazioni a un gruppo con dimensionamento automatico consente di dimensionare ciascun servizio in modo dinamico in base alle esigenze.

  • I log di accesso contengono informazioni aggiuntive e vengono archiviati in formato compresso.

  • Prestazioni del sistema di bilanciamento del carico migliorate.

Per ulteriori informazioni sulle caratteristiche supportate da ogni tipo di load balancer, vedere il Confronto di prodotti per Elastic Load Balancing.

Elastic Load Balancing funziona con i seguenti servizi per migliorare la disponibilità e la scalabilità delle applicazioni.

  • Amazon EC2: server virtuali che permettono di eseguire le proprie applicazioni nel cloud. È possibile configurare il sistema di bilanciamento del carico per instradare il traffico sulle istanze EC2.

  • Dimensionamento automatico Amazon EC2: garantisce l'esecuzione del numero di istanze desiderato, anche se un'istanza ha esito negativo, e consente di aumentare o diminuire automaticamente il numero di istanze in base a come cambia la domanda. Abilitando il dimensionamento automatico con Elastic Load Balancing, le istanze da esso avviate vengono registrate automaticamente nel gruppo di destinazioni, mentre e la registrazione delle istanze da esso terminate viene automaticamente annullata dal gruppo di destinazioni.

  • AWS Certificate Manager: durante la creazione di un ascoltatore HTTPS, è possibile specificare i certificati forniti da ACM. Il sistema di bilanciamento del carico utilizza i certificati per terminare le connessioni e decriptare le richieste dei client. Per ulteriori informazioni, consulta Certificati SSL.

  • Amazon CloudWatch: consente di monitorare il sistema di bilanciamento del carico e di intervenire in base alle esigenze. Per ulteriori informazioni, consulta CloudWatch metriche per il tuo Application Load Balancer.

  • Amazon ECS: permette di eseguire, arrestare e gestire i container Docker su un cluster di istanze EC2. È possibile configurare il sistema di bilanciamento del carico per instradare il traffico sui propri contenitori. Per ulteriori informazioni, consulta Service load balancing nella Guida per gli sviluppatori di Amazon Elastic Container Service.

  • AWS Global Accelerator: migliora la disponibilità e le prestazioni dell'applicazione. Utilizza un acceleratore per distribuire il traffico tra più sistemi di bilanciamento del carico in una o più regioni AWS. Per ulteriori informazioni, consulta la Guida per gli sviluppatori di AWS Global Accelerator.

  • Route 53: offre un modo affidabile e conveniente per instradare i visitatori sui siti Web tramite la traduzione dei nomi dei domini (come www.example.com) negli indirizzi IP numerici (come 192.0.2.1) che i computer utilizzano per connettersi tra loro. AWS assegna URL alle risorse, come i sistemi di bilanciamento del carico. Tuttavia, è possibile impostare un URL semplice da ricordare. Ad esempio, è possibile mappare il nome di dominio a un sistema di bilanciamento del carico. Per ulteriori informazioni, consulta Routing del traffico a un load balancer ELB nella Guida per gli sviluppatori di Amazon Route 53.

  • AWS WAF: è possibile utilizzare AWS WAF con l'Application Load Balancer per consentire o bloccare le richieste in base alle regole in una lista di controllo accessi Web (ACL Web). Per ulteriori informazioni, consulta Application Load Balancer e AWS WAF.

Per visualizzare le informazioni sui servizi integrati nel sistema di bilanciamento del carico, seleziona questo sistema nella AWS Management Console e scegli la scheda Servizi integrati.

Prezzi

Con il load balancer paghi solo in base all'uso effettivo. Per ulteriori informazioni, consulta Prezzi di Elastic Load Balancing.