Introduzione alla creazione di un servizio di bilanciamento del carico interno (classico) tramite PowerShellGet started creating an internal load balancer (classic) using PowerShell

Il servizio di bilanciamento del carico interno di Azure (ILB) consente di bilanciare il carico di rete tra le macchine virtuali che si trovano in un servizio cloud o una rete virtuale con un ambito a livello di area.Azure Internal Load Balancer (ILB) provides network load balancing between virtual machines that reside inside a cloud service or a virtual network with a regional scope.

Per informazioni sull'uso e sulla configurazione di reti virtuali con un ambito a livello di area, vedere Regional virtual networks (Reti virtuali a livello di area).For information about the use and configuration of virtual networks with a regional scope, see Regional virtual networks. Le reti virtuali esistenti che sono state configurate per un gruppo di affinità non possono usare il bilanciamento del carico interno.Existing virtual networks that have been configured for an affinity group cannot use ILB.

Importante

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica. Questo articolo illustra l'uso del modello di distribuzione classica. Microsoft consiglia di usare il modello di Gestione risorse per le distribuzioni più recenti. Informazioni su come eseguire questa procedura con il modello di Resource Manager.

Scenario di configurazioneConfiguration scenario

In questo scenario si crea un servizio di bilanciamento del carico interno in una rete virtuale, come illustrato nella figura seguente:In this scenario, we're creating an internal load balancer in a virtual network as shown in the following figure:

Scenario di bilanciamento del carico interno

La configurazione dello scenario è la seguente:The configuration for our scenario is as follows:

  • Due macchine virtuali denominate DB1 e DB2Two virtual machines named DB1 and DB2
  • Endpoint per il servizio di bilanciamento del carico internoEndpoints for the internal load balancer
  • Servizio di bilanciamento del carico internoAn internal load balancer

Prerequisito: installare il modulo Azure PowerShellPrerequisite: Install the Azure PowerShell module

Per eseguire i passaggi indicati in questo articolo, è necessario installare e configurare il modulo Azure PowerShell.To perform the steps in this article, you need to install and configure the Azure PowerShell module. Assicurarsi di completare tutte le istruzioni.Be sure to complete all of the instructions. Al termine dell'installazione, accedere ad Azure e selezionare la sottoscrizione.After the installation is finished, sign in to Azure and select your subscription.

Nota

Per completare questi passaggi, è necessario un account Azure.You need an Azure account to complete these steps. Se non si ha un account Azure, è possibile iscriversi per ottenere una versione di valutazione gratuita.If you don't have an Azure account, you can sign up for a free trial.

Creare un set con servizio di bilanciamento del carico interno per le macchine virtualiCreate an internal load balancer set for virtual machines

Per creare un set con servizio di bilanciamento del carico e i server che invieranno il traffico a esso, è necessario eseguire le operazioni seguenti:To create an internal load balancer set and the servers that will send their traffic to it, you have to do the following:

  1. Creare un'istanza della funzionalità di bilanciamento del carico interno che sarà l'endpoint del traffico in ingresso da configurare con carico bilanciato tra i server di un set con carico bilanciato.Create an instance of Internal Load Balancing that will be the endpoint of incoming traffic to be load balanced across the servers of a load-balanced set.
  2. Aggiungere gli endpoint corrispondenti alle macchine virtuali che riceveranno il traffico in ingresso.Add endpoints corresponding to the virtual machines that will be receiving the incoming traffic.
  3. Configurare i server che invieranno il traffico con carico bilanciato all'indirizzo IP virtuale (indirizzo VIP) dell'istanza del bilanciamento del carico interno.Configure the servers that will be sending the traffic to be load balanced to send their traffic to the virtual IP (VIP) address of the Internal Load Balancing instance.

Passaggio 1: Creare un'istanza del bilanciamento del carico internoStep 1: Create an Internal Load Balancing instance

Per un servizio cloud esistente o un servizio cloud distribuito in una rete virtuale dell'area, è possibile creare un'istanza del bilanciamento del carico interno con i comandi di Windows PowerShell seguenti:For an existing cloud service or a cloud service deployed under a regional virtual network, you can create an Internal Load Balancing instance with the following Windows PowerShell commands:

$svc="<Cloud Service Name>"
$ilb="<Name of your ILB instance>"
$subnet="<Name of the subnet within your virtual network>"
$IP="<The IPv4 address to use on the subnet-optional>"

Add-AzureInternalLoadBalancer -ServiceName $svc -InternalLoadBalancerName $ilb –SubnetName $subnet –StaticVNetIPAddress $IP

Si noti che questo uso del cmdlet di Windows PowerShell Add-AzureEndpoint richiede il set di parametri DefaultProbe.Note that this use of the Add-AzureEndpoint Windows PowerShell cmdlet uses the DefaultProbe parameter set. Per altre informazioni sui set di parametri aggiuntivi, vedere Add-AzureEndpoint.For more information on additional parameter sets, see Add-AzureEndpoint.

Passaggio 2: Aggiungere endpoint all'istanza del bilanciamento del carico internoStep 2: Add endpoints to the Internal Load Balancing instance

Di seguito è fornito un esempio:Here is an example:

$svc="mytestcloud"
$vmname="DB1"
$epname="TCP-1433-1433"
$lbsetname="lbset"
$prot="tcp"
$locport=1433
$pubport=1433
$ilb="ilbset"
Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -Lbset $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM

Passaggio 3: Configurare i server per l'invio del traffico al nuovo endpoint del bilanciamento del carico internoStep 3: Configure your servers to send their traffic to the new Internal Load Balancing endpoint

Per poter usare il nuovo indirizzo IP (indirizzo VIP) dell'istanza del bilanciamento del carico interno, è necessario configurare i server il cui traffico verrà configurato con carico bilanciato.You have to configure the servers whose traffic is going to be load balanced to use the new IP address (the VIP) of the Internal Load Balancing instance. Si tratta dell'indirizzo su cui è in ascolto l'istanza del bilanciamento del carico interno.This is the address on which the Internal Load Balancing instance is listening. Nella maggior parte dei casi, è sufficiente aggiungere o modificare un record DNS per l'indirizzo VIP dell'istanza del bilanciamento del carico interno.In most cases, you need to just add or modify a DNS record for the VIP of the Internal Load Balancing instance.

Se l'indirizzo IP è stato specificato durante la creazione dell'istanza del bilanciamento del carico interno, si ha già l'indirizzo VIP.If you specified the IP address during the creation of the Internal Load Balancing instance, you already have the VIP. In caso contrario, è possibile visualizzare l'indirizzo VIP eseguendo i comandi seguenti:Otherwise, you can see the VIP from the following commands:

$svc="<Cloud Service Name>"
Get-AzureService -ServiceName $svc | Get-AzureInternalLoadBalancer

Per usare questi comandi, inserire i valori e rimuovere < and >.To use these commands, fill in the values and remove the < and >. Di seguito è fornito un esempio:Here is an example:

$svc="mytestcloud"
Get-AzureService -ServiceName $svc | Get-AzureInternalLoadBalancer

Dalla visualizzazione del comando Get-AzureInternalLoadBalancer prendere nota dell'indirizzo IP e apportare le modifiche necessarie ai server o ai record DNS per assicurarsi che il traffico venga inviato all'indirizzo VIP.From the display of the Get-AzureInternalLoadBalancer command, note the IP address and make the necessary changes to your servers or DNS records to ensure that traffic gets sent to the VIP.

Nota

La piattaforma Microsoft Azure usa un indirizzo IPv4 statico e instradabile pubblicamente per un'ampia gamma di scenari di amministrazione. L'indirizzo IP è 168.63.129.16. Questo indirizzo IP non deve essere bloccato da alcun firewall, perché potrebbe causare un comportamento imprevisto. Per quanto riguarda il bilanciamento del carico interno di Azure, questo indirizzo IP viene usato da probe di monitoraggio del servizio di bilanciamento del carico per determinare lo stato di integrità delle macchine virtuali in un set con carico bilanciato. Se si usa un gruppo di sicurezza di rete per limitare il traffico alle macchine virtuali di Azure in un set con carico bilanciato internamente o lo si applica a una subnet di rete virtuale, assicurarsi di aggiungere una regola di sicurezza di rete per consentire il traffico dall'indirizzo 168.63.129.16.

Esempio di bilanciamento del carico internoExample of internal load balancing

Per una descrizione del processo end-to-end di creazione di un set con carico bilanciato per due configurazioni di esempio, vedere le sezioni seguenti.To step you through the end-to end process of creating a load-balanced set for two example configurations, see the following sections.

Applicazione multilivello con connessione InternetAn Internet facing, multi-tier application

Si vuole offrire un servizio di database con carico bilanciato per un gruppo di server Web con connessione Internet.You want to provide a load balanced database service for a set of Internet-facing web servers. Entrambi i set di server sono ospitati in un unico servizio cloud di Azure.Both sets of servers are hosted in a single Azure cloud service. Il traffico dei server Web verso la porta TCP 1433 deve essere distribuito tra due macchine virtuali nel livello database.Web server traffic to TCP port 1433 must be distributed among two virtual machines in the database tier. La figura 1 illustra la configurazione.Figure 1 shows the configuration.

Set con carico bilanciato interno per il livello database

La configurazione è costituita dai seguenti elementi:The configuration consists of the following:

  • Il servizio cloud esistente che ospita le macchine virtuali è denominato mytestcloud.The existing cloud service hosting the virtual machines is named mytestcloud.
  • I due server di database esistenti sono denominati DB1, DB2.The two existing database servers are named DB1, DB2.
  • I server Web nel livello Web si connettono ai server di database nel livello database usando l’indirizzo IP privato.Web servers in the web tier connect to the database servers in the database tier by using the private IP address. Un'altra opzione consiste nell'utilizzare il proprio DNS per la rete virtuale e registrare manualmente un record A per il set di bilanciamento del carico interno.Another option is to use your own DNS for the virtual network and manually register an A record for the internal load balancer set.

I comandi seguenti configurano una nuova istanza del bilanciamento del carico interno denominata ILBset e aggiungono endpoint alle macchine virtuali corrispondenti ai due server di database:The following commands configure a new Internal Load Balancing instance named ILBset and add endpoints to the virtual machines corresponding to the two database servers:

$svc="mytestcloud"
$ilb="ilbset"
Add-AzureInternalLoadBalancer -ServiceName $svc -InternalLoadBalancerName $ilb
$prot="tcp"
$locport=1433
$pubport=1433
$epname="TCP-1433-1433"
$lbsetname="lbset"
$vmname="DB1"
Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -LbSetName $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM

$epname="TCP-1433-1433-2"
$vmname="DB2"
Get-AzureVM –ServiceName $svc –Name $vmname | Add-AzureEndpoint -Name $epname -LbSetName $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport –DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM

Rimuovere una configurazione del bilanciamento del carico internoRemove an Internal Load Balancing configuration

Per rimuovere una macchina virtuale come endpoint da un'istanza del servizio di bilanciamento del carico interno, usare i comandi seguenti:To remove a virtual machine as an endpoint from an internal load balancer instance, use the following commands:

$svc="<Cloud service name>"
$vmname="<Name of the VM>"
$epname="<Name of the endpoint>"
Get-AzureVM -ServiceName $svc -Name $vmname | Remove-AzureEndpoint -Name $epname | Update-AzureVM

Per usare questi comandi, inserire i valori rimuovendo < and >.To use these commands, fill in the values, removing the < and >.

Di seguito è fornito un esempio:Here is an example:

$svc="mytestcloud"
$vmname="DB1"
$epname="TCP-1433-1433"
Get-AzureVM -ServiceName $svc -Name $vmname | Remove-AzureEndpoint -Name $epname | Update-AzureVM

Per rimuovere un'istanza del servizio di bilanciamento del carico interno da un servizio cloud, usare i comandi seguenti:To remove an internal load balancer instance from a cloud service, use the following commands:

$svc="<Cloud service name>"
Remove-AzureInternalLoadBalancer -ServiceName $svc

Per usare questi comandi, inserire il valore e rimuovere < and >.To use these commands, fill in the value and remove the < and >.

Di seguito è fornito un esempio:Here is an example:

$svc="mytestcloud"
Remove-AzureInternalLoadBalancer -ServiceName $svc

Altre informazioni sui cmdlet per servizio di bilanciamento del carico internoAdditional information about internal load balancer cmdlets

Per ottenere altre informazioni sui cmdlet per il bilanciamento del carico interno, eseguire i comandi seguenti da un prompt di Windows PowerShell:To obtain additional information about Internal Load Balancing cmdlets, run the following commands at a Windows PowerShell prompt:

Get-Help New-AzureInternalLoadBalancerConfig -full
Get-Help Add-AzureInternalLoadBalancer -full
Get-Help Get-AzureInternalLoadbalancer -full
Get-Help Remove-AzureInternalLoadBalancer -full

Passaggi successiviNext steps

Configurare una modalità di distribuzione del servizio di bilanciamento del carico utilizzando l’affinità dell’IP di origineConfigure a load balancer distribution mode using source IP affinity

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