Che cos'è Software Load Balancer (SLB) per SDN?

Si applica a: Azure Stack HCI, versioni 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

I provider di servizi cloud e le aziende che distribuiscono SDN (Software Defined Networking) possono usare Software Load Balancer (SLB) per distribuire uniformemente il traffico di rete dei clienti tenant e tenant tra le risorse di rete virtuale. SLB consente di abilitare più server per l'hosting dello stesso carico di lavoro, offrendo disponibilità e scalabilità elevate.

Il software Load Balancer può fornire un perimetro multi-tenant unificato grazie all'integrazione con tecnologie SDN come gateway RAS, firewall del data center e reflector di route.

Nota

La multi-tenancy per le VLAN non è supportata dal controller di rete. È tuttavia possibile usare VLAN con bilanciamento del carico software per carichi di lavoro gestiti dal provider di servizi, ad esempio l'infrastruttura del data center e i server Web ad alta densità.

Usando Software Load Balancer, è possibile aumentare il numero di istanze delle funzionalità di bilanciamento del carico usando macchine virtuali SLB negli stessi server di calcolo Hyper-V usati per gli altri carichi di lavoro delle macchine virtuali. Per questo motivo, Software Load Balancer supporta la creazione e l'eliminazione rapida degli endpoint di bilanciamento del carico necessari per le operazioni CSP. Inoltre, Software Load Balancer supporta decine di gigabyte per cluster, fornisce un modello di provisioning semplice ed è facile da aumentare e ridurre.

Per informazioni su come gestire i criteri di Load Balancer software tramite Windows Admin Center, vedere Gestire Load Balancer software per SDN.

Cosa include software Load Balancer?

Software Load Balancer include le funzionalità seguenti:

  • Servizi di bilanciamento del carico di livello 4 (L4) per il traffico TCP/UDP nord/sud/est/ovest.

  • Rete pubblica e Bilanciamento del carico del traffico di rete interno.

  • Supporto di indirizzi IP dinamici (DIP) nelle reti locali virtuali (VLAN) e nelle reti virtuali create tramite Virtualizzazione rete Hyper-V.

  • Supporto del probe di integrità.

  • Pronto per la scalabilità cloud, tra cui funzionalità di scalabilità orizzontale e funzionalità di scalabilità orizzontale per multiplexer e agenti host.

Per altre informazioni, vedere Funzionalità di Load Balancer software in questo articolo.

Funzionamento di Software Load Balancer

Software Load Balancer funziona eseguendo il mapping di indirizzi IP virtuali (VIP) a DIP che fanno parte di un set di servizi cloud di risorse nel data center.

Gli indirizzi VIP sono singoli indirizzi IP che forniscono l'accesso pubblico a un pool di macchine virtuali con carico bilanciato. Ad esempio, gli indirizzi VIP sono indirizzi IP esposti su Internet in modo che i tenant e i clienti tenant possano connettersi alle risorse tenant nel data center cloud.

I dip sono gli indirizzi IP delle macchine virtuali membro di un pool con carico bilanciato dietro l'indirizzo VIP. I dip vengono assegnati all'interno dell'infrastruttura cloud alle risorse del tenant.

Gli indirizzi VIP si trovano nel multiplexer SLB (MUX). Il MUX è costituito da una o più macchine virtuali. Il controller di rete fornisce ogni MUX con ogni indirizzo VIP e ogni MUX usa a sua volta Border Gateway Protocol (BGP) per annunciare ogni indirizzo VIP ai router nella rete fisica come route /32. BGP consente ai router di rete fisici di:

  • Si apprenderà che un indirizzo VIP è disponibile in ogni MUX, anche se i MUX si trovano in subnet diverse in una rete di livello 3.

  • Distribuire il carico per ogni indirizzo VIP in tutti i MUX disponibili usando il routing ECMP (Equal Cost Multi-Path).

  • Rilevare automaticamente un errore MUX o una rimozione e interrompere l'invio del traffico al MUX non riuscito.

  • Distribuire il carico dal MUX non riuscito o rimosso tra i MUX integri.

Quando il traffico pubblico arriva da Internet, il MUX SLB esamina il traffico, che contiene l'indirizzo VIP come destinazione, e mappa e riscrive il traffico in modo che arrivi a un singolo DIP. Per il traffico di rete in ingresso, questa transazione viene eseguita in un processo in due passaggi suddiviso tra le macchine virtuali MUX e l'host Hyper-V in cui si trova il DIP di destinazione:

  1. Bilanciamento del carico: MUX usa l'indirizzo VIP per selezionare un DIP, incapsula il pacchetto e inoltra il traffico all'host Hyper-V in cui si trova il DIP.

  2. NAT (Network Address Translation): l'host Hyper-V rimuove l'incapsulamento dal pacchetto, converte l'indirizzo VIP in un DIP, esegue il mapping delle porte e inoltra il pacchetto alla macchina virtuale DIP.

MUX sa come eseguire il mapping degli indirizzi VIP ai DIP corretti a causa dei criteri di bilanciamento del carico definiti tramite Controller di rete. Queste regole includono protocollo, porta front-end, porta back-end e algoritmo di distribuzione (5, 3 o 2 tuple).

Quando le macchine virtuali tenant rispondono e inviano il traffico di rete in uscita a Internet o a percorsi tenant remoti, poiché nat viene eseguito dall'host Hyper-V, il traffico ignora il MUX e passa direttamente al router perimetrale dall'host Hyper-V. Questo processo di bypass MUX è denominato Direct Server Return (DSR).

Dopo aver stabilito il flusso iniziale del traffico di rete, il traffico di rete in ingresso ignora completamente il MUX SLB.

Nella figura seguente un computer client esegue una query DNS per l'indirizzo IP di un sito di SharePoint aziendale, in questo caso una società fittizia denominata Contoso. Il processo seguente si verifica:

  1. Il server DNS restituisce l'indirizzo VIP 107.105.47.60 al client.

  2. Il client invia una richiesta HTTP all'indirizzo VIP.

  3. La rete fisica dispone di più percorsi disponibili per raggiungere l'indirizzo VIP che si trova in qualsiasi MUX. Ogni router lungo la strada usa ECMP per selezionare il segmento successivo del percorso fino a quando la richiesta non arriva a un MUX.

  4. MUX che riceve i criteri configurati per i controlli delle richieste e rileva che sono disponibili due DIP, 10.10.10.5 e 10.10.20.5, in una rete virtuale per gestire la richiesta all'indirizzo VIP 107.105.47.60

  5. MUX seleziona DIP 10.10.10.5 e incapsula i pacchetti usando VXLAN in modo che possa inviarlo all'host contenente il DIP usando l'indirizzo di rete fisico dell'host.

  6. L'host riceve il pacchetto incapsulato e lo controlla. Rimuove l'incapsulamento e riscrive il pacchetto in modo che la destinazione sia ora DIP 10.10.10.5 anziché l'indirizzo VIP e quindi invii il traffico alla macchina virtuale DIP.

  7. La richiesta raggiunge il sito di Contoso SharePoint in Server Farm 2. Il server genera una risposta e lo invia al client, usando il proprio indirizzo IP come origine.

  8. L'host intercetta il pacchetto in uscita nel commutatore virtuale che ricorda che il client, ora la destinazione, ha effettuato la richiesta originale all'indirizzo VIP. L'host riscrive l'origine del pacchetto in modo che sia l'indirizzo VIP in modo che il client non visualizzi l'indirizzo DIP.

  9. L'host inoltra il pacchetto direttamente al gateway predefinito per la rete fisica che usa la tabella di routing standard per inoltrare il pacchetto al client, che alla fine riceve la risposta.

Processo di bilanciamento del carico software.

Bilanciamento del carico del traffico interno del data center

Quando si bilancia il carico del traffico di rete interno al data center, ad esempio tra le risorse tenant in esecuzione in server diversi e sono membri della stessa rete virtuale, il commutatore virtuale Hyper-V a cui le macchine virtuali sono connesse esegue NAT.

Con il bilanciamento del carico del traffico interno, la prima richiesta viene inviata ed elaborata dal MUX, che seleziona il DIP appropriato e quindi indirizza il traffico al DIP. Da questo punto in poi, il flusso di traffico stabilito ignora il MUX e passa direttamente dalla macchina virtuale alla macchina virtuale.

Probe di integrità

Software Load Balancer include probe di integrità per convalidare l'integrità dell'infrastruttura di rete, tra cui:

  • Probe TCP sulla porta

  • Probe HTTP per porta e URL

A differenza di un'appliance di bilanciamento del carico tradizionale in cui il probe ha origine nell'appliance e viaggia attraverso il dip verso il DIP, il probe SLB ha origine nell'host in cui si trova il DIP e passa direttamente dall'agente host SLB al DIP, distribuendo ulteriormente il lavoro tra gli host.

Infrastruttura Load Balancer software

Prima di poter configurare Software Load Balancer, è necessario distribuire controller di rete e una o più macchine virtuali MUX SLB.

È anche necessario configurare gli host Azure Stack HCI con il commutatore virtuale Hyper-V abilitato per SDN e assicurarsi che l'agente host SLB sia in esecuzione. I router che servono gli host devono supportare il routing ECMP e BGP (Border Gateway Protocol) e devono essere configurati per accettare le richieste di peering BGP dai MUX SLB.

La figura seguente offre una panoramica dell'infrastruttura SLB.

Infrastruttura di Load Balancer software.

Le sezioni seguenti forniscono altre informazioni su questi elementi dell'infrastruttura di Load Balancer software.

Controller di rete

Il controller di rete ospita SLB Manager ed esegue le azioni seguenti per Software Load Balancer:

  • Elabora i comandi SLB che vengono inseriti tramite l'API Northbound da Windows Admin Center, System Center, Windows PowerShell o un'altra applicazione di gestione di rete.

  • Calcola i criteri per la distribuzione in host Azure Stack HCI e MUX SLB.

  • Fornisce lo stato di integrità dell'infrastruttura di Load Balancer software.

È possibile usare Windows Admin Center o Windows PowerShell per installare e configurare controller di rete e altre infrastrutture SLB.

SLB MUX

Il MUX del bilanciamento del carico software elabora il traffico di rete in ingresso e esegue il mapping degli indirizzi VIP ai DIP, quindi inoltra il traffico al DIP corretto. Ogni MUX usa anche BGP per pubblicare route VIP nei router perimetrali. BGP Keep Alive notifica i MUX quando un MUX ha esito negativo, consentendo ai MUX attivi di ridistribuire il carico in caso di errore MUX. Questo essenzialmente fornisce il bilanciamento del carico per i servizi di bilanciamento del carico.

Agente host SLB

Quando si distribuisce Software Load Balancer, è necessario usare Windows Admin Center, System Center, Windows PowerShell o un'altra applicazione di gestione per distribuire l'agente host SLB in ogni server host.

L'agente host SLB è in ascolto degli aggiornamenti dei criteri SLB dal controller di rete. Inoltre, le regole dei programmi dell'agente host per SLB nei commutatori virtuali Hyper-V abilitati per SDN configurati nel computer locale.

Commutatore virtuale Hyper-V abilitato per SDN

Affinché un commutatore virtuale sia compatibile con SLB, l'estensione VFP (Virtual Filtering Platform) deve essere abilitata nel commutatore virtuale. Questa operazione viene eseguita automaticamente dagli script di PowerShell per la distribuzione SDN, dalla distribuzione guidata Windows Admin Center e dalla distribuzione di System Center Virtual Machine Manager (SCVMM).

Per informazioni sull'abilitazione di VFP nei commutatori virtuali, vedere i comandi di Windows PowerShell Get-VMSystemSwitchExtension e Enable-VMSwitchExtension.

Il commutatore virtuale Hyper-V abilitato per SDN esegue le azioni seguenti per SLB:

  • Elabora il percorso dati per SLB.

  • Riceve il traffico di rete in ingresso dal MUX.

  • Ignora il MUX per il traffico di rete in uscita, inviandolo al router tramite DSR.

Router BGP

Il router BGP esegue le azioni seguenti per Software Load Balancer:

  • Instrada il traffico in ingresso al MUX usando ECMP.

  • Per il traffico di rete in uscita, usa la route fornita dall'host.

  • Listens for route updates for VIP from SLB MUX.

  • Rimuove I MUX SLB dalla rotazione SLB se Keep Alive ha esito negativo.

Funzionalità di Load Balancer software

Le sezioni seguenti descrivono alcune delle funzionalità e delle funzionalità di Software Load Balancer.

Funzionalità di base

  • SLB fornisce servizi di bilanciamento del carico di livello 4 per il traffico TCP/UDP nord/sud/sud/est/ovest.

  • È possibile usare SLB in una rete basata su rete Hyper-V.

  • È possibile usare SLB con una rete basata su VLAN per macchine virtuali DIP connesse a un commutatore virtuale Hyper-V abilitato per SDN.

  • Un'istanza SLB può gestire più tenant.

  • SLB e DIP supportano un percorso restituito scalabile e a bassa latenza, come implementato da DSR.

  • Funzioni SLB quando si usa anche Switch Embedded Teaming (SET) o Single Root Input/Output Virtualization (SR-IOV).

  • SLB include il supporto di Internet Protocol versione 6 (IPv6) e versione 4 (IPv4).

  • Per gli scenari del gateway da sito a sito, SLB offre funzionalità NAT per consentire a tutte le connessioni da sito a sito di usare un singolo INDIRIZZO IP pubblico.

Scalabilità e prestazioni

  • Pronto per la scalabilità cloud, inclusa la scalabilità orizzontale e la scalabilità orizzontale per i MUX e gli agenti host.

  • Un modulo di controller di rete di SLB Manager attivo può supportare otto istanze MUX.

Disponibilità elevata

  • È possibile distribuire SLB in più di due nodi in una configurazione attiva/attiva.

  • I MUX possono essere aggiunti e rimossi dal pool MUX senza influire sul servizio SLB. Ciò mantiene la disponibilità di SLB quando vengono sottoposti a patch singoli MUX.

  • Le singole istanze MUX hanno un tempo di attività pari al 99%.

  • I dati di monitoraggio dell'integrità sono disponibili per le entità di gestione.

Passaggi successivi

Per informazioni correlate, vedere anche: