Informazioni sui programmi di bilanciamento del carico di rete
È possibile utilizzare IBM Cloud® Network Load Balancer for VPC (NLB) per distribuire il traffico tra più istanze di server all'interno della stessa regione del VPC.
Gli NLB possono accettare membri in tutte e tre le zone di disponibilità, ma l'NLB stesso risiede in una zona specifica. Per ulteriori informazioni, consultare Supporto Multi - zona.
È possibile assegnare le porte per cliente, ma non vi è alcuna applicazione della porta a livello del gateway VP.
Tipi di bilanciatori di carico di rete
Come descritto in Panoramica dei programmi di bilanciamento del carico per VPC, sono disponibili molti tipi di NLB:
-
Pubblico- Un programma di bilanciamento del carico pubblico è un programma di bilanciamento del carico con un indirizzo IP accessibile pubblicamente registrato con DNS.
-
Private- Un programma di bilanciamento del carico privato è accessibile solo dall'interno della rete VPC, dove il client si trova nello stesso VPC o ha una raggiungibilità (ad esempio, tramite Direct Link, Transit Gatewayo entrambi). Per i balzi di carico privati è necessario disporre di una sottorete dedicata senza instradamenti personalizzati configurati per la sottorete.
-
Privato con modalità di routing abilitata- Gli NLB privati con modalità di routing abilitata supportano i dispositivi Virtual Network Function (VNF) come target back-end. Eseguono un instradamento diretto senza NAT, consentendo ai dispositivi VNF di ispezionare i pacchetti così come sono.
-
Percorso privato- i provider di servizi utilizzano gli NLB del percorso privato per connettere in modo sicuro IBM Cloud con servizi di terze parti ospitati da VPC sulla rete privata IBM Cloud. Gli NLB Private Path sono necessari quando si utilizzano i servizi Private Path per mantenere il traffico di rete su un percorso privato che non si interseca mai con Internet. Per ulteriori informazioni, consultare la Guida alle soluzioni Private Path.
Gli NLB Private Path possono essere utilizzati solo con un servizio Private Path.
Introduzione
Per iniziare a utilizzare i programmi di bilanciamento del carico di rete, attieniti alla seguente procedura:
- Esaminare i problemi noti per i bilanciatori di carico di rete.
- Segui le istruzioni per il tuo particolare NLB:
Per ulteriori informazioni, vedi Tipi di programmi di bilanciamento del carico e il grafico di confronto del programma di bilanciamento del carico.
Metodi di bilanciamento del carico
Sono disponibili tre metodi di bilanciamento del carico per la distribuzione del traffico attraverso i server delle applicazioni di back-end: round - robin, round - robin ponderati e meno connessioni.
Connessioni minime
Con questo metodo, l'istanza del server back-end che gestisce il minor numero di connessioni in un determinato momento riceve la connessione del client successivo.
I percorsi privati NLB non supportano il metodo della minima connessione.
ROUND-ROBIN
Round-robin è il metodo di bilanciamento del carico predefinito. Con questo metodo, il bilanciatore di carico inoltra le connessioni in entrata dei client ai server back-end secondo il principio del round-robin. Di conseguenza, tutti i server di back-end ricevono all'incirca un numero uguale di connessioni client.
Round-robin ponderato
Con questo metodo, il bilanciatore di carico inoltra le connessioni in entrata dei client ai server di back-end in proporzione al peso assegnato a tali server. A ogni server viene assegnato un peso predefinito pari a 50, che può
essere personalizzato con qualsiasi valore compreso nell'intervallo 0 - 100.
Ad esempio, se i server applicativi A, B e C hanno i pesi 60, 60 e 30, allora i server A e B ricevono lo stesso numero di connessioni, mentre il server C ne riceve la metà.
I valori di peso del server sono applicabili solo con il metodo round-robin ponderato. Vengono ignorati con i metodi di bilanciamento del carico rotondo e meno connessioni.
L'impostazione del peso di un server su 0 significa che a tale server non verrà inoltrata alcuna nuova connessione ma l'eventuale traffico esistente continua a fluire. L'utilizzo di un peso pari a 0 può aiutare a
ridurre gradualmente il carico di un server e a escluderlo dalla rotazione dei servizi.
Listener front-end e pool di back-end
Gli ascoltatori front-end sono porte di applicazione per i balanzatori di carico per ricevere richieste in arrivo mentre i pool di back-end sono i server delle applicazioni dietro i balzi di carico. È possibile definire fino a 10 listener front-end e associarli ai pool back-end sui server applicativi back-end. Nel caso di un NLB pubblico, il nome di dominio completo (FQDN) assegnato al bilanciatore di carico e le porte del listener front-end sono visibili su Internet. Le richieste utente in entrata vengono ricevute su queste porte. TCP e UDP sono i protocolli supportati per gli ascoltatori front-end e i pool back-end.
Puoi collegare fino a 50 VSI (virtual server instance) a un pool di back-end. Il traffico viene inviato ad ogni istanza sulla relativa porta dati specificata. Questa porta dati non deve essere necessariamente uguale alla porta del listener di front-end.
Politiche di failsafe del pool di back-end
Quando si modifica un pool back-end in un bilanciatore di carico, è possibile specificare una delle seguenti azioni di politica failsafe:
- Inoltro:- Il bilanciatore di carico instrada le richieste verso un pool di backup designato. In questo modo si ottiene un percorso di failover pulito verso un altro set di server applicativi. È necessario che un pool di backup esistente sia configurato e pronto a ricevere il traffico.
- Bypass:- Il bilanciatore di carico invia le richieste direttamente agli indirizzi IP di destinazione del membro, bypassando completamente il bilanciatore di carico. Questa opzione viene utilizzata in genere in specifiche configurazioni di rete, come ad esempio con i bilanciatori di carico di rete e i dispositivi di funzione di rete virtuale (VNF).
- Drop:- Il bilanciatore di carico elimina tutte le richieste in arrivo e il client non riceve alcuna risposta.
È possibile scegliere una destinazione failsafe da un elenco di pool di backup applicabili.
Requisiti del pool Failsafe Target (se l'azione è Forward):
- devono appartenere allo stesso bilanciatore di carico
- devono avere un protocollo uguale o compatibile ( TCP è compatibile solo con TCP, ma qualsiasi combinazione di HTTP e HTTPS è compatibile)
Numero massimo di connessioni
Non esiste un numero definito di connessioni predefinite o di connessioni massime per un bilanciatore di carico di rete. Il numero totale di connessioni contemporanee dipende da fattori quali le risorse allocate e il throughput della rete.
Rappresentazione VPC di un bilanciatore di carico di rete
La Figura 1 mostra la rappresentazione VPC di una tipica configurazione del programma di bilanciamento del carico di rete. Il NLB viene fornito su una sottorete VPC. Per configurare il percorso dati di rete sull'NLB, è necessario creare un listener, un lotto e almeno un membro. Un listener è la porta front-end su cui l'NLB è in ascolto per richieste del cliente. Queste richieste vengono inoltrate ai destinatari presenti nel pool associato al listener. Un pool è un gruppo di destinazioni utilizzate per distribuire le richieste di rete in entrata nell'NLB per un listener specifico. Un membro è un server di back-end con una porta specificata che è configurata per ascoltare le richieste.
Bilanciamento del carico di livello 4
Network Load Balancer for VPC fornisce uno strato 4 (noto come strato di trasporto) servizio di bilanciamento del carico ai server dell'utente in un VPC. Decide dove il traffico è diretto in base agli indirizzi IP di origine e di destinazione e alla porta nell'intestazione del pacchetto. Il programma di bilanciamento del carico non effettua un controllo del contenuto del pacchetto.
Dal momento che il bilanciamento del carico di layer 4 richiede meno elaborazioni rispetto al bilanciamento del carico più sofistito, come lo strato 7, l'utilizzo della CPU e la memoria vengono utilizzati in modo più efficiente.
Caso di utilizzo 1: programma di bilanciamento del carico di rete pubblico
Un NLB pubblico supporta DSR (Direct Server Return). I programmi di bilanciamento del carico dell'applicazione non supportano questa capacità.
La figura 2 illustra come funziona un NLB pubblico. Il Consumer registra l'indirizzo IP del programma di bilanciamento del carico con DNS utilizzando l'FQDN del programma di bilanciamento del carico. Il consumer facoltativamente interroga il server DNS. DNS risponde con l'indirizzo IP del programma di bilanciamento del carico. Il consumatore invia una richiesta di dati al load balancer all'indirizzo TCP e il load balancer inoltra la richiesta a un target back-end. La destinazione genera una risposta e la risposta viene inviata direttamente al consumer con DSR.
Caso di utilizzo 2: programma di bilanciamento del carico della rete privata
Un NLB privato è accessibile solo dalla rete VPC, dove il consumer ha la raggiungibilità (ad esempio, tramite Direct Link, Transit Gatewayo entrambi).
Per i balzi di carico privati è necessario disporre di una sottorete dedicata senza instradamenti personalizzati configurati per la sottorete.
La figura 3 illustra come funziona un NLB privato. Il Consumer interroga il DNS per l'indirizzo IP del programma di bilanciamento del carico utilizzando l'FQDN del programma di bilanciamento del carico. Il consumer facoltativamente interroga il server DNS. DNS risponde con l'indirizzo IP del programma di bilanciamento del carico. Il consumatore invia una richiesta TCP al load balancer per ottenere dati attraverso un collegamento diretto o un gateway di transito, e il load balancer inoltra la richiesta a un target back-end. La destinazione genera una risposta e la risposta viene inviata direttamente al consumer utilizzando DSR.
Caso di utilizzo 3: programma di bilanciamento del carico della rete privata con modalità di instradamento abilitata
I NLB con route_mode impostato su true sono programmi di bilanciamento del carico privati che supportano solo applicazioni VNF (virtual network function), come un firewall, come destinazioni di backend.
La figura 4 illustra come funziona un NLB privato con modalità di instradamento. Il Consumer interroga il DNS per l'indirizzo IP del programma di bilanciamento del carico utilizzando l'FQDN del programma di bilanciamento del carico. Il consumer facoltativamente interroga il server DNS. DNS risponde con l'indirizzo IP del programma di bilanciamento del carico. Il consumatore invia una richiesta TCP al load balancer per ottenere i dati attraverso un collegamento diretto o un gateway di transito. Il programma di bilanciamento del carico inoltra la richiesta alle unità VNF, quindi alle destinazioni di backend. La destinazione genera una risposta e tale risposta viene inviata nuovamente all'NLB, quindi nuovamente ai dispositivi VNF, prima di tornare al client.
Caso d'uso 4: Alta disponibilità multizona con un bilanciatore di carico di rete
La Figura 5 illustra come è possibile distribuire un NLB per supportare più zone. Questo scenario di distribuzione richiede spesso l'uso dell'opzione GLB (global load balancer) in IBM Cloud Internet Services(CIS).
Per questo caso d'uso esiste una limitazione nota. Due membri con la stessa istanza e porta non possono esistere contemporaneamente. È invece possibile utilizzare una porta diversa con la stessa istanza.
Potresti voler sfruttare le elevate prestazioni della velocità effettiva (e la bassa latenza) che l'NLB guadagna tramite DSR. Inoltre, ti consigliamo di distribuire i tuoi carichi di lavoro in più zone per aumentarne la disponibilità in un ambiente HA (High Availability).
Puoi utilizzare questo scenario di distribuzione per ottenere l'alta disponibilità e garantire che i carichi di lavoro siano disponibili in più zone di disponibilità nel caso in cui si verifichi un malfunzionamento del programma di bilanciamento del carico. Se una condizione di errore si verifica a un programma di bilanciamento del carico in una zona di disponibilità, il GLB non invia più il traffico a tale zona di disponibilità. Ad esempio, se si verifica un errore nella zona di disponibilità 1, GLB invia il traffico alla zona di disponibilità 2 o alla zona di disponibilità 3. Gli scenari di esempio possono includere una grande quantità di errori, tutto da un singolo NLB, fino a un'intera zona di disponibilità.
Il requisito di un NLB per zona è necessario solo per gli NLB pubblici e privati. Il percorso privato NLB è per sua natura regionale, quindi non è necessario definirne uno per zona.
Caso d'uso 5: bilanciatore di carico della rete Private Path
Un Private Path NLB mantiene tutti i checkpoint del traffico tra il Provider e il Consumer all'interno dell'infrastruttura IBM Cloud. I dati non escono su Internet.
A differenza di altri NLB, un bilanciatore di carico di rete Private Path offre una disponibilità regionale ed è resiliente ai guasti di zona anche se viene selezionata una singola subnet. Non è necessario creare più bilanciatori di carico Private Path o specificare più di una singola subnet per garantire la resilienza ai guasti della zona. La selezione della sottorete influisce solo sugli indirizzi IP associati al bilanciatore di carico.
È possibile utilizzare solo NLB percorso privato con un servizio percorso privato. Per ulteriori informazioni, consulta Informazioni sui servizi del percorso privato.
La Figura 6 illustra come funziona un NLB Private Path per supportare un servizio Private Path. L'NLB del percorso privato registra con il server DNS. Il consumer facoltativamente interroga il server DNS. Il consumatore invia quindi una richiesta di dati TCP al Private Path NLB attraverso un gateway VPE e il Private Path NLB inoltra la richiesta ai target. A loro volta i target generano una risposta, che viene inviata tramite direct-server-return al VPE e quindi inviata al Consumer.