Panoramica del servizio di bilanciamento del caricoAzure Load Balancer overview

Il servizio di bilanciamento del carico di Azure offre elevati livelli di disponibilità e prestazioni di rete per le applicazioni.Azure Load Balancer delivers high availability and network performance to your applications. Si tratta di un servizio di bilanciamento del carico di livello 4 (TCP, UDP) che distribuisce il traffico in ingresso tra istanze integre di servizi definiti in un set con carico bilanciato.It is a Layer 4 (TCP, UDP) load balancer that distributes incoming traffic among healthy instances of services defined in a load-balanced set.

Importante

Azure Load Balancer supporta due tipi diversi: Basic e Standard.Azure Load Balancer supports two different types: Basic and Standard. Questo articolo illustra Load Balancer Basic.This article discusses Basic Load Balancer. Load Balancer Basic è disponibile a livello generale, mentre Load Balancer Standard è attualmente in anteprima pubblica.Basic Load Balancer is generally available, whereas Standard Load Balancer is currently in Public Preview. Per altre informazioni su Load Balancer Standard, vedere Panoramica di Load Balancer Standard.For more information about Standard Load Balancer, see Standard Load Balancer Overview.

Azure Load Balancer può essere configurato per:Azure Load Balancer can be configured to:

  • Bilanciare il carico del traffico Internet in ingresso nelle macchine virtuali.Load balance incoming Internet traffic to virtual machines. Questa configurazione è nota come bilanciamento del carico Internet tra più macchine virtuali o servizi.This configuration is known as Internet-facing load balancing.
  • Bilanciare il carico del traffico tra macchine virtuali in una rete virtuale, tra macchine virtuali nei servizi cloud o tra computer locali e macchine virtuali in una rete virtuale cross-premise.Load balance traffic between virtual machines in a virtual network, between virtual machines in cloud services, or between on-premises computers and virtual machines in a cross-premises virtual network. Questa configurazione è nota come bilanciamento del carico interno.This configuration is known as internal load balancing.
  • Inoltrare il traffico esterno a una specifica macchina virtuale.Forward external traffic to a specific virtual machine.

Tutte le risorse nel cloud richiedono un indirizzo IP pubblico per poter essere raggiungibili da Internet.All resources in the cloud need a public IP address to be reachable from the Internet. L'infrastruttura cloud di Azure usa per le proprie risorse indirizzi IP non instradabili.The cloud infrastructure in Azure uses non-routable IP addresses for its resources. Azure usa Network Address Translation (NAT) con indirizzi IP pubblici per comunicare con Internet.Azure uses network address translation (NAT) with public IP addresses to communicate to the Internet.

Funzionalità del bilanciamento del caricoLoad Balancer features

  • Distribuzione basata su hashHash-based distribution

    Il servizio di bilanciamento del carico di Azure usa un algoritmo di distribuzione basato su hash.Azure Load Balancer uses a hash-based distribution algorithm. Per impostazione predefinita, usa un hash a 5 tuple composto da IP di origine, porta di origine, IP di destinazione, porta di destinazione e tipo di protocollo, per eseguire il mapping del traffico ai server disponibili.By default, it uses a 5-tuple hash composed of source IP, source port, destination IP, destination port, and protocol type to map traffic to available servers. La persistenza viene mantenuta solo all'interno di una sessione di trasporto.It provides stickiness only within a transport session. I pacchetti nella stessa sessione TCP o UDP verranno indirizzati alla stessa istanza nell'endpoint con carico bilanciato.Packets in the same TCP or UDP session will be directed to the same instance behind the load-balanced endpoint. Quando il client chiude e riapre la connessione o avvia una nuova sessione dallo stesso IP di origine, la porta di origine cambia.When the client closes and reopens the connection or starts a new session from the same source IP, the source port changes. È quindi possibile che il traffico venga indirizzato a un diverso endpoint in un data center differente.This may cause the traffic to go to a different endpoint in a different datacenter.

    Per altre informazioni dettagliate, vedere Modalità di distribuzione del servizio di bilanciamento del carico (affinità IP di origine).For more details, see Load balancer distribution mode. Il grafico seguente illustra la distribuzione basata su hash:The following graphic shows the hash-based distribution:

    Distribuzione basata su hash

    Figura: distribuzione basata su hashFigure - Hash based distribution

  • Port forwardingPort forwarding

    Il servizio di bilanciamento del carico di Azure consente di controllare la gestione della comunicazione in ingresso.Azure Load Balancer gives you control over how inbound communication is managed. Questa comunicazione include il traffico avviato da host Internet, macchine virtuali in altri servizi cloud o reti virtuali.This communication includes traffic initiated from Internet hosts, virtual machines in other cloud services, or virtual networks. Questo controllo è rappresentato da un endpoint, detto anche endpoint di input.This control is represented by an endpoint (also called an input endpoint).

    Un endpoint di input è in ascolto su una porta pubblica e inoltra il traffico a una porta interna.An input endpoint listens on a public port and forwards traffic to an internal port. È possibile eseguire il mapping delle stesse porte per un endpoint interno o esterno oppure usare una porta diversa.You can map the same ports for an internal or external endpoint or use a different port for them. È ad esempio possibile configurare un server Web per l'ascolto sulla porta 81, mentre l'endpoint pubblico è mappato alla porta 80.For example, you can have a web server configured to listen to port 81 while the public endpoint mapping is port 80. La creazione di un endpoint pubblico determina la creazione di un'istanza del servizio di bilanciamento del carico.The creation of a public endpoint triggers the creation of a load balancer instance.

    Se usato per la creazione, il portale di Azure crea automaticamente gli endpoint della macchina virtuale per il traffico delle sessioni remote di Windows PowerShell e per il protocollo Remote Desktop Protocol (RDP).When created using the Azure portal, the portal automatically creates endpoints to the virtual machine for the Remote Desktop Protocol (RDP) and remote Windows PowerShell session traffic. È possibile usare tutti questi endpoint per amministrare la macchina virtuale in remoto tramite Internet.You can use these endpoints to remotely administer the virtual machine over the Internet.

  • Riconfigurazione automaticaAutomatic reconfiguration

    Il servizio di bilanciamento del carico di Azure si riconfigura immediatamente quando si aumentano o si riducono le istanze.Azure Load Balancer instantly reconfigures itself when you scale instances up or down. Questa riconfigurazione, ad esempio, ha luogo quando si aumenta il numero delle istanze per il ruolo di lavoro/Web in un servizio cloud o quando si aggiungono altre macchine virtuali allo stesso set con carico bilanciato.For example, this reconfiguration happens when you increase the instance count for web/worker roles in a cloud service or when you add additional virtual machines into the same load-balanced set.

  • Monitoraggio del servizioService monitoring

    Azure Load Balancer può verificare l'integrità delle varie istanze del server.Azure Load Balancer can probe the health of the various server instances. Se un probe non risponde, il servizio di bilanciamento del carico interrompe l'invio di nuove connessioni alle istanze non integre.When a probe fails to respond, the load balancer stops sending new connections to the unhealthy instances. Ciò non influisce sulle connessioni esistenti.Existing connections are not impacted.

    Sono supportati tre tipi di probe:Three types of probes are supported:

    • Probe dell'agente guest (solo su macchine virtuali Platform as a Service): il servizio di bilanciamento del carico usa l'agente guest all'interno della macchina virtuale.Guest agent probe (on Platform as a Service Virtual Machines only): The load balancer utilizes the guest agent inside the virtual machine. L'agente guest è in ascolto e risponde con HTTP 200 OK solo quando l'istanza è pronta, ovvero quando lo stato dell'istanza non è Occupato, Riciclo in corso o Arresto.The guest agent listens and responds with an HTTP 200 OK response only when the instance is in the ready state (i.e. the instance is not in a state like busy, recycling, or stopping). Se l'agente non risponde con un messaggio HTTP 200 OK, il servizio di bilanciamento del carico contrassegna l'istanza che non risponde e interrompe l'invio di traffico a tale istanza.If the agent fails to respond with an HTTP 200 OK, the load balancer marks the instance as unresponsive and stops sending traffic to that instance. Il servizio di bilanciamento del carico continua a eseguire il ping dell'istanza.The load balancer continues to ping the instance. Se l'agente guest risponde con HTTP 200, il servizio di bilanciamento del carico invierà ancora il traffico a tale istanza.If the guest agent responds with an HTTP 200, the load balancer will send traffic to that instance again. Quando si usa un ruolo Web, il codice del sito Web in genere viene eseguito in w3wp.exe, che non viene monitorato dall'infrastruttura di Azure o dall'agente guest.When you're using a web role, your website code typically runs in w3wp.exe, which is not monitored by the Azure fabric or guest agent. Gli errori in w3wp.exe, ad esempio le risposte HTTP 500, non verranno quindi segnalati all'agente guest e il servizio di bilanciamento del carico non sa di dover escludere l'istanza dalla rotazione.This means that failures in w3wp.exe (e.g. HTTP 500 responses) will not be reported to the guest agent, and the load balancer will not know to take that instance out of rotation.
    • Probe HTTP personalizzato: questo probe esegue l'override del probe predefinito (agente guest).HTTP custom probe: This probe overrides the default (guest agent) probe. È possibile usarlo per creare la logica personalizzata con cui determinare l'integrità dell'istanza del ruolo.You can use it to create your own custom logic to determine the health of the role instance. Il servizio di bilanciamento del carico eseguirà regolarmente il probe dell'endpoint (per impostazione predefinita, ogni 15 secondi).The load balancer will regularly probe your endpoint (every 15 seconds, by default). L'istanza è considerata nella rotazione se risponde con ACK TCP o HTTP 200 entro il periodo di timeout (per impostazione predefinita, 31 secondi).The instance is considered to be in rotation if it responds with a TCP ACK or HTTP 200 within the timeout period (default of 31 seconds). Questo è utile per implementare la propria logica per la rimozione delle istanze dalla rotazione del servizio di bilanciamento del carico.This is useful for implementing your own logic to remove instances from the load balancer's rotation. È possibile, ad esempio, configurare l'istanza in modo che restituisca uno stato diverso da 200 se l'istanza usa più del 90% della CPU.For example, you can configure the instance to return a non-200 status if the instance is above 90% CPU. Per i ruoli Web che usano w3wp.exe, si ottiene anche il monitoraggio automatico del sito Web, perché gli errori nel codice del sito Web restituiscono al probe uno stato diverso da 200.For web roles that use w3wp.exe, you also get automatic monitoring of your website, since failures in your website code return a non-200 status to the probe.
    • Probe TCP personalizzato: questo probe si basa sulla corretta attivazione di una sessione TCP in una porta probe definita.TCP custom probe: This probe relies on successful TCP session establishment to a defined probe port.

      Per altre informazioni, vedere Schema LoadBalancerProbe.For more information, see the LoadBalancerProbe schema.

  • Source NATSource NAT

    Tutto il traffico in uscita proveniente dal servizio e destinato a Internet viene sottoposto a un processo SNAT (Source NAT) usando lo stesso indirizzo VIP del traffico in ingresso.All outbound traffic to the Internet that originates from your service undergoes source NAT (SNAT) by using the same VIP address as the incoming traffic. Questo processo offre tre importanti vantaggi:SNAT provides important benefits:

    • Consente di eseguire in modo semplice l'aggiornamento e il ripristino di emergenza dei servizi, perché è possibile eseguire il mapping dinamico dell'indirizzo VIP a un'altra istanza del servizio.It enables easy upgrade and disaster recovery of services, since the VIP can be dynamically mapped to another instance of the service.
    • Semplifica la gestione dell'elenco di controllo di accesso (ACL).It makes access control list (ACL) management easier. Tali elenchi espressi in termini di VIP non si modificano in caso di ridimensionamento o ridistribuzione dei servizi.ACLs expressed in terms of VIPs do not change as services scale up, down, or get redeployed.

      La configurazione di bilanciamento del carico supporta il processo NAT di tipo full cone per UDP.The load balancer configuration supports full cone NAT for UDP. Con questo tipo di processo, la porta consente le connessioni in ingresso da qualsiasi host esterno (in risposta a una richiesta in uscita).Full cone NAT is a type of NAT where the port allows inbound connections from any external host (in response to an outbound request).

      Per ogni nuova connessione in uscita avviata da una macchina virtuale, viene allocata anche una porta in uscita dal servizio di bilanciamento del carico.For each new outbound connection that a virtual machine initiates, an outbound port is also allocated by the load balancer. L'host esterno vede il traffico in arrivo con una porta allocata dell'IP virtuale (indirizzo VIP).The external host sees traffic with a virtual IP (VIP)-allocated port. Per gli scenari che richiedono un numero elevato di connessioni in uscita, è consigliabile usare gli indirizzi IP pubblici a livello di istanza per poter avere un indirizzo IP in uscita dedicato per SNAT.For scenarios that require a large number of outbound connections, it is recommended to use instance-level public IP addresses so that the VMs have a dedicated outbound IP address for SNAT. Ciò consente di ridurre il rischio di esaurimento delle porte.This reduces the risk of port exhaustion.

      Per altre informazioni su questo argomento, vedere l'articolo le Connessioni in uscita.Please see outbound connections article for more details on this topic.

Supporto per più indirizzi IP con carico bilanciato per le macchine virtualiSupport for multiple load-balanced IP addresses for virtual machines

A un set di macchine virtuali è possibile assegnare più di un indirizzo IP pubblico con carico bilanciato.You can assign more than one load-balanced public IP address to a set of virtual machines. Ciò consente di ospitare più siti Web SSL e/o più listener del gruppo di disponibilità SQL Server AlwaysOn nello stesso set di macchine virtuali.With this ability, you can host multiple SSL websites and/or multiple SQL Server AlwaysOn Availability Group listeners on the same set of virtual machines. Per altre informazioni, vedere Indirizzi VIP multipli per un servizio cloud.For more information, see Multiple VIPs per cloud service.

Differenze del servizio di bilanciamento del caricoLoad Balancer differences

Sono disponibili diverse opzioni per distribuire il traffico di rete tramite Microsoft Azure.There are different options to distribute network traffic using Microsoft Azure. Queste opzioni funzionano in modo diverso, vantano un set di funzionalità differenti e supportano diversi scenari.These options work differently from each other, having a different feature set and support different scenarios. Possono essere utilizzate singolarmente o in combinazione.They can each be used in isolation, or combining them.

  • Azure Load Balancer funziona al livello trasporto (livello 4 nello stack di riferimento di rete OSI).Azure Load Balancer works at the transport layer (Layer 4 in the OSI network reference stack). Assicura la distribuzione del traffico a livello di rete tra le istanze di un'applicazione in esecuzione nello stesso data center di Azure.It provides network-level distribution of traffic across instances of an application running in the same Azure data center.
  • gateway applicazione funziona a livello di applicazione (livello 7 nello stack di riferimento di rete OSI).Application Gateway works at the application layer (Layer 7 in the OSI network reference stack). Agisce come un servizio di proxy inverso, terminando la connessione di client e inoltrando richieste a endpoint di back-end.It acts as a reverse-proxy service, terminating the client connection and forwarding requests to back-end endpoints.
  • servizio Gestione traffico funziona a livello DNS.Traffic Manager works at the DNS level. Usa le risposte DNS per indirizzare il traffico degli utenti finali agli endpoint distribuiti a livello globale.It uses DNS responses to direct end-user traffic to globally distributed endpoints. I client si connettono quindi direttamente a questi endpoint.Clients then connect to those endpoints directly.

La tabella seguente riepiloga le funzionalità offerte da ogni servizio:The following table summarizes the features offered by each service:

ServiceService Azure Load BalancerAzure Load Balancer gateway applicazioneApplication Gateway servizio Gestione trafficoTraffic Manager
TecnologiaTechnology Livello trasporto (livello 4)Transport level (Layer 4) Livello applicazione (livello 7)Application level (Layer 7) Livello DNSDNS level
Protocolli di applicazioni supportatiApplication protocols supported QualsiasiAny HTTP, HTTPS e WebSocketHTTP, HTTPS, and WebSockets Qualsiasi (è richiesto un endpoint HTTP per il monitoraggio degli endpoint)Any (An HTTP endpoint is required for endpoint monitoring)
EndpointEndpoints Istanze del ruolo VM e Servizi cloud di AzureAzure VMs and Cloud Services role instances Un indirizzo IP interno di Azure, un indirizzo IP Internet pubblico, una VM di Azure o un servizio cloud di AzureAny Azure internal IP address, public internet IP address, Azure VM, or Azure Cloud Service VM di Azure, Servizi Cloud, App Web di Azure ed endpoint esterniAzure VMs, Cloud Services, Azure Web Apps, and external endpoints
Supporto della rete virtualeVnet support Può essere utilizzato sia per applicazioni con connessione Internet sia per applicazioni interne (rete virtuale)Can be used for both Internet facing and internal (Vnet) applications Può essere utilizzato sia per applicazioni con connessione Internet sia per applicazioni interne (rete virtuale)Can be used for both Internet facing and internal (Vnet) applications Supporta solo applicazioni con connessione InternetOnly supports Internet-facing applications
Monitoraggio degli endpointEndpoint Monitoring supportato tramite probeSupported via probes supportato tramite probeSupported via probes supportato tramite HTTP/HTTPS GETSupported via HTTP/HTTPS GET

Azure Load Balancer e il gateway applicazione di Azure indirizzano il traffico di rete agli endpoint, ma presentano diversi scenari di uso in base al traffico da gestire.Azure Load Balancer and Application Gateway route network traffic to endpoints but they have different usage scenarios to which traffic to handle. La tabella seguente consente di comprendere la differenza tra i due servizi di bilanciamento del carico:The following table helps understanding the difference between the two load balancers:

TipoType Azure Load BalancerAzure Load Balancer gateway applicazioneApplication Gateway
ProtocolliProtocols UDP/TCPUDP/TCP HTTP, HTTPS e WebSocketHTTP, HTTPS, and WebSockets
Prenotazione IPIP reservation SupportatoSupported Non supportateNot supported
Modalità di bilanciamento del caricoLoad balancing mode 5 tuple (IP di origine, porta di origine, IP di destinazione, porta di destinazione, tipo di protocollo)5-tuple(source IP, source port, destination IP, destination port, protocol type) Round robinRound Robin
Routing basato su URLRouting based on URL
Modalità di bilanciamento del carico (IP di origine / sessioni permanenti)Load balancing mode (source IP /sticky sessions) 2 tuple (IP di origine e IP di destinazione), 3 tuple (IP di origine, IP di destinazione e porta).2-tuple (source IP and destination IP), 3-tuple (source IP, destination IP, and port). Possono aumentare o diminuire in base al numero di macchine virtualiCan scale up or down based on the number of virtual machines Affinità basata sui cookieCookie-based affinity
Routing basato su URLRouting based on URL
Probe di integritàHealth probes Predefinito: intervallo di probe - 15 secondi.Default: probe interval - 15 secs. Esclusione dalla rotazione: 2 errori ripetuti.Taken out of rotation: 2 Continuous failures. Supporta le probe definite dall'utenteSupports user-defined probes Inattivo: intervallo di probe - 30 secondi.Idle probe interval 30 secs. Esclusione dopo 5 errori consecutivi di traffico live o un errore di probe singolo in modalità di inattività.Taken out after 5 consecutive live traffic failures or a single probe failure in idle mode. Supporta le probe definite dall'utenteSupports user-defined probes
Offload SSLSSL offloading Non supportateNot supported SupportatoSupported
Routing basato su URLUrl-based routing Non supportateNot supported SupportatoSupported
Criteri SSLSSL Policy Non supportateNot supported SupportatoSupported

LimitazioniLimitations

I pool di back-end di bilanciamento del carico possono contenere qualsiasi SKU VM, ad eccezione del livello Basic.Load Balancer backend pools can contain any VM SKU except Basic tier.

Passaggi successiviNext steps