Condividi tramite


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

Si applica a: Locale di Azure, versioni 23H2 e 22H2; 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, ad esempio 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 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 servizio di 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 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 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 DIP che fanno parte di un set di servizi cloud di risorse 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. I dip 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:

  • Informazioni su come un indirizzo VIP sia 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: il 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. 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 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 alle posizioni internet o dei tenant remoti, perché il 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 inviarli 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 quel momento in poi, il flusso di traffico stabilito ignora il MUX e passa direttamente dalla macchina virtuale alla macchina virtuale.

Probe di integrità

Load Balancer software include probe di integrità per convalidare l'integrità dell'infrastruttura di rete, inclusi i seguenti:

  • 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 passa 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 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.

Infrastruttura del servizio di bilanciamento del carico software.

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 per la distribuzione in host locali di Azure e 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 bilanciamento del carico software elabora il traffico di rete in ingresso ed esegue il mapping di indirizzi VIP a DIP, quindi inoltra il traffico al DIP corretto. 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 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, è 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:

  • 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 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 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 del bilanciamento del carico software può gestire più tenant.

  • SLB e DIP supportano un percorso restituito 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, inclusa la scalabilità orizzontale e la funzionalità di scalabilità orizzontale per MUX e 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 MUX dal pool MUX senza influire sul 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 un tempo di attività del 99%.

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

Passaggi successivi

Per ulteriori informazioni, vedere anche: