Distribuire il Carico con Elastic Load Balancing (ELB) di AWS

Amazon Cloud

L'Elastic Load Balancing (ELB) è un servizio di AWS che distribuisce automaticamente il traffico in entrata delle applicazioni su più destinazioni, come istanze Amazon EC2, container e indirizzi IP, in una o più Availability Zone. È un componente fondamentale per costruire architetture tolleranti ai guasti e scalabili.

Un load balancer agisce come un "vigile del traffico" per il tuo sito. Invece di mandare tutti gli utenti a un singolo server, li distribuisce tra un pool di server sani.

I Tipi di Load Balancer

ELB offre diversi tipi di load balancer, ognuno per uno scopo specifico.

1. Application Load Balancer (ALB)

È il tipo più comune e flessibile per le applicazioni web. Opera a livello di applicazione (Livello 7 del modello OSI) e può prendere decisioni di routing intelligenti basate sul contenuto della richiesta HTTP.

  • Routing Basato sul Percorso: Può inviare le richieste per `miosito.com/api/*` a un gruppo di server e quelle per `miosito.com/immagini/*` a un altro.
  • Routing Basato sull'Hostname: Può gestire più siti (es. `sito1.com` e `sito2.com`) sullo stesso load balancer, inviando il traffico al gruppo di server corretto in base al nome di dominio richiesto.
  • Integrazione con WAF: Si integra con AWS WAF per la sicurezza a livello applicativo.

2. Network Load Balancer (NLB)

Opera a livello di trasporto (Livello 4) ed è progettato per performance estreme e bassissima latenza. È in grado di gestire milioni di richieste al secondo. Inoltra il traffico TCP e UDP direttamente alle istanze di backend.

  • Uso Ideale: Carichi di lavoro ad altissime performance, gaming, o quando si ha bisogno di un indirizzo IP statico per il load balancer.

3. Gateway Load Balancer

Un tipo specializzato usato per distribuire e scalare appliance di rete virtuali di terze parti, come firewall e sistemi di ispezione.

Health Checks

Una funzione fondamentale di ELB sono gli health check. Il load balancer controlla periodicamente lo "stato di salute" di ogni istanza nel suo pool. Se un'istanza non risponde correttamente a un health check, il load balancer smette di inviarle traffico, reindirizzandolo automaticamente verso le istanze sane. Questo garantisce un'alta disponibilità.

ELB è quasi sempre usato in combinazione con AWS Auto Scaling per creare un'infrastruttura veramente elastica.

Hai bisogno di una soluzione su misura?

Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.

Richiedi una consulenza