Che cos'è Software Load Balancer (SLB) per SDN?
Si applica a: Locale di Azure 2311.2 e versioni successive; 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 servizio di bilanciamento del carico software può fornire un edge multi-tenant unificato integrandosi con tecnologie SDN, come RAS Gateway, Datacenter Firewall, e Route Reflector.
Nota
La multi-tenancy per le VLAN non è supportata dal controller di rete. È tuttavia possibile usare VLAN con SLB per carichi di lavoro gestiti dal provider di servizi, ad esempio l'infrastruttura del data center e i server Web ad alta densità.
Con Il servizio di bilanciamento del carico software è possibile aumentare le 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, Il servizio di bilanciamento del carico software supporta la creazione rapida e l'eliminazione degli endpoint di bilanciamento del carico in base alle esigenze per le operazioni CSP. Inoltre, Il servizio di bilanciamento del carico software supporta decine di gigabyte per sistema, fornisce un modello di provisioning semplice ed è facile da aumentare e ridurre.
Per informazioni su come gestire i criteri di Bilanciamento del carico software con Windows Admin Center, vedere Gestire Il servizio di bilanciamento del carico software per SDN.
Che cosa include il bilanciamento del carico software?
Il servizio di bilanciamento del carico software 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 della sonda di controllo integrità.
Pronto per la scalabilità cloud, inclusa la funzionalità di scalabilità orizzontale e la funzionalità di scalabilità verticale per multiplexer e agenti host.
Per altre informazioni, vedere Funzionalità di Bilanciamento del carico software in questo articolo.
Funzionamento del servizio di bilanciamento del carico software
Il servizio di bilanciamento del carico software funziona eseguendo il mapping di indirizzi IP virtuali (VIP) a IP dinamici (DIP) che fanno parte di un set di risorse di servizi cloud nel data center.
Gli indirizzi VIP sono indirizzi IP singoli 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. Gli IP dinamici (DIPs) vengono assegnati all'interno dell'infrastruttura cloud alle risorse del tenant.
I VIP si trovano nel multiplexer SLB (MUX). Il MUX è costituito da una o più macchine virtuali. Il controller di rete fornisce a ogni MUX 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:
Nota che un indirizzo VIP è disponibile su ogni MUX, anche se i MUX si trovano in sottoreti diverse in una rete Layer 3.
Spargere il carico per ogni VIP su tutti i MUX disponibili usando il routing ECMP (Equal Cost Multi-Path).
Rilevare automaticamente un guasto MUX o una rimozione e interrompere l'invio del traffico al MUX guasto.
Distribuire il carico dal MUX guasto o rimosso tra i MUX funzionanti.
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:
Bilanciamento del carico: il MUX utilizza l'indirizzo VIP per selezionare un DIP, incapsula il pacchetto e inoltra il traffico all'host Hyper-V dove si trova il DIP.
Network Address Translation (NAT): 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 di indirizzi VIP ai DIPs corretti grazie ai criteri di bilanciamento del carico definiti tramite Network Controller. Queste regole includono protocollo, porta front-end, porta back-end e algoritmo di distribuzione (5, 3 o 2 tuple).
Quando le VM tenant rispondono e inviano il traffico di rete in uscita verso posizioni su Internet o presso tenant remoti, poiché il NAT viene effettuato dall'host Hyper-V, il traffico ignora il MUX e passa direttamente dall'host Hyper-V al router perimetrale. 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:
Il server DNS restituisce l'indirizzo VIP 107.105.47.60 al client.
Il client invia una richiesta HTTP all'indirizzo VIP.
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.
Il MUX che riceve la richiesta controlla le politiche configurate e vede che sono disponibili due DIP, 10.10.10.5 e 10.10.20.5, su una rete virtuale per gestire la richiesta al VIP 107.105.47.60.
MUX seleziona DIP 10.10.10.5 e incapsula i pacchetti usando VXLAN in modo che possa inviarli all'host contenente il DIP usando l'indirizzo di rete fisico dell'host.
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.
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.
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 modifica l'indirizzo di origine del pacchetto assegnandogli quello VIP affinché il client non visualizzi l'indirizzo DIP.
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.
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 quel momento in poi, il flusso di traffico stabilito ignora il MUX e passa direttamente dalla macchina virtuale alla macchina virtuale.
Sonde di monitoraggio della salute
Software Load Balancer include sonde di integrità per convalidare l'integrità dell'infrastruttura di rete, inclusi i seguenti elementi:
Probe TCP sulla porta
Probe HTTP per la porta e l'URL
A differenza di un'appliance di bilanciamento del carico tradizionale, in cui il probe ha origine nell'appliance e viaggia attraverso la rete fino al DIP, il probe SLB ha origine sull'host in cui si trova il DIP e passa direttamente dall'agente host SLB al DIP, distribuendo ulteriormente il lavoro tra gli host.
Infrastruttura del servizio di bilanciamento del carico software
Prima di poter configurare Software Load Balancer, è necessario distribuire il controller di rete e una o più macchine virtuali MUX SLB.
È inoltre necessario configurare gli host locali di Azure 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 il protocollo 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.
Le sezioni seguenti forniscono altre informazioni su questi elementi dell'infrastruttura di Bilanciamento del carico software.
Controller di rete
Il controller di rete ospita SLB Manager ed esegue le azioni seguenti per Il servizio di bilanciamento del carico software:
Elabora i comandi SLB provenienti dall'API Northbound da Windows Admin Center, System Center, Windows PowerShell o un'altra applicazione di gestione di rete.
Calcola i criteri di distribuzione agli host locali di Azure e ai MUX SLB.
Fornisce lo stato di integrità dell'infrastruttura del servizio di bilanciamento del carico 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 bilanciatore di carico software gestisce il traffico di rete in ingresso e associa gli indirizzi VIP ai DIP, quindi inoltra il traffico al DIP adeguato. Ogni MUX usa anche BGP per pubblicare le route VIP nei router perimetrali. BGP Keep Alive invia una notifica ai MUX quando si verifica un errore MUX, che consente ai MUX attivi di ridistribuire il carico in caso di errore MUX. Ciò fornisce essenzialmente il bilanciamento del carico per i bilanciatori di 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, l'agente host programma le regole per SLB all'interno dei commutatori virtuali Hyper-V abilitati per SDN configurati sul computer locale.
Commutatore virtuale Hyper-V abilitato per SDN
Affinché un commutatore virtuale sia compatibile con SLB, è necessario abilitare l'estensione VFP (Virtual Filtering Platform) nel commutatore virtuale. Questa operazione viene eseguita automaticamente dagli script di PowerShell per la distribuzione SDN, dalla distribuzione guidata di 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:
Gestisce 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 tramite ECMP.
Per il traffico di rete in uscita, usa la route fornita dall'host.
È in ascolto degli aggiornamenti delle route per gli indirizzi VIP da SLB MUX.
Rimuove i MUX SLB dalla rotazione SLB se Keep Alive ha esito negativo.
Funzionalità di Bilanciamento del carico software
Le sezioni seguenti descrivono alcune delle funzionalità e delle funzionalità di Software Load Balancer.
Funzionalità di base
SLB offre servizi di bilanciamento del carico di livello 4 per il traffico TCP/UDP nord/sud/est/ovest.SLB fornisce servizi di bilanciamento del carico di livello 4 per il traffico TCP/UDP nord/sud/est/ovest.
È possibile usare SLB in una rete basata su virtualizzazione della rete Hyper-V.
È possibile usare SLB con una rete basata su VLAN per le 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 di ritorno scalabile e a bassa latenza, come implementato da DSR.
SLB funziona anche quando si usa Switch Embedded Teaming (SET) o Single Root Input/Output Virtualization (SR-IOV).
SLB include il supporto del protocollo Internet versione 6 (IPv6) e della 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, comprese le capacità di scalabilità orizzontale e verticale per i MUX e gli agenti host.
Un modulo SLB Manager Network Controller attivo può supportare otto istanze MUX.
Disponibilità elevata
È possibile distribuire SLB in più di due nodi in una configurazione attiva/attiva.
È possibile aggiungere e rimuovere i MUX dal pool di MUX senza compromettere il servizio SLB. In questo modo si mantiene la disponibilità del bilanciamento del carico software quando vengono applicate patch a singoli MUX.
Le singole istanze MUX hanno una disponibilità del 99%.
I dati di monitoraggio della salute sono disponibili per le entità di gestione.
Passaggi successivi
Per ulteriori informazioni, vedere anche: