Gestione del pool back-end

Il pool back-end è un componente cruciale del servizio di bilanciamento del carico. Definisce il gruppo di risorse che gestirà il traffico per una specifica regola di bilanciamento del carico.

È possibile configurare un pool back-end in due modi:

  • Scheda di interfaccia di rete

  • Indirizzo IP

Per preallocare un pool back-end con un intervallo di indirizzi IP che in seguito conterrà macchine virtuali e set di scalabilità di macchine virtuali, configurare il pool in base all'indirizzo IP e all'ID di rete virtuale. Questo articolo è incentrato sulla configurazione dei pool back-end in base agli indirizzi IP.

Configurare il pool back-end tramite indirizzo IP e rete virtuale

Negli scenari con pool back-end già popolati, usare l'indirizzo IP e la rete virtuale.

Tutte le operazioni di gestione dei pool back-end vengono configurate nell'oggetto pool back-end, come evidenziato negli esempi seguenti.

PowerShell

Creare nuovo pool back-end:

$be = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
$backendPool = New-AzLoadBalancerBackendAddressPool @be

Aggiornare il pool back-end con un nuovo indirizzo IP della rete virtuale esistente:

$vnet = @{
    Name = 'myVnet'
    ResourceGroupName = 'myResourceGroup'
}
$virtualNetwork = Get-AzVirtualNetwork @vnet

$add1 = @{
    IpAddress = '10.0.0.5'
    Name = 'TestVNetRef'
    VirtualNetworkId = $virtualNetwork.Id
}
$ip1 = New-AzLoadBalancerBackendAddressConfig @add1
 
$backendPool.LoadBalancerBackendAddresses.Add($ip1) 

Set-AzLoadBalancerBackendAddressPool -InputObject $backendPool

Recuperare le informazioni sul pool back-end per il servizio di bilanciamento del carico per confermare che gli indirizzi back-end sono stati aggiunti al pool back-end:

$pool = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
Get-AzLoadBalancerBackendAddressPool @pool

Creare una nuova interfaccia di rete e aggiungerla al pool back-end. Impostare l'indirizzo IP su uno degli indirizzi back-end:

$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus'
    PrivateIpAddress = '10.0.0.5'
    Subnet = $virtualNetwork.Subnets[0]
}
$nic = New-AzNetworkInterface @net

Creare una macchina virtuale e collegare la scheda di interfaccia di rete con un indirizzo IP nel pool back-end:

# Create a username and password for the virtual machine
$cred = Get-Credential

# Create a virtual machine configuration
$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net

$vmc = @{
    VMName = 'myVM1'
    VMSize = 'Standard_DS1_v2'
}

$vmos = @{
    ComputerName = 'myVM1'
    Credential = $cred
}

$vmi = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2019-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vmc | Set-AzVMOperatingSystem -Windows @vmos | Set-AzVMSourceImage @vmi | Add-AzVMNetworkInterface -Id $nic.Id


# Create a virtual machine using the configuration
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Zone = '1'
    Location = 'eastus'
    VM = $vmConfig

}
$vm1 = New-AzVM @vm

CLI

Usando l'interfaccia della riga di comando è possibile popolare il pool back-end tramite parametri della riga di comando o tramite un file di configurazione JSON.

Creare e popolare il pool back-end tramite i parametri della riga di comando:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address name=addr1 ip-address=10.0.0.4 \
--backend-address name=addr2 ip-address=10.0.0.5

Creare e popolare il pool back-end tramite il file di configurazione JSON:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address-config-file @config_file.json

File di configurazione JSON:

        [
          {
            "name": "address1",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.4"
          },
          {
            "name": "address2",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.5"
          }
        ]

Recuperare le informazioni sul pool back-end per il servizio di bilanciamento del carico per confermare che gli indirizzi back-end sono stati aggiunti al pool back-end:

az network lb address-pool show \
--resource-group myResourceGroup \
--lb-name MyLb \
--name MyBackendPool

Creare una nuova interfaccia di rete e aggiungerla al pool back-end. Impostare l'indirizzo IP su uno degli indirizzi back-end:

az network nic create \
  --resource-group myResourceGroup \
  --name myNic \
  --vnet-name myVnet \
  --subnet mySubnet \
  --network-security-group myNetworkSecurityGroup \
  --lb-name myLB \
  --private-ip-address 10.0.0.4

Creare una macchina virtuale e collegare la scheda di interfaccia di rete con un indirizzo IP nel pool back-end:

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --nics myNic \
  --image Ubuntu2204 \
  --admin-username azureuser \
  --generate-ssh-keys

Limiti

  • I back-end basati su IP possono essere usati solo per Load Balancer Standard
  • Le risorse back-end devono trovarsi nella stessa rete virtuale del servizio di bilanciamento del carico per il Load Balancer basati su IP
  • Un'istanza di Load Balancer con pool back-end basato su IP non può funzionare come servizio di collegamento privato
  • Le risorse dell'endpoint privato non possono essere inserite in un pool back-end basato su IP
  • I contenitori dell'istanza di Istanze di contenitore di Azure non sono attualmente supportati dai servizi di bilanciamento del carico basati su IP
  • I servizi di bilanciamento del carico o i servizi come gateway applicazione non possono essere inseriti nel pool back-end del servizio di bilanciamento del carico
  • Le regole NAT in ingresso non possono essere specificate in base all'indirizzo IP
  • È possibile configurare pool back-end basati su IP e NIC per lo stesso servizio di bilanciamento del carico. Non è possibile creare un singolo pool back-end che combina indirizzi supportati assegnati da NIC e indirizzi IP all'interno dello stesso pool.
  • Una macchina virtuale nella stessa rete virtuale di un servizio di bilanciamento del carico interno non può accedere contemporaneamente al front-end del servizio di bilanciamento del carico interno e alle macchine virtuali back-end.
  • Gli indirizzi IP delle preferenze di routing Internet non sono attualmente supportati con i pool back-end basati su IP. Gli indirizzi IP delle preferenze di routing Internet nei pool back-end basati su IP verranno fatturati e instradati tramite la rete globale Microsoft predefinita.
  • Se i pool back-end cambiano costantemente (a causa dell'aggiunta o della rimozione costante delle risorse back-end). Ciò può causare la reimpostazione dei segnali inviati all'origine dalla risorsa back-end. Come soluzione alternativa, provare i tentativi ripetuti.

Importante

Quando un pool back-end è configurato dall'indirizzo IP, si comporta come Load Balancer Basic con l'impostazione predefinita abilitata in uscita. Per proteggere per impostazione predefinita la configurazione e le applicazioni con grandi esigenze in uscita, configurare il pool back-end in base alla scheda di interfaccia di rete.

Passaggi successivi

In questo articolo sono state fornite informazioni sulla gestione del pool back-end di Azure Load Balancer e su come configurare il pool back-end tramite indirizzo IP e rete virtuale.

Altre informazioni su Azure Load Balancer.

Rivedere API REST per la gestione del pool back-end in base all'indirizzo IP.