Più indirizzi VIP per Azure Load BalancerMultiple VIPs for Azure Load Balancer

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 consente di eseguire il bilanciamento del carico dei servizi su più porte, più indirizzi IP o entrambi.Azure Load Balancer allows you to load balance services on multiple ports, multiple IP addresses, or both. È possibile usare le definizioni di servizio di bilanciamento del carico interno e pubblico per eseguire il bilanciamento del carico dei flussi in un set di macchine virtuali.You can use public and internal load balancer definitions to load balance flows across a set of VMs.

Questo articolo descrive i principi fondamentali di questa funzionalità, i concetti importanti e i vincoli.This article describes the fundamentals of this ability, important concepts, and constraints. Se si intende esporre i servizi in un solo indirizzo IP, sono disponibili istruzioni semplificate per le configurazioni di servizi di bilanciamento del carico pubblici o interni.If you only intend to expose services on one IP address, you can find simplified instructions for public or internal load balancer configurations. L'aggiunta di più indirizzi VIP è un'operazione incrementale rispetto a una configurazione con un solo indirizzo VIP.Adding Multiple VIPs is incremental to a single VIP configuration. Usando i concetti illustrati in questo articolo è possibile espandere una configurazione semplificata in qualsiasi momento.Using the concepts in this article, you can expand a simplified configuration at any time.

Quando si definisce un'istanza di Azure Load Balancer, vengono connessi un front-end e un back-end con regole.When you define an Azure Load Balancer, a frontend and a backend configuration are connected with rules. Il probe di integrità a cui fa riferimento la regola viene usato per determinare il modo in cui i nuovi flussi vengono inviati a un nodo nel pool back-end.The health probe referenced by the rule is used to determine how new flows are sent to a node in the backend pool. Il front-end è definito da un indirizzo IP virtuale (VIP) che è una tupla di 3 elementi costituita da un indirizzo IP (pubblico o interno), un protocollo di trasporto (UDP o TCP) e un numero di porta.The frontend is defined by a Virtual IP (VIP), which is a 3-tuple comprised of an IP address (public or internal), a transport protocol (UDP or TCP), and a port number. Un DIP è un indirizzo IP su una scheda di interfaccia di rete virtuale di Azure collegata a una macchina virtuale nel pool back-end.A DIP is an IP address on an Azure virtual NIC attached to a VM in the backend pool.

La tabella seguente contiene alcune configurazioni front-end di esempio:The following table contains some example frontend configurations:

Indirizzo VIPVIP Indirizzo IPIP address protocolprotocol portport
11 65.52.0.165.52.0.1 TCPTCP 8080
22 65.52.0.165.52.0.1 TCPTCP 80808080
33 65.52.0.165.52.0.1 UDPUDP 8080
44 65.52.0.265.52.0.2 TCPTCP 8080

La tabella descrive quattro front-end diversi.The table shows four different frontends. I front-end 1, 2 e 3 rappresentano un unico indirizzo VIP con più regole.Frontends #1, #2 and #3 are a single VIP with multiple rules. Viene usato lo stesso indirizzo IP, ma la porta o il protocollo sono diversi per ogni front-end.The same IP address is used but the port or protocol is different for each frontend. I front-end 1 e 4 sono un esempio di più indirizzi VIP, in cui lo stesso protocollo e la stessa porta front-end vengono riutilizzati in più indirizzi VIP.Frontends #1 and #4 are an example of Multiple VIPs, where the same frontend protocol and port are reused across multiple VIPs.

Azure Load Balancer offre flessibilità nella definizione di regole del servizio di bilanciamento del carico.Azure Load Balancer provides flexibility in defining the load balancing rules. Una regola dichiara il modo in cui viene eseguito il mapping di un indirizzo e una porta nel front-end all'indirizzo e alla porta di destinazione nel back-end.A rule declares how an address and port on the frontend is mapped to the destination address and port on the backend. L'eventuale riutilizzo delle porte back-end tra regole dipende dal tipo di regola.Whether or not backend ports are reused across rules depends on the type of the rule. Ogni tipo di regola presenta requisiti specifici che possono influire sulla configurazione degli host e la progettazione dei probe.Each type of rule has specific requirements that can affect host configuration and probe design. Esistono due tipi di regole:There are two types of rules:

  1. La regola predefinita senza riutilizzo delle porte back-endThe default rule with no backend port reuse
  2. La regola con indirizzo IP mobile che prevede il riutilizzo delle porte back-endThe Floating IP rule where backend ports are reused

Azure Load Balancer consente di combinare i due tipi di regole nella stessa configurazione del servizio di bilanciamento del carico.Azure Load Balancer allows you to mix both rule types on the same load balancer configuration. Il servizio di bilanciamento del carico può usare le regole contemporaneamente per una determinata macchina virtuale o una qualsiasi combinazione, purché siano rispettati i vincoli della regola.The load balancer can use them simultaneously for a given VM, or any combination, as long as you abide by the constraints of the rule. Il tipo di regola scelto dipende dai requisiti dell'applicazione e dalla complessità correlata al supporto della configurazione.Which rule type you choose depends on the requirements of your application and the complexity of supporting that configuration. È necessario valutare quali tipi di regole siano più adatti allo scenario.You should evaluate which rule types are best for your scenario.

Questi scenari verranno approfonditi iniziando con il comportamento predefinito.We explore these scenarios further by starting with the default behavior.

Regola di tipo 1: nessun riutilizzo delle porte back-endRule type #1: No backend port reuse

Illustrazione di più indirizzi VIP

In questo scenario, gli indirizzi VIP front-end sono configurati nel modo seguente:In this scenario, the frontend VIPs are configured as follows:

Indirizzo VIPVIP Indirizzo IPIP address protocolprotocol portport
Indirizzo VIP 11 65.52.0.165.52.0.1 TCPTCP 8080
Indirizzo VIP 22 65.52.0.265.52.0.2 TCPTCP 8080

Il DIP è la destinazione del flusso in ingresso.The DIP is the destination of the inbound flow. Nel pool di back-end, ogni macchina virtuale espone il servizio desiderato su una porta univoca in un DIP.In the backend pool, each VM exposes the desired service on a unique port on a DIP. Questo servizio è associato al front-end tramite una definizione di regole.This service is associated with the frontend through a rule definition.

Si definiscono due regole:We define two rules:

RegolaRule Mapping frontendMap frontend Al pool back-endTo backend pool
11 Indirizzo VIP VIP1:80VIP1:80 back-end DIP1:80,DIP1:80, back-end DIP2:80DIP2:80
22 Indirizzo VIP VIP2:80VIP2:80 back-end DIP1:81,DIP1:81, back-end DIP2:81DIP2:81

Il mapping completo in Azure Load Balancer sarà ora il seguente:The complete mapping in Azure Load Balancer is now as follows:

RegolaRule Indirizzo IP VIPVIP IP address protocolprotocol portport DestinationDestination portport
Regola 11 65.52.0.165.52.0.1 TCPTCP 8080 Indirizzo IP DIPDIP IP Address 8080
Regola 22 65.52.0.265.52.0.2 TCPTCP 8080 Indirizzo IP DIPDIP IP Address 8181

Ogni regola deve produrre un flusso con una combinazione univoca di indirizzo IP di destinazione e porta di destinazione.Each rule must produce a flow with a unique combination of destination IP address and destination port. Modificando la porta di destinazione del flusso, più regole possono inviare flussi allo stesso DIP in porte diverse.By varying the destination port of the flow, multiple rules can deliver flows to the same DIP on different ports.

I probe di integrità vengono sempre indirizzati al DIP di una macchina virtuale.Health probes are always directed to the DIP of a VM. È necessario assicurarsi che il probe rifletta lo stato della VM.You must ensure you that your probe reflects the health of the VM.

Regola di tipo 2: riutilizzo delle porte back-end tramite indirizzo IP mobileRule type #2: backend port reuse by using Floating IP

Azure Load Balancer consente di riutilizzare la porta front-end in più indirizzi VIP indipendentemente dal tipo di regola usato.Azure Load Balancer provides the flexibility to reuse the frontend port across multiple VIPs regardless of the rule type used. 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.Additionally, some application scenarios prefer or require the same port to be used by multiple application instances on a single VM in the backend pool. 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.Common examples of port reuse include clustering for high availability, network virtual appliances, and exposing multiple TLS endpoints without re-encryption.

Per riutilizzare la porta di back-end tra più regole, è necessario abilitare l'indirizzo IP mobile nella definizione della regola.If you want to reuse the backend port across multiple rules, you must enable Floating IP in the rule definition.

L'indirizzo IP mobile è una parte di ciò che è noto come Direct Server Return (DSR).Floating IP is a portion of what is known as Direct Server Return (DSR). Il DSR è costituito da due parti: una topologia di flussi e uno schema di mappatura degli indirizzi IP.DSR consists of two parts: a flow topology and an IP address mapping scheme. A livello di piattaforma, Azure Load Balancer viene sempre eseguito in una topologia di flussi DSR indipendentemente dal fatto che l'indirizzo IP mobile sia abilitato o meno.At a platform level, Azure Load Balancer always operates in a DSR flow topology regardless of whether Floating IP is enabled or not. Ciò significa che la parte in uscita di un flusso viene sempre correttamente riscritta in un flusso direttamente nell'origine.This means that the outbound part of a flow is always correctly rewritten to flow directly back to the origin.

Con il tipo di regola predefinito, Azure espone uno schema di mappatura degli indirizzi IP tradizionale per il servizio di bilanciamento del carico per semplificarne l'uso.With the default rule type, Azure exposes a traditional load balancing IP address mapping scheme for ease of use. L'abilitazione dell'indirizzo IP mobile modifica lo schema di mappatura degli indirizzi IP per consentire una maggiore flessibilità, come illustrato di seguito.Enabling Floating IP changes the IP address mapping scheme to allow for additional flexibility as explained below.

Il diagramma seguente illustra questa configurazione:The following diagram illustrates this configuration:

Illustrazione di più indirizzi VIP

Per questo scenario, ogni macchina virtuale nel pool back-end ha tre interfacce di rete:For this scenario, every VM in the backend pool has three network interfaces:

  • DIP: scheda di interfaccia di rete virtuale associata alla macchina virtuale (configurazione IP della risorsa interfaccia di rete di Azure)DIP: a Virtual NIC associated with the VM (IP configuration of Azure's NIC resource)
  • VIP1: un'interfaccia di loopback all'interno del sistema operativo guest configurato con l'indirizzo IP di VIP1VIP1: a loopback interface within guest OS that is configured with IP address of VIP1
  • VIP2: un'interfaccia di loopback all'interno del sistema operativo guest configurato con l'indirizzo IP di VIP2VIP2: a loopback interface within guest OS that is configured with IP address of VIP2

Importante

La configurazione delle interfacce logiche viene eseguita all'interno del sistema operativo guest.The configuration of the logical interfaces is performed within the guest OS. Questa configurazione non viene eseguita o gestita da Azure.This configuration is not performed or managed by Azure. Senza questa configurazione, le regole non funzionano.Without this configuration, the rules will not function. Le definizioni dei probe di integrità usano il DIP della macchina virtuale anziché l'indirizzo VIP logico.Health probe definitions use the DIP of the VM rather than the logical VIP. Il servizio deve quindi mettere a disposizione le risposte probe su una porta DIP che rifletta lo stato del servizio offerto nell'indirizzo VIP logico.Therefore, your service must provide probe responses on a DIP port that reflect the status of the service offered on the logical VIP.

Si supponga la stessa configurazione front-end dello scenario precedente:Let's assume the same frontend configuration as in the previous scenario:

Indirizzo VIPVIP Indirizzo IPIP address protocolprotocol portport
Indirizzo VIP 11 65.52.0.165.52.0.1 TCPTCP 8080
Indirizzo VIP 22 65.52.0.265.52.0.2 TCPTCP 8080

Si definiscono due regole:We define two rules:

RegolaRule Mapping frontendMap frontend Al pool back-endTo backend pool
11 Regola VIP1:80VIP1:80 back-end VIP1:80 (in VM1 e VM2)VIP1:80 (in VM1 and VM2)
22 Regola VIP2:80VIP2:80 back-end VIP2:80 (in VM1 e VM2)VIP2:80 (in VM1 and VM2)

La tabella seguente illustra il mapping completo nel servizio di bilanciamento del carico:The following table shows the complete mapping in the load balancer:

RegolaRule Indirizzo IP VIPVIP IP address protocolprotocol portport DestinationDestination portport
Indirizzo VIP 11 65.52.0.165.52.0.1 TCPTCP 8080 come indirizzo VIP (65.52.0.1)same as VIP (65.52.0.1) come indirizzo VIP (80)same as VIP (80)
Indirizzo VIP 22 65.52.0.265.52.0.2 TCPTCP 8080 come indirizzo VIP (65.52.0.2)same as VIP (65.52.0.2) come indirizzo VIP (80)same as VIP (80)

La destinazione del flusso in ingresso è l'indirizzo VIP nell'interfaccia di loopback della macchina virtuale.The destination of the inbound flow is the VIP address on the loopback interface in the VM. Ogni regola deve produrre un flusso con una combinazione univoca di indirizzo IP di destinazione e porta di destinazione.Each rule must produce a flow with a unique combination of destination IP address and destination port. Modificando l'indirizzo IP di destinazione del flusso, è possibile riusare la porta nella stessa macchina virtuale.By varying the destination IP address of the flow, port reuse is possible on the same VM. Il servizio viene esposto al servizio di bilanciamento del carico associandolo all'indirizzo IP e alla porta VIP dell'interfaccia di loopback corrispondente.Your service is exposed to the load balancer by binding it to the VIP’s IP address and port of the respective loopback interface.

Si noti che in questo esempio non viene modificata la porta di destinazione.Notice that this example does not change the destination port. Anche se questo è uno scenario con indirizzo IP mobile, Azure Load Balancer supporta anche la definizione di una regola per la riscrittura della porta di destinazione back-end e per differenziarla dalla porta di destinazione front-end.Even though this is a Floating IP scenario, Azure Load Balancer also supports defining a rule to rewrite the backend destination port and to make it different from the frontend destination port.

Il tipo di regola con indirizzo IP mobile è alla base di diversi modelli di configurazione del servizio di bilanciamento di carico.The Floating IP rule type is the foundation of several load balancer configuration patterns. Un esempio attualmente disponibile è la configurazione SQL AlwaysOn con più listener .One example that is currently available is the SQL AlwaysOn with Multiple Listeners configuration. Altri scenari di questo tipo verranno documentati nel tempo.Over time, we will document more of these scenarios.

LimitazioniLimitations

  • Più configurazioni di indirizzi VIP sono supportate solo con le macchine virtuali IaaS.Multiple VIP configurations are only supported with IaaS VMs.
  • Con la regola dell'indirizzo IP mobile, l'applicazione deve usare il DIP per i flussi in uscita.With the Floating IP rule, your application must use the DIP for outbound flows. Se l'applicazione si associa all'indirizzo VIP configurato nell'interfaccia di loopback del sistema operativo guest, SNAT non potrà riscrivere il flusso in uscita e il flusso avrà esito negativo.If your application binds to the VIP address configured on the loopback interface in the guest OS, then SNAT is not available to rewrite the outbound flow and the flow fails.
  • Gli indirizzi IP pubblici hanno un effetto sulla fatturazione.Public IP addresses have an effect on billing. Per altre informazioni, vedere Prezzi per gli indirizzi IPFor more information, see IP Address pricing
  • Si applicano i limiti delle sottoscrizioni.Subscription limits apply. Per altre informazioni, vedere i limiti del servizio .For more information, see Service limits for details.