Comprendere i probe di bilanciamento del caricoUnderstand Load Balancer probes

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.Although Basic Load Balancer is generally available, Standard Load Balancer is currently in public preview. Per altre informazioni su Load Balancer Standard, vedere la panoramica di Load Balancer Standard.For more information about Standard Load Balancer, see Standard Load Balancer overview.

Il servizio di bilanciamento del carico di Azure consente di monitorare l'integrità delle istanze del server tramite probe.Azure Load Balancer offers the capability to monitor the health of server instances by using probes. Se un probe non risponde, il servizio di bilanciamento del carico interrompe l'invio di nuove connessioni all'istanza non integra.When a probe fails to respond, Load Balancer stops sending new connections to the unhealthy instance. Le connessioni esistenti non sono interessate, mentre quelle nuove vengono inviate alle istanze integre.The existing connections are not affected, and new connections are sent to healthy instances.

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. Probe personalizzati TCP o HTTP devono essere configurati quando si utilizzano macchine virtuali di bilanciamento del carico.TCP or HTTP custom 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 la frequenza impostati in SuccessFailCount determinano se un'istanza viene confermata di essere 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. È possibile avere una configurazione di probe diverso per ogni istanza del ruolo o macchine Virtuali nello stesso servizio ospitato per una combinazione di endpoint in questione.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 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 utilizzata 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 si non consente questo indirizzo IP in criteri del firewall, si verifica un comportamento imprevisto in una vasta gamma di scenari.If you don't allow this IP address in your firewall policies, unexpected behavior occurs in a variety of scenarios. Il comportamento include la configurazione stesso intervallo di indirizzi IP di 168.63.129.16 e indirizzi IP di duplicazione.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

È disponibile per i servizi Cloud di Azure solo un probe di agente guest.A guest agent probe is available for Azure Cloud Services only. Servizio di bilanciamento del carico utilizza l'agente guest nella macchina virtuale.Load Balancer utilizes the guest agent inside the VM. Quindi, è in ascolto e risponde con una risposta HTTP 200 OK solo quando l'istanza è nello 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, il riciclo o arresto).(Other states are Busy, Recycling, or Stopping.)

Per ulteriori informazioni, vedere configurare il file di definizione del servizio (csdef) per probe di integrità o iniziare creando 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 riesce a rispondere con HTTP 200 OK, il bilanciamento del carico contrassegna l'istanza non risponde.If the guest agent fails to respond with HTTP 200 OK, the load balancer marks the instance as unresponsive. Quindi, si arresta l'invio di traffico a tale 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 utilizza un ruolo web, il codice del sito Web viene eseguito in genere in w3wp.exe, non è monitorato da Azure agente dell'infrastruttura o 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. Non sono segnalati errori in w3wp.exe (ad esempio, le risposte HTTP 500) per l'agente guest.Failures in w3wp.exe (for example, HTTP 500 responses) aren't reported to the guest agent. Di conseguenza, il bilanciamento del carico non accetta l'istanza dalla rotazione.Consequently, the load balancer doesn't take that instance out of rotation.

Probe HTTP personalizzatoHTTP custom probe

Il probe personalizzato HTTP esegue l'override del probe di agente guest predefinito.The HTTP custom probe overrides the default guest agent probe. È possibile creare la 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 è considerato in rotazione del bilanciamento del carico se il servizio risponde con un 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. Il periodo di timeout è 31 secondi per impostazione predefinita.The timeout period is 31 seconds by default.

Un probe personalizzato HTTP può essere utile se si desidera implementare la logica per rimuovere istanze di rotazione del 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 decidere di rimuovere un'istanza se è superiore al 90% della CPU e restituisce uno stato non-200.For example, you might decide to remove an instance if it's above 90% CPU and returns a non-200 status. Se si dispone di ruoli web che utilizzano w3wp.exe, anche possibile ottenere automatica del sito Web di monitoraggio.If you have web roles that use w3wp.exe, you also get automatic monitoring of your website. Errori nel codice del sito Web restituiscono uno stato non-200 per il probe 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. HTTPS non è supportata.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). Il riconoscimento segnala che è necessario eseguire immediatamente l'istanza di applicazione fuori servizio.This positive acknowledgment alerts you to take the application instance out of service right away.
  • Il server HTTP non risponde affatto 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ù le richieste di probe potrebbero essere senza risposta prima che il probe viene contrassegnato come non in esecuzione (vale a dire prima SuccessFailCount probe vengono inviati).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

Probe personalizzati TCP avviano una connessione mediante l'esecuzione di un handshake a tre vie 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 risponde affatto 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 ulteriori informazioni su come configurare un probe di stato HTTP o un probe TCP, vedere iniziare a creare un servizio di bilanciamento del carico pubblico di gestione risorse tramite 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 istanze integre alla rotazione del 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 di esito positivo probe necessari per contrassegnare l'istanza del ruolo come integro.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 è compresa l'integrità di un'istanza del ruolo, il bilanciamento del carico è in attesa più prima che l'istanza del ruolo in stato integro.If the health of a role instance fluctuates, the load balancer waits longer before it puts the role instance back in the healthy state. Il tempo di attesa aggiuntivo consente di proteggere l'utente e l'infrastruttura e un criterio intenzionale.This extra wait time protects the user and the infrastructure and is an intentional policy.

Utilizzare analitica di log per un servizio di bilanciamento del caricoUse log analytics for a load balancer

È possibile utilizzare log analitica per controllare lo stato di integrità probe di bilanciamento carico e verificare la presenza di conteggio.You can use log analytics to check on the load balancer probe health status and probe count. La registrazione è utilizzabile con Power BI o informazioni operative di Azure per fornire statistiche sullo stato di integrità del servizio di bilanciamento carico.Logging can be used with Power BI or Azure Operational Insights to provide statistics about load balancer health status.