Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Load Balancer offre numerose funzionalità per le applicazioni UDP e TCP.
IP flottante
Alcuni scenari di applicazione preferiscono o richiedono l'uso della stessa porta da parte di più istanze dell'applicazione in una singola macchina virtuale nel pool back-end. Esempi comuni di riutilizzo delle porte includono il clustering per la disponibilità elevata, le appliance virtuali di rete e l'esposizione di più endpoint TLS senza rieseguire la crittografia di rete. Per riutilizzare la porta backend tra più regole, è necessario abilitare il Floating IP nella definizione della regola. Abilitare il Floating IP consente una maggiore flessibilità.
| Stato IP mobile | Risultato |
|---|---|
| IP mobile abilitato | Azure modifica il mapping dell'indirizzo IP all'indirizzo IP front-end del bilanciamento del carico |
| IP flottante disabilitato | Azure espone l'indirizzo IP delle istanze della macchina virtuale |
Nei diagrammi viene illustrato il funzionamento del mapping degli indirizzi IP prima e dopo l'abilitazione dell'IP mobile:
Configuri un IP fluttuante su una regola del Load Balancer tramite il portale di Azure, l'API REST, la CLI, PowerShell o un altro client. Oltre a configurare la regola, è necessario anche configurare il sistema operativo guest della macchina virtuale per utilizzare il Floating IP.
Il tipo di regola IP flottante è alla base di diversi modelli di configurazione del servizio di bilanciamento del carico. Un esempio attualmente disponibile è la configurazione Configurare uno o più listener del gruppo di disponibilità AlwaysOn. Altri scenari di questo tipo verranno documentati nel tempo.
Configurazione del sistema operativo guest dell'IP mobile
Per il funzionamento, configurare il sistema operativo guest per la macchina virtuale per ricevere tutto il traffico associato per l'IP front-end e la porta del bilanciamento del carico. La configurazione della macchina virtuale richiede quanto segue:
- aggiunta di un'interfaccia di rete loopback
- configurazione del loopback con l'indirizzo IP front-end del bilanciamento del carico
- garantire che il sistema possa inviare/ricevere pacchetti sulle interfacce che non hanno l'indirizzo IP assegnato a tale interfaccia. I sistemi Windows richiedono di impostare le interfacce in modo che usino il modello "host debole". Per i sistemi Linux, questo modello normalmente viene usato per impostazione predefinita.
- configurazione del firewall host per consentire il traffico sulla porta IP front-end.
Nota
Gli esempi seguenti usano tutti IPv4; per usare IPv6, sostituire "ipv4" con "ipv6".
Windows Server
Espandi
Per ogni VM nel pool backend, aggiungi prima un adattatore di rete loopback utilizzando la gestione degli adattatori di rete di Windows Server. Poi esegui i seguenti comandi su un prompt dei comandi Windows elevato sul server.
Per ottenere l'elenco dei nomi di interfaccia disponibili nella macchina virtuale, immettere questo comando:
netsh interface ipv4 show interfacePer la scheda di interfaccia di rete della macchina virtuale (gestita da Azure), immettere il comando seguente dopo aver sostituito interface-name con il nome dell'interfaccia che si vuole usare:
netsh interface ipv4 set interface <interface-name> weakhostreceive=enabledPer ogni interfaccia di loopback aggiunta, immettere questi comandi dopo aver sostituito loopback-interface-name con il nome dell'interfaccia loopback e floating-IP e floating-IPnetmask con i valori appropriati che corrispondono all'IP front-end del servizio di bilanciamento del carico:
netsh interface ipv4 add addr <loopback-interface-name> <floating-IP> <floating-IPnetmask> netsh interface ipv4 set interface <loopback-interface-name> weakhostreceive=enabled weakhostsend=enabledSe l'host ospite usa un firewall, assicurati di impostare una regola affinché il traffico possa raggiungere la VM sulle porte appropriate. Questa configurazione di esempio assume una configurazione IP frontend del bilanciatore di carico 1.2.3.4 e una regola di bilanciamento del carico per la porta 80:
netsh int ipv4 set int "Ethernet" weakhostreceive=enabled netsh int ipv4 add addr "Loopback Pseudo-Interface 1" 1.2.3.4 255.255.255.0 netsh int ipv4 set int "Loopback Pseudo-Interface 1" weakhostreceive=enabled weakhostsend=enabled netsh advfirewall firewall add rule name="http" protocol=TCP localport=80 dir=in action=allow enable=yesVerifica che l'interfaccia loopback abbia l'indirizzo IP frontend assegnato:
netsh interface ipv4 show addresses name="<loopback-interface-name>"Conferma che l'output includa l'indirizzo IP del frontend. Da un client che può raggiungere il bilanciatore di carico, connettersi all'indirizzo IP del front-end e alla porta della regola per verificare che il traffico raggiunga la macchina virtuale.
Ubuntu
Espandi
Per ogni VM nel pool backend, esegui i seguenti comandi attraverso una sessione SSH. Linux fornisce già il dispositivo di loopback lo; il comando usa lo:0 come etichetta di indirizzo, quindi non è necessario creare un'interfaccia di loopback separata.
Per ottenere l'elenco dei nomi di interfaccia disponibili nella macchina virtuale, digitare questo comando:
ip addrAggiungi l'indirizzo IP del frontend al dispositivo loopback. Sostituire floating-IP con l'indirizzo IP front-end del bilanciatore del carico e floating-IPnetmask con la lunghezza del prefisso CIDR di Linux, ad esempio
24:sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0Se l'host ospite usa un firewall, assicurati di impostare una regola affinché il traffico possa raggiungere la VM sulle porte appropriate. Questa configurazione di esempio assume una configurazione IP frontend del bilanciatore di carico 1.2.3.4, una regola di bilanciamento del carico per la porta 80 e l'uso di UFW (Uncomplicated Firewall) in Ubuntu.
sudo ip addr add 1.2.3.4/24 dev lo:0 sudo ufw allow 80/tcpVerifica che il dispositivo di loopback abbia assegnato l'indirizzo IP frontend:
ip address show dev loConferma che l'output includa l'indirizzo IP del frontend. Da un client che può raggiungere il bilanciatore di carico, connettersi all'indirizzo IP del front-end e alla porta della regola per verificare che il traffico raggiunga la macchina virtuale.
Limitazioni
Quando abiliti l'IP fluttuante, la connettività in uscita dipende dalla configurazione dell'interfaccia di rete dell'IP utilizzata dall'applicazione e da come l'applicazione si lega all'indirizzo IP frontend loopback.
- Con Floating IP abilitato in una regola di bilanciamento del carico, l'applicazione deve usare la configurazione IP primaria dell'interfaccia di rete per il traffico in uscita.
- Se l'applicazione viene associata all'indirizzo IP front-end configurato nell'interfaccia di loopback nel sistema operativo guest, la connessione in uscita di Azure non riscrive il flusso in uscita e il flusso fallisce. Esaminare gli scenari in uscita.
- Non è possibile usare l'indirizzo IP mobile nelle configurazioni IP secondarie per gli scenari di bilanciamento del carico. Questa limitazione non si applica ai servizi di bilanciamento del carico pubblico in cui la configurazione IP secondaria è IPv6 e fa parte di una configurazione a doppio stack o alle architetture che usano un gateway NAT per la connettività in uscita.
Passaggi successivi
- Informazioni sull'uso di più frontend con Azure Load Balancer.
- Informazioni sulle Connessioni in uscita di Azure Load Balancer.