Gestion du pool back-endBackend pool management

Le pool back-end est un composant essentiel de l’équilibreur de charge.The backend pool is a critical component of the load balancer. Il définit le groupe de ressources qui va servir le trafic pour une règle d’équilibrage de charge donnée.The backend pool defines the group of resources that will serve traffic for a given load-balancing rule.

Il existe deux façons de configurer un pool back-end :There are two ways of configuring a backend pool:

  • Carte d’interface réseau (NIC)Network Interface Card (NIC)
  • Combinaison de l’adresse IP et de l’ID de la ressource du réseau virtuel (VNET)Combination of IP address and Virtual Network (VNET) Resource ID

Configurez votre pool de back-ends par carte réseau quand vous utilisez des machines virtuelles et des groupes de machines virtuelles identiques existants.Configure your backend pool by NIC when using existing virtual machines and virtual machine scale sets. Cette méthode génère le lien le plus direct entre votre ressource et le pool back-end.This method builds the most direct link between your resource and the backend pool.

Lors de la préallocation de votre pool de back-ends avec une plage d’adresses IP avec laquelle vous envisagez de créer ultérieurement des machines virtuelles et des groupes de machines virtuelles identiques, configurez votre pool de back-ends par une combinaison d’adresses IP et d’ID de réseau virtuel.When preallocating your backend pool with an IP address range which you plan to later create virtual machines and virtual machine scale sets, configure your backend pool by IP address and VNET ID combination.

Vous pouvez configurer des pools back-end en fonction des adresses IP et des cartes d’interface réseau pour un même équilibreur de charge. Toutefois, vous ne pouvez pas créer un seul pool back-end qui mélange des adresses back-end ciblées en fonction des cartes d’interface réseau et des adresses IP au sein du même pool.You can configure IP-based and NIC-based backend pools for the same load balancer however, you cannot create a single backend pool that mixes backed addresses targeted by NIC and IP addresses within the same pool.

Les sections de configuration de cet article se concentrent sur :The configuration sections of this article will focus on:

  • Azure PowerShellAzure PowerShell
  • Azure CLIAzure CLI
  • API RESTREST API
  • Modèles Microsoft Azure Resource ManagerAzure Resource Manager templates

Ces sections permettent de comprendre comment les pools back-end sont structurés pour chaque option de configuration.These sections give insight into how the backend pools are structured for each configuration option.

Configuration du pool back-end par carte réseauConfiguring backend pool by NIC

Le pool back-end est créé dans le cadre de l’opération de l’équilibreur de charge.The backend pool is created as part of the load balancer operation. La propriété de configuration IP de la carte réseau est utilisée pour ajouter des membres de pool back-end.The IP configuration property of the NIC is used to add backend pool members.

Les exemples suivants se concentrent sur les opérations de création et de remplissage du pool back-end afin de mettre en évidence ce workflow et cette relation.The following examples are focused on the create and populate operations for the backend pool to highlight this workflow and relationship.

Notes

Il est important de noter que les pools back-end configurés par le biais de l’interface réseau ne peuvent pas être mis à jour dans le cadre d’une opération sur un pool back-end.It is important to note that backend pools configured via network interface cannot be updated as part of an operation on the backend pool. Tout ajout ou suppression de ressources back-end doivent se produire sur l’interface réseau de la ressource.Any addition or deletion of backend resources must occur on the network interface of the resource.

PowerShellPowerShell

Créez un pool back-end :Create a new backend pool:

$resourceGroup = "myResourceGroup"
$loadBalancerName = "myLoadBalancer"
$backendPoolName = "myBackendPool"

$backendPool = 
New-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $loadBalancerName -BackendAddressPoolName $backendPoolName  

Créez une interface réseau et ajoutez-la au pool back-end :Create a new network interface and add it to the backend pool:

$resourceGroup = "myResourceGroup"
$loadBalancerName = "myLoadBalancer"
$backendPoolName = "myBackendPool"
$nicname = "myNic"
$location = "eastus"
$vnetname = <your-vnet-name>

$vnet = 
Get-AzVirtualNetwork -Name $vnetname -ResourceGroupName $resourceGroup

$nic = 
New-AzNetworkInterface -ResourceGroupName $resourceGroup -Location $location -Name $nicname -LoadBalancerBackendAddressPool $backendPoolName -Subnet $vnet.Subnets[0]

Récupérez les informations du pool back-end pour que l’équilibreur de charge confirme que cette interface réseau est ajoutée au pool back-end :Retrieve the backend pool information for the load balancer to confirm that this network interface is added to the backend pool:

$resourceGroup = "myResourceGroup"
$loadBalancerName = "myLoadBalancer"
$backendPoolName = "myBackendPool"

$lb =
Get-AzLoadBalancer -ResourceGroupName $res
Get-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $loadBalancerName -BackendAddressPoolName $backendPoolName 

Créez une machine virtuelle et attachez l’interface réseau pour la placer dans le pool back-end :Create a new virtual machine and attach the network interface to place it in the backend pool:

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

# Create a virtual machine configuration
$vmname = "myVM1"
$vmsize = "Standard_DS1_v2"
$pubname = "MicrosoftWindowsServer"
$nicname = "myNic"
$off = "WindowsServer"
$sku = "2019-Datacenter"
$resourceGroup = "myResourceGroup"
$location = "eastus"

$nic =
Get-AzNetworkInterface -Name $nicname -ResourceGroupName $resourceGroup

$vmConfig = 
New-AzVMConfig -VMName $vmname -VMSize $vmsize | Set-AzVMOperatingSystem -Windows -ComputerName $vmname -Credential $cred | Set-AzVMSourceImage -PublisherName $pubname -Offer $off -Skus $sku -Version latest | Add-AzVMNetworkInterface -Id $nic.Id
 
# Create a virtual machine using the configuration
$vm1 = New-AzVM -ResourceGroupName $resourceGroup -Zone 1 -Location $location -VM $vmConfig

Interface de ligne de commandeCLI

Créez le pool back-end :Create the backend pool:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool 

Créez une interface réseau et ajoutez-la au pool back-end :Create a new network interface and add it to the backend pool:

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

Récupérez le pool back-end pour confirmer que l’adresse IP a été correctement ajoutée :Retrieve the backend pool to confirm the IP address have been correctly added:

az network lb address-pool show \
--resource-group myResourceGroup \
--lb-name myLb \
--name myBackendPool

Créez une machine virtuelle et attachez l’interface réseau pour la placer dans le pool back-end :Create a new virtual machine and attach the network interface to place it in the backend pool:

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

Modèle Resource ManagerResource Manager Template

Suivez ce modèle Resource Manager de démarrage rapide pour déployer un équilibreur de charge et des machines virtuelles, puis ajouter les machines virtuelles au pool back-end par le biais d’une interface réseau.Follow this quickstart Resource Manager template to deploy a load balancer and virtual machines and add the virtual machines to the backend pool via network interface.

Suivez ce modèle Resource Manager de démarrage rapide pour déployer un équilibreur de charge et des machines virtuelles, puis ajouter les machines virtuelles au pool back-end par le biais d’une adresse IP.Follow this quickstart Resource Manager template to deploy a load balancer and virtual machines and add the virtual machines to the backend pool via IP address.

Configurer le pool back-end par adresse IP et réseau virtuelConfigure backend pool by IP address and virtual network

Dans les scénarios avec des pools de back-ends préremplis, utilisez l’adresse IP et le réseau virtuel.In scenarios with pre-populated backend pools, use IP and virtual network.

La gestion de tous les pools back-end s’effectue directement sur l’objet de pool back-end, comme indiqué dans les exemples ci-dessous.All backend pool management is done directly on the backend pool object as highlighted in the examples below.

PowerShellPowerShell

Créez un pool back-end :Create new backend pool:

$resourceGroup = "myResourceGroup"
$loadBalancerName = "myLoadBalancer"
$backendPoolName = "myBackendPool"
$vnetName = "myVnet"
$location = "eastus"
$nicName = "myNic"

$backendPool = New-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $loadBalancerName -Name $backendPoolName  

Mettez à jour le pool back-end avec une nouvelle adresse IP du réseau virtuel existant :Update backend pool with a new IP from existing virtual network:

$virtualNetwork = 
Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroup 
 
$ip1 = New-AzLoadBalancerBackendAddressConfig -IpAddress "10.0.0.5" -Name "TestVNetRef" -VirtualNetwork $virtualNetwork  
 
$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 :Retrieve the backend pool information for the load balancer to confirm that the backend addresses are added to the backend pool:

Get-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $loadBalancerName -Name $backendPoolName 

Créez une interface réseau et ajoutez-la au pool back-end.Create a network interface and add it to the backend pool. Définissez l’adresse IP sur l’une des adresses back-end :Set the IP address to one of the backend addresses:

$nic = 
New-AzNetworkInterface -ResourceGroupName $resourceGroup -Location $location -Name $nicName -PrivateIpAddress 10.0.0.4 -Subnet $virtualNetwork.Subnets[0]

Créez une machine virtuelle et attachez la carte réseau avec une adresse IP dans le pool back-end :Create a VM and attach the NIC with an IP address in the backend pool:

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

# Create a virtual machine configuration
$vmname = "myVM1"
$vmsize = "Standard_DS1_v2"
$pubname = "MicrosoftWindowsServer"
$nicname = "myNic"
$off = "WindowsServer"
$sku = "2019-Datacenter"
$resourceGroup = "myResourceGroup"
$location = "eastus"

$nic =
Get-AzNetworkInterface -Name $nicname -ResourceGroupName $resourceGroup

$vmConfig = 
New-AzVMConfig -VMName $vmname -VMSize $vmsize | Set-AzVMOperatingSystem -Windows -ComputerName $vmname -Credential $cred | Set-AzVMSourceImage -PublisherName $pubname -Offer $off -Skus $sku -Version latest | Add-AzVMNetworkInterface -Id $nic.Id

# Create a virtual machine using the configuration
$vm1 = New-AzVM -ResourceGroupName $resourceGroup -Zone 1 -Location $location -VM $vmConfig

Interface de ligne de commandeCLI

À 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.Using CLI you can either populate the backend pool via command-line parameters or through a JSON configuration file.

Créez et remplissez le pool back-end par le biais de paramètres de ligne de commande :Create and populate the backend pool via the command-line parameters:

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 :Create and populate the Backend Pool via JSON configuration file:

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 :JSON configuration file:

        [
          {
            "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 :Retrieve the backend pool information for the load balancer to confirm that the backend addresses are added to the backend pool:

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.Create a network interface and add it to the backend pool. Définissez l’adresse IP sur l’une des adresses back-end :Set the IP address to one of the backend addresses:

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 :Create a VM and attach the NIC with an IP address in the backend pool:

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

LimitesLimitations

Un pool de back-ends configuré par adresse IP présente les limites suivantes :A Backend Pool configured by IP address has the following limitations:

  • Peut uniquement être utilisé pour des équilibreurs de charge standardCan only be used for Standard load balancers
  • Limite de 100 adresses IP dans le pool de back-endsLimit of 100 IP addresses in the backend pool
  • Les ressources back-end doivent être dans le même réseau virtuel que celui de l’équilibreur de charge.The backend resources must be in the same virtual network as the load balancer
  • Un équilibreur de charge avec un pool de back-ends basé sur IP ne peut pas fonctionner en tant que service Private LinkA Load Balancer with IP-based Backend Pool cannot function as a Private Link service
  • Cette fonctionnalité n’est actuellement pas prise en charge dans le portail Azure.This feature is not currently supported in the Azure portal
  • Les conteneurs ACI ne sont pas pris en charge par cette fonctionnalitéACI containers are not currently supported by this feature
  • Vous ne pouvez pas placer des équilibreurs de charge ou des services, tels qu’Application Gateway, dans le pool principal de l’équilibreur de chargeLoad balancers or services such as Application Gateway cannot be placed in the backend pool of the load balancer
  • Les règles NAT de trafic entrant ne peuvent pas être spécifiées par adresse IPInbound NAT Rules cannot be specified by IP address

Étapes suivantesNext steps

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.In this article, you learned about Azure Load Balancer backend pool management and how to configure a backend pool by IP address and virtual network.

En savoir plus sur Azure Load Balancer.Learn more about Azure Load Balancer.

Passez en revue l'API REST pour la gestion du pool principal basée sur des adresses IP.Review the REST API for IP based backendpool management.