Gestione del pool back-end

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

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

  1. Scheda di interfaccia di rete

  2. IP address

Per preallocare un pool backend con un intervallo di indirizzi IP che contenga macchine virtuali e set di scalabilità di macchine virtuali, configura il pool in base all'indirizzo IP e all'ID di rete virtuale. I pool backend basati su IP richiedono uno Load Balancer Standard.

Questo articolo si concentra sulla configurazione dei pool backend basati su IP.

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

Negli scenari con pool di backend prepopolati, utilizza indirizzi IP e una rete virtuale.

Prima di iniziare, assicurarsi di disporre di:

  • Un Load Balancer Standard e una rete virtuale esistenti.
  • Risorse backend nella stessa rete virtuale del bilanciatore di peso.
  • Permesso di creare o aggiornare il bilanciatore di carico, l'interfaccia di rete e le risorse della macchina virtuale.
  • Una sessione Azure PowerShell o interfaccia della riga di comando di Azure autenticata per lo strumento che usi.

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

PowerShell

Creare un 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

Utilizzando interfaccia della riga di comando di Azure, puoi popolare il pool backend basato su IP tramite parametri da riga di comando o un file di configurazione JSON.

Crea un pool backend basato su IP con interfaccia della riga di comando di Azure

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"
          }
        ]

Verifica gli indirizzi backend con interfaccia della riga di comando di Azure

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

Crea un'interfaccia di rete con interfaccia della riga di comando di Azure

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

Crea una macchina virtuale con interfaccia della riga di comando di Azure

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

Limitazioni per i pool backend basati su IP

  • Puoi usare solo pool backend basati su IP con Standard Load Balancer.
  • Le risorse backend devono trovarsi nella stessa rete virtuale del bilanciatore di peso.
  • Le istanze di back-end in un pool di back-end basato su IP devono essere macchine virtuali o scale set di macchine virtuali. Non puoi collegare altri servizi PaaS.
  • Un servizio di bilanciamento del carico con un pool di backend basato su indirizzi IP non può funzionare come servizio collegamento privato.
  • Non è possibile inserire risorse dell'endpoint privato in un pool di backend basato su IP.
  • I pool back-end basati su IP non supportano i contenitori ACI.
  • Bilanciatori di carico o servizi come Application Gateway non possono essere inseriti nel pool backend del bilanciatore di peso.
  • Le regole NAT in entrata non possono essere specificate tramite indirizzo IP.
  • Puoi configurare sia pool backend basati su IP che su NIC per lo stesso bilanciatore di carico. Non puoi creare un singolo pool backend che mescoli indirizzi backend targettati da NIC e indirizzo IP all'interno dello stesso pool.
  • Una macchina virtuale nella stessa rete virtuale di un load balancer interno non può accedere contemporaneamente al front-end del LB interno e alle macchine virtuali back-end.
  • Gli IP preferenziali di routing Internet attualmente non sono supportati dai pool backend basati su IP. Se si usano indirizzi IP con preferenza di routing Internet nei pool di back-end basati su IP, questi indirizzi IP vengono fatturati e instradati tramite la rete globale predefinita di Microsoft.
  • Le operazioni di spostamento sulle VNET collegate a pool di backend basati su IP non sono supportate.
  • 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.

Important

Un pool backend basato su IP richiede comunque uno Load Balancer Standard. Il suo comportamento in uscita predefinito ricorda il comportamento di Basic Load Balancer perché l'accesso in uscita predefinito è abilitato. Questa affermazione non significa che Basic Load Balancer supporti pool backend basati su IP. Per configurazioni sicure per impostazione predefinita e applicazioni con requisiti elevati di traffico in uscita, configurare il pool back-end in base alla NIC.

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.

Rivedi l'API REST per la gestione dei pool backend basati su IP.