Informazioni sui probe del servizio di bilanciamento del caricoUnderstand Load Balancer probes

Azure Load Balancer usa i probe di integrità per determinare quale istanza del pool back-end deve ricevere nuovi flussi.Azure Load Balancer uses health probes to determine which backend pool instance should receive new flows. Se un probe di integrità ha esito negativo, Load Balancer interrompe l'invio di nuovi flussi alla rispettiva istanza danneggiata, mentre i flussi esistenti su tale istanza non subiscono alcuna variazione.When a health probe fails, Load Balancer stops sending new flows to the respective unhealthy instance and existing flows on that instance are unaffected. Se i probe hanno esito negativo su tutte le istanze del pool back-end, si verificherà il timeout di tutti i flussi esistenti su tutte le istanze del pool.When all backend pool instances probe down, all existing flows will time out on all instances in the backend pool.

I ruoli del servizio cloud, ovvero i ruoli di lavoro e i ruoli Web, usano un agente guest per il monitoraggio probe.Cloud service roles (worker roles and web roles) use a guest agent for probe monitoring. I probe di integrità personalizzati TCP o HTTP devono essere configurati quando si usano macchine virtuali dietro Load Balancer.TCP or HTTP custom health probes must be configured when you use VMs behind Load Balancer.

Informazioni su conteggio e timeout dei probeUnderstand probe count and timeout

Il comportamento dei probe dipende dagli elementi seguenti:Probe behavior depends on:

  • Numero di probe riusciti che consentono di etichettare un'istanza come attiva.The number of successful probes that allow an instance to be labeled as up.
  • Numero di probe non riusciti che fanno sì che un'istanza sia etichettata come inattiva.The number of failed probes that cause an instance to be labeled as down.

I valori di timeout e frequenza impostati in SuccessFailCount determinano se un'istanza è confermata come in esecuzione o non in esecuzione.The timeout and frequency values set in SuccessFailCount determine whether an instance is confirmed to be running or not running. Nel portale di Azure il timeout è impostato sul doppio del valore della frequenza.In the Azure portal, the timeout is set to two times the value of the frequency.

La configurazione dei probe deve essere la stessa in tutte le istanze con bilanciamento del carico per un endpoint, ovvero un set con bilanciamento del carico.The probe configuration of all load-balanced instances for an endpoint (that is, a load-balanced set) must be the same. Non è possibile avere una configurazione dei probe diversa per ogni istanza del ruolo o macchina virtuale nello stesso servizio ospitato per una combinazione di endpoint specifica.You can't have a different probe configuration for each role instance or VM in the same hosted service for a particular endpoint combination. Ad esempio, ogni istanza deve avere porte locali e i timeout identici.For example, each instance must have identical local ports and timeouts.

Importante

Un probe del servizio di bilanciamento del carico usa l'indirizzo IP 168.63.129.16.A load balancer probe uses the IP address 168.63.129.16. Questo indirizzo IP pubblico facilita la comunicazione con le risorse interne della piattaforma per lo scenario Rete virtuale di Azure che prevede l'uso di un IP personale ("bring your own IP").This public IP address facilitates communication to internal platform resources for the bring-your-own-IP Azure Virtual Network scenario. L'indirizzo IP pubblico virtuale 168.63.129.16 viene usato in tutte le aree e non cambia.The virtual public IP address 168.63.129.16 is used in all regions, and it doesn't change. È consigliabile consentire questo indirizzo IP in tutti i criteri firewall locali.We recommend that you allow this IP address in any local firewall policies. Non deve essere considerato come un rischio per la sicurezza, perché solo la piattaforma Azure interna può generare un messaggio da questo indirizzo.It should not be considered a security risk because only the internal Azure platform can source a message from that address. Se non si consente questo indirizzo IP nei criteri del firewall, è possibile riscontrare comportamenti imprevisti in un'ampia gamma di scenari.If you don't allow this IP address in your firewall policies, unexpected behavior occurs in a variety of scenarios. I comportamenti imprevisti possono includere la configurazione dello stesso intervallo di indirizzi IP di 168.63.129.16 e la duplicazione degli indirizzi IP.The behavior includes configuring the same IP address range of 168.63.129.16 and duplicating IP addresses.

Informazioni sui tipi di probeLearn about the types of probes

Probe dell'agente guestGuest agent probe

Un probe dell'agente guest è disponibile solo per i servizi cloud di Azure.A guest agent probe is available for Azure Cloud Services only. Il servizio di bilanciamento del carico usa l'agente guest all'interno della macchina virtuale.Load Balancer utilizes the guest agent inside the VM. L'agente guest è quindi in ascolto e risponde con HTTP 200 OK solo quando l'istanza è in stato Pronto.It then listens and responds with an HTTP 200 OK response only when the instance is in the Ready state. Gli altri stati sono Occupato, Riciclo in corso o Arresto.(Other states are Busy, Recycling, or Stopping.)

Per altre informazioni, vedere Configure the service definition file (csdef) for health probes (Configurare il file csdef per probe di integrità) o Get started by creating a public load balancer for cloud services (Introduzione alla creazione di un servizio di bilanciamento del carico pubblico per i servizi cloud).For more information, see Configure the service definition file (csdef) for health probes or Get started by creating a public load balancer for cloud services.

Perché un probe dell'agente guest contrassegna un'istanza come non integraWhat makes a guest agent probe mark an instance as unhealthy?

Se l'agente guest non risponde con un messaggio HTTP 200 OK, il servizio di bilanciamento del carico contrassegna l'istanza come istanza che non risponde.If the guest agent fails to respond with HTTP 200 OK, the load balancer marks the instance as unresponsive. Il servizio smette quindi di inviare traffico all'istanza.It then 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 un messaggio HTTP 200, il servizio di bilanciamento del carico continua a inviare il traffico a tale istanza.If the guest agent responds with an HTTP 200, the load balancer sends traffic to that instance again.

Quando si usa un ruolo Web, il codice del sito Web viene in genere eseguito in w3wp.exe, che non è monitorato dall'infrastruttura di Azure o dall'agente guest.When you use a web role, the website code typically runs in w3wp.exe, which isn't monitored by the Azure fabric or guest agent. Gli errori in w3wp.exe, ad esempio le risposte HTTP 500, non vengono segnalati all'agente guest.Failures in w3wp.exe (for example, HTTP 500 responses) aren't reported to the guest agent. Di conseguenza, il servizio di bilanciamento del carico non rimuove l'istanza dalla rotazione.Consequently, the load balancer doesn't take that instance out of rotation.

Probe HTTP personalizzatoHTTP custom probe

Il probe HTTP personalizzato esegue l'override del probe dell'agente guest predefinito.The HTTP custom probe overrides the default guest agent probe. È possibile creare logica personalizzata per determinare l'integrità dell'istanza del ruolo.You can create your own custom logic to determine the health of the role instance. Per impostazione predefinita, il servizio di bilanciamento del carico esegue regolarmente probe sull'endpoint ogni 15 secondi.The load balancer probes your endpoint every 15 seconds, by default. L'istanza viene considerata inclusa nella rotazione del servizio di bilanciamento del carico se risponde con un messaggio HTTP 200 entro il periodo di timeout.The instance is considered to be in the load balancer rotation if it responds with an HTTP 200 within the timeout period. Per impostazione predefinita, il periodo di timeout è 31 secondi.The timeout period is 31 seconds by default.

Un probe HTTP personalizzato può essere utile se si vuole implementare logica personalizzata per rimuovere le istanze dalla rotazione del servizio di bilanciamento del carico.An HTTP custom probe can be useful if you want to implement your own logic to remove instances from load balancer rotation. Ad esempio, si potrebbe scegliere di rimuovere un'istanza se indica oltre il 90% di utilizzo della CPU e restituisce uno stato diverso da 200.For example, you might decide to remove an instance if it's above 90% CPU and returns a non-200 status. Per i ruoli Web che usano w3wp.exe, si ottiene anche il monitoraggio automatico del sito Web.If you have web roles that use w3wp.exe, you also get automatic monitoring of your website. Gli errori nel codice del sito Web restituiscono uno stato diverso da 200 al probe del servizio di bilanciamento del carico.Failures in your website code return a non-200 status to the load balancer probe.

Nota

Il probe HTTP personalizzato supporta solo percorsi relativi e il protocollo HTTP.The HTTP custom probe supports relative paths and HTTP protocol only. Il protocollo HTTPS non è supportato.HTTPS isn't supported.

Perché un probe HTTP personalizzato contrassegna un'istanza come non integraWhat makes an HTTP custom probe mark an instance as unhealthy?

  • L'applicazione HTTP restituisce un codice di risposta HTTP diverso da 200, ad esempio 403, 404 o 500.The HTTP application returns an HTTP response code other than 200 (for example, 403, 404, or 500). Questo acknowledgment positivo comunica di rimuovere immediatamente l'istanza dell'applicazione dal servizio.This positive acknowledgment alerts you to take the application instance out of service right away.
  • Il server HTTP non invia alcuna risposta dopo il periodo di timeout.The HTTP server doesn't respond at all after the timeout period. A seconda del valore di timeout impostato, più richieste di probe potrebbero non ricevere risposta prima che il probe venga contrassegnato come non in esecuzione, ovvero prima dell'invio di probe SuccessFailCount.Depending on the timeout value that is set, multiple probe requests might go unanswered before the probe gets marked as not running (that is, before SuccessFailCount probes are sent).
  • Il server chiude la connessione tramite l'invio di TCP Reset.The server closes the connection via a TCP reset.

Probe TCP personalizzatoTCP custom probe

I probe TCP personalizzati avviano una connessione tramite l'esecuzione di un handshake a tre livelli con la porta definita.TCP custom probes initiate a connection by performing a three-way handshake with the defined port.

Perché un probe TCP personalizzato contrassegna un'istanza come non integraWhat makes a TCP custom probe mark an instance as unhealthy?

  • Il server TCP non invia alcuna risposta dopo il periodo di timeout.The TCP server doesn't respond at all after the timeout period. Il probe viene contrassegnato come non in esecuzione in base alla configurazione del numero di richieste di probe non riuscite che possono rimanere senza risposta prima che il probe sia contrassegnato come non in esecuzione.When the probe is marked as not running depends on the number of failed probe requests that were configured to go unanswered before marking the probe as not running.
  • Il probe riceve un TCP Reset dall'istanza del ruolo.The probe receives a TCP reset from the role instance.

Per altre informazioni su come configurare un probe di integrità HTTP o un probe TCP, vedere Creazione di un servizio di bilanciamento del carico pubblico in Resource Manager con PowerShell.For more information about how to configure an HTTP health probe or a TCP probe, see Get started creating a public load balancer in Resource Manager by using PowerShell.

Aggiungere di nuovo le istanze integre nella rotazione del servizio di bilanciamento del caricoAdd healthy instances back into the load balancer rotation

I probe TCP e HTTP sono considerati integri e contrassegnano come integra l'istanza del ruolo quando:TCP and HTTP probes are considered healthy and mark the role instance as healthy when:

  • Il servizio di bilanciamento del carico ottiene un probe positivo al primo avvio della macchina virtuale.The load balancer gets a positive probe the first time the VM boots.
  • Il numero di SuccessFailCount, descritto in precedenza, definisce il valore dei probe riusciti necessari per contrassegnare l'istanza del ruolo come integra.The number for SuccessFailCount (described earlier) defines the value of successful probes that are required to mark the role instance as healthy. Se un'istanza del ruolo è stata rimossa, il numero di probe successivi riusciti deve essere uguale o maggiore del valore di SuccessFailCount per contrassegnare l'istanza del ruolo come in esecuzione.If a role instance was removed, the number of successful, successive probes must equal or exceed the value of SuccessFailCount to mark the role instance as running.

Nota

Se l'integrità di un'istanza del ruolo varia, il servizio di bilanciamento del carico attende più a lungo prima di ripristinarne lo stato di integrità.If the health of a role instance fluctuates, the load balancer waits longer before it puts the role instance back in the healthy state. Questo tempo di attesa aggiuntivo protegge l'utente e l'infrastruttura ed è un criterio voluto.This extra wait time protects the user and the infrastructure and is an intentional policy.

Usare Log Analytics per il servizio di bilanciamento del caricoUse log analytics for a load balancer

È possibile usare Log Analytics per verificare lo stato di integrità dei probe del servizio di bilanciamento del carico e il conteggio dei probe.You can use log analytics to check on the load balancer probe health status and probe count. La registrazione può essere usata con Power BI o Azure Operational Insights per fornire statistiche sullo stato di integrità del servizio di bilanciamento del carico.Logging can be used with Power BI or Azure Operational Insights to provide statistics about load balancer health status.