Gestion du pool back-end

Le pool back-end est un composant essentiel de l’équilibreur de charge. Le pool back-end définit le groupe de ressources servant 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 va contenir des machines virtuelles et des Virtual Machine Scale Sets, 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.5'
    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 Ubuntu2204 \
  --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
  • 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
  • Les instances de back-end des équilibreurs de charge basés sur IP doivent toujours être des machines virtuelles ou des groupes de machines virtuelles identiques. Il n’est pas possible d’attacher d’autres services PaaS au pool de back-end d’un équilibreur de charge (Load Balancer) basé sur 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 équilibreurs de charge basés sur IP ne prennent pas en charge les conteneurs ACI
  • 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.
  • Une machine virtuelle dans le même réseau virtuel qu’un équilibreur de charge interne ne peut pas accéder simultanément au serveur frontal de l’équilibreur de charge interne (ILB) et à ses machines virtuelles principales.
  • Les adresses IP de la préférence de routage Internet ne sont actuellement pas prises en charge par les pools principaux basés sur IP. Toutes les adresses IP de préférence de routage Internet dans les pools principaux basés sur IP sont facturées et acheminées au moyen du réseau global Microsoft par défaut.
  • Si les pools principaux changent constamment (en raison de l’ajout ou de la suppression constante des ressources principales). Cela peut entraîner le renvoi de signaux de réinitialisation à la source à partir de la ressource principale. Pour contourner ce problème, vous pouvez utiliser de nouvelles tentatives.

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.