Introduzione alla creazione del servizio di bilanciamento del carico Internet per i servizi cloudGet started creating an Internet facing load balancer for cloud services

Azure Load Balancer è un servizio di bilanciamento del carico di livello 4 (TCP, UDP).An Azure load balancer is a Layer-4 (TCP, UDP) load balancer. Il servizio di bilanciamento del carico offre disponibilità elevata distribuendo il traffico in ingresso tra istanze del servizio integre in servizi cloud o macchine virtuali in un set di bilanciamento del carico .The load balancer provides high availability by distributing incoming traffic among healthy service instances in cloud services or virtual machines in a load balancer set. Azure Load Balancer può anche presentare tali servizi su più porte, più indirizzi IP o entrambi.Azure Load Balancer can also present those services on multiple ports, multiple IP addresses, or both.

È possibile configurare un servizio bilanciamento del carico per:You can configure a load balancer to:

  • Bilanciare il carico del traffico Internet in ingresso nelle macchine virtuali (VMs).Load balance incoming Internet traffic to virtual machines (VMs). Si fa riferimento a un servizio di bilanciamento del carico in questo scenario come bilanciamento del carico con connessione Internet.We refer to a load balancer in this scenario as an Internet-facing load balancer.
  • 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 VMs in a virtual network (VNet), between VMs in cloud services, or between on-premises computers and VMs in a cross-premises virtual network. Si fa riferimento a un servizio di bilanciamento del carico in questo scenario come un Bilanciamento del carico interno.We refer to a load balancer in this scenario as an internal load balancer (ILB).
  • Inoltrare il traffico esterno a una specifica istanza di macchina virtualeForward external traffic to a specific VM instance.

Importante

Prima di iniziare a usare le risorse di Azure, è importante comprendere che Azure al momento offre due modelli di distribuzione, la distribuzione classica e Azure Resource Manager.Before you work with Azure resources, it's important to understand that Azure currently has two deployment models: Azure Resource Manager and classic. È importante comprendere i modelli e strumenti di distribuzione prima di lavorare con le risorse di Azure.Make sure you understand deployment models and tools before you work with any Azure resource. È possibile visualizzare la documentazione relativa a diversi strumenti facendo clic sulle schede nella parte superiore di questo articolo.You can view the documentation for different tools by clicking the tabs at the top of this article. In questo articolo viene illustrato il modello di distribuzione classica.This article covers the classic deployment model. Vedere Informazioni su come creare un servizio di bilanciamento del carico Internet in Gestione risorse di Azure.You can also Learn how to create an Internet facing load balancer using Azure Resource Manager.

I servizi cloud vengono configurati automaticamente con il servizio di bilanciamento del carico e possono essere personalizzati tramite il modello del servizio.Cloud services are automatically configured with a load balancer and can be customized via the service model.

Creare un bilanciamento del carico tramite il file di definizione del servizioCreate a load balancer using the service definition file

È possibile usare Azure SDK per .NET 2.5 per aggiornare il servizio cloud.You can leverage the Azure SDK for .NET 2.5 to update your cloud service. Le impostazioni degli endpoint per i servizi cloud vengono configurate nel file di definizione del servizio, con estensione csdef.Endpoint settings for cloud services are made in the service definition .csdef file.

L'esempio seguente mostra la configurazione di un file servicedefinition.csdef per una distribuzione cloud:The following example shows how a servicedefinition.csdef file for a cloud deployment is configured:

Analizzando il frammento di codice per il file con estensione csdef generato da una distribuzione cloud, è possibile vedere l'endpoint esterno configurato per usare le porte HTTP sulle porte 10000, 10001 e 10002.Checking the snippet for the .csdef file generated by a cloud deployment, you can see the external endpoint configured to use ports HTTP on port 10000, 10001, and 10002.

<ServiceDefinition name=“Tenant“>
    <WorkerRole name=“FERole” vmsize=“Small“>
<Endpoints>
    <InputEndpoint name=“FE_External_Http” protocol=“http” port=“10000“ />
    <InputEndpoint name=“FE_External_Tcp“  protocol=“tcp“  port=“10001“ />
    <InputEndpoint name=“FE_External_Udp“  protocol=“udp“  port=“10002“ />

    <InputEndpointname=“HTTP_Probe” protocol=“http” port=“80” loadBalancerProbe=“MyProbe“ />

    <InstanceInputEndpoint name=“InstanceEP” protocol=“tcp” localPort=“80“>
        <AllocatePublicPortFrom>
            <FixedPortRange min=“10110” max=“10120“  />
        </AllocatePublicPortFrom>
    </InstanceInputEndpoint>
    <InternalEndpoint name=“FE_InternalEP_Tcp” protocol=“tcp“ />
</Endpoints>
    </WorkerRole>
</ServiceDefinition>

Controllo dello stato di integrità del servizio di bilanciamento del carico per i servizi cloudCheck load balancer health status for cloud services

Di seguito è riportato un esempio di probe di integrità:The following is an example of a health probe:

<LoadBalancerProbes>
    <LoadBalancerProbe name=“MyProbe” protocol=“http” path=“Probe.aspx” intervalInSeconds=“5” timeoutInSeconds=“100“ />
</LoadBalancerProbes>

Il servizio di bilanciamento del carico combina le informazioni dell'endpoint e le informazioni del probe per creare un URL nel formato http://{DIP of VM}:80/Probe.aspx, che verrà usato per eseguire una query sull'integrità del servizio.The load balancer combines the information of the endpoint and the information of the probe to create a URL in the form of http://{DIP of VM}:80/Probe.aspx that can be used to query the health of the service.

Il servizio rileva probe periodiche dallo stesso indirizzo IP.The service detects periodic probes from the same IP address. Si tratta della richiesta del probe di integrità proveniente dall'host del nodo in cui è in esecuzione la macchina virtuale.This is the health probe request coming from the host of the node where the virtual machine is running. Il servizio deve rispondere con un codice di stato HTTP 200 per indicare l'integrità al bilanciamento del carico.The service has to respond with a HTTP 200 status code for the load balancer to assume that the service is healthy. Qualsiasi altro codice di stato HTTP (ad esempio 503) esclude direttamente la macchina virtuale dalla rotazione.Any other HTTP status code (for example 503) directly takes the virtual machine out of rotation.

La definizione del probe ne controlla anche la frequenza.The probe definition also controls the frequency of the probe. Nel caso precedente, il bilanciamento del carico controlla l'endpoint tramite probe ogni 5 secondi.In our case above, the load balancer is probing the endpoint every 5 secs. Se non viene ricevuta alcuna risposta positiva per 10 secondi (due intervalli di probe), si presuppone che il probe abbia avuto esito negativo e la macchina virtuale viene esclusa dalla rotazione.If no positive answer is received for 10 secs (two probe intervals), the probe is assumed down, and the virtual machine is taken out of rotation. Analogamente, se il servizio è escluso dalla rotazione e viene ricevuta una risposta positiva, il servizio viene immediatamente inserito di nuovo nella rotazione.Similarly, if the service is out of rotation and a positive answer is received, the service is put back to rotation right away. Se il servizio passa continuamente da uno stato integro a uno non integro, il servizio di bilanciamento del carico può decidere di ritardare la reintroduzione del servizio nella rotazione fino a quando non risulta integro per un determinato numero di probe.If the service is fluctuating between healthy and unhealthy, the load balancer can decide to delay the re-introduction of the service back to rotation until it has been healthy for a number of probes.

Per altre informazioni, fare riferimento allo schema di definizione del servizio per il probe di integrità .Check the service definition schema for the health probe for more information.

Passaggi successiviNext steps

Introduzione alla configurazione del bilanciamento del carico internoGet started configuring an internal load balancer

Configurare una modalità di distribuzione del servizio di bilanciamento del caricoConfigure a load balancer distribution mode

Configurare le impostazioni del timeout di inattività TCP per il bilanciamento del caricoConfigure idle TCP timeout settings for your load balancer