Bilanciatore di carico
Introduzione
Il bilanciatore di carico (load balancer) di SeFlow permette di distribuire il traffico in ingresso verso più server (Cloud VPS, Cloud Server o Server Dedicati), migliorando disponibilità, prestazioni e continuità del servizio. Utilizzando un bilanciatore collegato a un set di macchine ridondanti, si riduce il rischio di sovraccarico su un singolo server e si garantisce una maggiore resilienza dell’infrastruttura.
Cosa è un bilanciatore di carico
Un bilanciatore di carico SeFlow è un servizio di rete con un proprio indirizzo IP pubblico e una o più regole che determinano come instradare il traffico verso i server di back-end. Da un punto di vista del client, il bilanciatore è il solo punto di accesso al servizio, mentre “dietro” può esserci un intero cluster di server.
L’uso di un bilanciatore consente di:
- distribuire il carico tra più server, evitando sovraccarichi;
- aumentare l’affidabilità grazie alla ridondanza dei back-end;
- ridurre i tempi di risposta, indirizzando le richieste verso i server meno impegnati;
- semplificare le manutenzioni, potendo rimuovere temporaneamente un server dal pool.
Le regole associate a un bilanciatore
Ogni bilanciatore di carico è composto da una o più regole. Una regola definisce come deve essere instradato il traffico in ingresso e comprende alcuni parametri fondamentali:
- IP e porta del bilanciatore (front-end)
- IP e porta dei server di back-end
- Protocollo (HTTP, HTTPS, TCP)
- Algoritmo di bilanciamento (ad esempio LeastConn, Source)
- Eventuali impostazioni di persistenza della sessione
Algoritmi di bilanciamento principali
- LeastConn:
- instrada il traffico verso il server con il minor numero di connessioni attive;
- è un algoritmo dinamico, adatto a bilanciare in tempo reale il carico;
- indicato per connessioni persistenti HTTP/HTTPS.
- Source:
- instrada le richieste in base a un hash dell’indirizzo IP e della porta sorgente;
- garantisce che lo stesso client venga mappato sempre sullo stesso server;
- adatto a connessioni persistenti TCP, meno indicato per HTTP/HTTPS se si desidera una distribuzione più uniforme.
Protocolli supportati
Le regole del bilanciatore generalmente supportano i seguenti protocolli:
- HTTP: traffico web non cifrato (porta predefinita 80);
- HTTPS: traffico web cifrato tramite SSL/TLS (porta predefinita 443);
- TCP: qualunque servizio basato su TCP (es. servizi personalizzati, database esposti su rete privata, ecc.).
Protocollo HTTPS, certificato pubblico e chiave privata
Per utilizzare il bilanciatore SeFlow in modalità HTTPS con algoritmo LeastConn, è necessario caricare un certificato pubblico e la relativa chiave privata sul bilanciatore. In questo modo la terminazione SSL/TLS avviene direttamente sul bilanciatore, che si occupa di decifrare il traffico prima di inoltrarlo ai server di back-end.
Cos’è un certificato SSL/TLS
Un certificato SSL/TLS è composto da una coppia di chiavi crittografiche:
- Certificato pubblico: contiene la chiave pubblica e le informazioni sull’identità del server, firmate da una CA (Certification Authority).
- Chiave privata: deve rimanere segreta sul server o sul bilanciatore, ed è utilizzata per decifrare il traffico e dimostrare l’autenticità del servizio.
In genere i file hanno estensioni come .crt, .cer, .pem per il certificato pubblico e .key per la chiave privata.
Caricare certificato e chiave sul bilanciatore
Durante la creazione o modifica di una regola HTTPS con algoritmo LeastConn:
- accedi alla configurazione della regola sul bilanciatore;
- seleziona il protocollo HTTPS e la porta del bilanciatore (di solito 443);
- indica la porta dei server di back-end (es. 443 o 80, a seconda se vuoi terminare SSL sul bilanciatore o passare HTTPS ai back-end);
- carica il certificato pubblico e la chiave privata nei campi dedicati;
- salva la configurazione e verifica il corretto funzionamento del sito tramite browser.
Come aggiungere un bilanciatore
La creazione di un nuovo bilanciatore di carico avviene dal Pannello SeFlow.
- Accedi al Pannello di Controllo SeFlow con le tue credenziali.
- Seleziona il Data Center in cui vuoi creare il bilanciatore.
- Dal menu, vai in Public Cloud → Rete → Bilanciatori (o sezione equivalente).
- Nella sezione Gestione bilanciatori seleziona + CREA NUOVO BILANCIATORE.
- Compila i dati richiesti, ad esempio:
- Nome del bilanciatore (descrittivo, es. lb-web-produzione);
- Rete / VLAN su cui esporre il bilanciatore;
- eventuale IP pubblico da associare;
- impostazioni di notifica (email/sistemi esterni) se disponibili.
- Conferma la creazione e attendi che il bilanciatore entri in stato “Attivo”.
Come gestire un bilanciatore
Accedere alla pagina di dettaglio
- Accedi al Pannello SeFlow.
- Vai in Public Cloud → Rete → Bilanciatori.
- Nella sezione Gestione bilanciatori individua il bilanciatore desiderato.
- Seleziona Gestisci (o voce equivalente) per aprire la pagina di dettaglio.
Dalla pagina di dettaglio puoi:
- cambiare lo stato del bilanciatore (attivo/disattivo);
- collegare o disconnettere server di back-end;
- creare, modificare o eliminare regole;
- analizzare le statistiche di carico;
- modificare nome e impostazioni di notifica;
- eliminare il bilanciatore.
Cambiare lo stato del bilanciatore
Disattivare un bilanciatore attivo:
- Accedi alla pagina di dettaglio del bilanciatore.
- Seleziona DISATTIVA BILANCIATORE nell’area “Stato bilanciatore”.
- Conferma l’operazione nella finestra di dialogo.
Attivare un bilanciatore disattivo:
- Accedi alla pagina di dettaglio.
- Seleziona ATTIVA BILANCIATORE.
- Conferma l’operazione nella finestra di dialogo.
Collegare e disconnettere server
Collegare un server
- Accedi alla pagina di dettaglio del bilanciatore.
- Scorri fino alla sezione Server bilanciati.
- Seleziona COLLEGA SERVER.
- Nella finestra di selezione:
- scegli quali Cloud VPS/Cloud Server collegare al bilanciatore;
- se disponibile, inserisci l’IP di Server Dedicati da aggiungere come back-end.
- Conferma con COLLEGA e verifica il corretto instradamento del traffico.
Disconnettere un server
- Accedi alla sezione Server bilanciati del bilanciatore.
- Individua il server che vuoi rimuovere.
- Seleziona DISCONNETTI.
- Conferma nella finestra di dialogo e verifica il corretto funzionamento del servizio.
Creare o eliminare regole
Aggiungere una regola
- Accedi alla pagina di dettaglio del bilanciatore.
- Scorri fino alla sezione Regole.
- Seleziona CREA REGOLA.
- Nella finestra di creazione inserisci:
- protocollo (HTTP, HTTPS, TCP);
- porta del bilanciatore;
- porta dei server di back-end;
- algoritmo (LeastConn, Source, ecc.);
- eventuali opzioni aggiuntive.
- Conferma e verifica il corretto funzionamento della regola con dei test.
Eliminare una regola
- Accedi alla sezione Regole.
- Individua la regola da rimuovere.
- Seleziona ELIMINA.
- Conferma l’operazione nella finestra di dialogo.
Analizzare le statistiche
Dalla sezione Storico carico (o “Statistiche”) puoi visualizzare:
- andamento del traffico (richieste/secondo, throughput);
- carico sui singoli server bilanciati;
- statistiche aggregate per regola.
Puoi generalmente selezionare il periodo di osservazione (es. ultime 24 ore, ultimi 7 giorni, ultimi 30 giorni).
Modificare nome e impostazioni di notifica
- Dalla pagina di dettaglio del bilanciatore, accedi al tab Modifica (Nome e Notifiche).
- Imposta:
- Nome del bilanciatore (non duplicato all’interno della stessa rete);
- Notifiche (ad esempio email in caso di problemi, ove previsto).
- Conferma con SALVA MODIFICHE.
Come eliminare un bilanciatore
Quando un bilanciatore non è più necessario, puoi eliminarlo dal Pannello SeFlow.
- Accedi alla pagina di dettaglio del bilanciatore.
- Verifica che il bilanciatore sia disattivato.
- Nell’area Azioni bilanciatore seleziona ELIMINA.
- Nella finestra di conferma, verifica che siano indicate eventuali regole che verranno rimosse insieme al bilanciatore.
- Conferma con OK, CONFERMA.
Best practice per l’uso del bilanciatore SeFlow
- prevedi almeno due server di back-end per ogni bilanciatore in produzione;
- mantieni configurazioni omogenee tra i server (versione OS, software, configurazioni applicative);
- usa HTTPS con certificati validi per servizi esposti su Internet;
- utilizza le statistiche per dimensionare correttamente le risorse;
- documenta nomi, regole e server associati nelle procedure interne del tuo team.
