Gestion du pool back-end

Le pool back-end est un composant essentiel de l’équilibreur de charge. Il définit le groupe de ressources qui va servir le trafic pour une règle d’équilibrage de charge donnée.

Il existe deux façons de configurer un pool back-end :

  • Carte d’interface réseau (NIC)

  • Adresse IP

Pour préallouer un pool principal avec une plage d’adresses IP qui contiendra ultérieurement des machines virtuelles et des groupes de machines virtuelles identiques, configurez le pool par adresse IP et ID de réseau virtuel. Cet article porte sur la configuration des pools back-end par adresses IP.

Configurer le pool back-end par adresse IP et réseau virtuel

Dans les scénarios avec des pools de back-ends préremplis, utilisez l’adresse IP et le réseau virtuel.

Vous configurez la gestion des pools principaux sur l’objet de pool principal comme indiqué dans les exemples suivants.

PowerShell

Créez un pool back-end :

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

Mettez à jour le pool back-end avec une nouvelle adresse IP du réseau virtuel existant :

$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

Récupérez les informations du pool back-end pour que l’équilibreur de charge confirme que les adresses back-end sont ajoutées au pool back-end :

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

Créez une interface réseau et ajoutez-la au pool back-end. Définissez l’adresse IP sur l’une des adresses back-end :

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

Créez une machine virtuelle et attachez la carte réseau avec une adresse IP dans le 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

Interface de ligne de commande

À l’aide de l’interface CLI, vous pouvez remplir le pool back-end par le biais de paramètres de ligne de commande ou d’un fichier de configuration JSON.

Créez et remplissez le pool back-end par le biais de paramètres de ligne de commande :

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

Créez et remplissez le pool back-end par le biais d’un fichier de configuration 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

Fichier de configuration 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"
          }
        ]

Récupérez les informations du pool back-end pour que l’équilibreur de charge confirme que les adresses back-end sont ajoutées au pool back-end :

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

Créez une interface réseau et ajoutez-la au pool back-end. Définissez l’adresse IP sur l’une des adresses 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

Créez une machine virtuelle et attachez la carte réseau avec une adresse IP dans le pool back-end :

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

Limites

  • Les serveurs principaux basés sur une adresse IP ne peuvent être utilisés que pour les équilibreurs de charge standard
  • Limite de 100 adresses IP dans le pool back-end pour les équilibreurs de charge basés sur une adresse IP
  • Les ressources back-end doivent être dans le même réseau virtuel que l’équilibreur de charge pour les équilibreurs de charge basés sur une adresse IP
  • Un équilibreur de charge avec un pool principal basé sur une adresse IP ne peut pas fonctionner en tant que service Private Link
  • Les ressources de point de terminaison privé ne peuvent pas être placées dans un pool principal basé sur une adresse IP.
  • Les conteneurs ACI ne sont actuellement pas pris en charge par les équilibreurs de charge basés sur une adresse IP
  • Vous ne pouvez pas placer des équilibreurs de charge ou des services, tels qu’Application Gateway, dans le pool principal de l’équilibreur de charge
  • Les règles NAT de trafic entrant ne peuvent pas être spécifiées par adresse IP
  • Vous pouvez configurer des pools principaux basés sur une adresse IP et basés sur une carte réseau pour le même équilibreur de charge. Vous ne pouvez pas créer un pool principal unique qui combine des adresses sur des cartes réseau et des adresses IP au sein du même pool.

Important

Lorsqu’un pool principal est configuré par adresse IP, il se comporte comme un équilibreur de charge de base avec l’option sortant par défaut activée. Pour une configuration et des applications sécurisées par défaut avec des besoins sortants exigeants, configurez le pool principal par carte réseau.

Étapes suivantes

Dans cet article, vous avez découvert la gestion du pool back-end Azure Load Balancer et vous avez appris à configurer un pool back-end par adresse IP et réseau virtuel.

En savoir plus sur Azure Load Balancer.

Passez en revue l'API REST pour la gestion du pool principal basé sur une adresse IP.