Démarrage rapide : Créer un équilibreur de charge public pour équilibrer la charge des machines virtuelles à l’aide de Azure CLI

Commencez à utiliser Azure Load Balancer à l’aide de Azure CLI pour créer un équilibreur de charge public et deux machines virtuelles. En plus de ces ressources, vous déployez Azure Bastion, NAT Gateway, un réseau virtuel et les sous-réseaux nécessaires.

Diagramme des ressources déployées pour un équilibreur de charge public standard.

Si vous ne disposez pas d’un compte Azure, créez-en un gratuitement avant de commencer.

Prérequis

  • Ce guide de démarrage rapide nécessite la version 2.0.28 ou ultérieure de Azure CLI. Si vous utilisez Azure Cloud Shell, sachez que la version la plus récente est déjà installée.

Créer un groupe de ressources

Un groupe de ressources Azure est un conteneur logique dans lequel vous déployez et gérez des ressources Azure.

Créez un groupe de ressources à l’aide d’az group create :

  az group create \
    --name load-balancer-cli-rg \
    --location eastus

Créez un réseau virtuel

Avant de déployer des machines virtuelles et de tester votre équilibreur de charge, créez le réseau virtuel et le sous-réseau associés.

Créez un réseau virtuel à l’aide de la commande az network vnet create. Le réseau et le sous-réseau virtuels contiennent les ressources déployées plus loin dans cet article.

  az network vnet create \
    --resource-group load-balancer-cli-rg \
    --location eastus \
    --name lb-vnet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name backend-subnet \
    --subnet-prefixes 10.1.0.0/24

Créer une adresse IP publique

Pour accéder à votre application web sur Internet, vous avez besoin d’une adresse IP publique pour l’équilibreur de charge.

Utilisez az network public-ip create pour créer l’IP publique pour le front-end de l’équilibreur de charge.

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name lb-frontend-ip \
    --sku Standard \
    --zone 1 2 3

Pour créer une adresse IP publique zonale dans la zone 1, utilisez la commande suivante :

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name lb-frontend-ip \
    --sku Standard \
    --zone 1

Créer un équilibrage de charge

Cette section explique comment créer et configurer les composants suivants de l’équilibreur de charge :

  • Un pool d’adresses IP frontal qui reçoit le trafic réseau entrant sur l’équilibreur de charge

  • Un pool d’adresses IP principal auquel le pool frontal envoie le trafic réseau dont la charge est équilibrée

  • Sonde d’intégrité qui détermine l’intégrité des instances de machine virtuelle principale

  • Une règle d’équilibreur de charge qui définit la distribution du trafic aux machines virtuelles

Créer la ressource d’équilibreur de charge

Créez un équilibreur de charge public avec la commande az network lb create :

  az network lb create \
    --resource-group load-balancer-cli-rg \
    --name load-balancer \
    --sku Standard \
    --public-ip-address lb-frontend-ip \
    --frontend-ip-name lb-frontend \
    --backend-pool-name lb-backend-pool

Si vous créez une adresse IP publique zonale, spécifiez la zone lors de la création de l’équilibreur de charge public.

  az network lb create \
    --resource-group load-balancer-cli-rg \
    --name load-balancer \
    --sku Standard \
    --public-ip-address lb-frontend-ip \
    --frontend-ip-name lb-frontend \
    --public-ip-zone 1 \
    --backend-pool-name lb-backend-pool

Créer la sonde d’intégrité

Une sonde d’intégrité vérifie toutes les instances de machine virtuelle pour s’assurer qu’elles peuvent transmettre du trafic réseau.

Une machine virtuelle dont le contrôle de sonde a échoué est supprimée de l’équilibreur de charge. La machine virtuelle est rajoutée à l’équilibreur de charge une fois l’échec résolu.

Créez une sonde de santé en utilisant la commande az network lb probe create :

  az network lb probe create \
    --resource-group load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-health-probe \
    --protocol tcp \
    --port 80

Créer la règle d’équilibreur de charge

Une règle d’équilibreur de charge définit les éléments suivants :

  • La configuration IP frontale pour le trafic entrant

  • Le pool d’adresses IP principal qui reçoit le trafic

  • Les ports source et de destination requis

Créez une règle d’équilibreur de charge avec la commande az network lb rule create :

  az network lb rule create \
    --resource-group load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-HTTP-rule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name lb-frontend \
    --backend-pool-name lb-backend-pool \
    --probe-name lb-health-probe \
    --disable-outbound-snat true \
    --idle-timeout 15 \
    --enable-tcp-reset true

Créer un groupe de sécurité réseau

Pour un équilibreur de charge standard, les machines virtuelles du pool principal doivent disposer d’interfaces réseau appartenant à un groupe de sécurité réseau.

Utilisez la commande az network nsg create pour créer le groupe de sécurité réseau :

  az network nsg create \
    --resource-group load-balancer-cli-rg \
    --name lb-nsg

Créer une règle de groupe de sécurité réseau

Créez une règle de groupe de sécurité réseau à l’aide d’az network nsg rule create.

  az network nsg rule create \
    --resource-group load-balancer-cli-rg \
    --nsg-name lb-nsg \
    --name lb-nsg-rule \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

Créer un hôte bastion

Dans cette section, vous créez les ressources pour Azure Bastion. Utilisez Azure Bastion pour gérer en toute sécurité les machines virtuelles dans le pool principal de l’équilibreur de charge.

Important

Le tarif horaire commence à partir du moment où Bastion est déployé, quelle que soit l’utilisation des données sortantes. Pour plus d’informations, consultez Tarifications et Références SKU. Si vous déployez Bastion dans le cadre d’un tutoriel ou d’un test, nous vous recommandons de supprimer cette ressource après l’avoir utilisée.

Créer une adresse IP publique

Utilisez az network public-ip create pour créer une adresse IP publique pour l’hôte bastion. L’hôte bastion utilise l’adresse IP publique pour sécuriser l’accès aux ressources de la machine virtuelle.

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name lb-vnet-bastion-ip \
    --sku Standard \
    --zone 1 2 3

Créer un sous-réseau bastion

Utilisez az network vnet subnet create pour créer un sous-réseau bastion. L’hôte bastion utilise le sous-réseau bastion pour accéder au réseau virtuel.

  az network vnet subnet create \
    --resource-group load-balancer-cli-rg \
    --name AzureBastionSubnet \
    --vnet-name lb-vnet \
    --address-prefixes 10.1.1.0/27

Créer un hôte bastion

Utilisez az network bastion create pour créer un hôte bastion. L’hôte bastion se connecte en toute sécurité aux ressources de machine virtuelle que vous créez plus loin dans cet article.

  az network bastion create \
    --resource-group load-balancer-cli-rg \
    --name lb-vnet-bastion \
    --public-ip-address lb-vnet-bastion-ip \
    --vnet-name lb-vnet \
    --sku Basic \
    --location eastus

Le déploiement de l’hôte Azure Bastion peut prendre quelques minutes.

Créer des serveurs principaux

Dans cette section, vous allez créer :

  • Deux interfaces réseau pour les machines virtuelles

  • Deux machines virtuelles à utiliser comme serveurs principaux pour l’équilibreur de charge

Créer des interfaces réseau pour les machines virtuelles

Créez deux interfaces réseau à l’aide d’az network nic create :

  array=(lb-VM1-nic lb-VM2-nic)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group load-balancer-cli-rg \
        --name $vmnic \
        --vnet-name lb-vnet \
        --subnet backend-subnet \
        --network-security-group lb-nsg
  done

Créer des machines virtuelles

Créez les machines virtuelles à l’aide d’az vm create :

  az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-VM1 \
    --nics lb-VM1-nic \
    --image Win2022AzureEditionCore \
    --size Standard_D2s_v3 \
    --admin-username azureuser \
    --zone 1 \
    --no-wait
  az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-VM2 \
    --nics lb-VM2-nic \
    --image Win2022AzureEditionCore \
    --size Standard_D2s_v3 \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

Le déploiement des machines virtuelles peut prendre quelques minutes. Vous pouvez passer aux étapes suivantes pendant que la création de la machine virtuelle est en cours.

Remarque

Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un équilibreur de charge Azure de base interne. Le mécanisme d’adresse IP d’accès sortant par défaut fournit une adresse IP sortante qui n’est pas configurable.

L’adresse IP de l’accès sortant par défaut est désactivée quand l’un des événements suivants se produit :

  • Une adresse IP publique est affectée à la machine virtuelle.
  • La machine virtuelle est placée dans le pool principal d’un équilibreur de charge standard, avec ou sans règles de trafic sortant.
  • Une ressource Azure NAT Gateway est attribuée au sous-réseau de la machine virtuelle.

Les machines virtuelles que vous créez en utilisant des ensembles de machines virtuelles en mode d’orchestration flexible n’ont pas d’accès sortant par défaut.

Pour plus d’informations sur les connexions sortantes dans Azure, consultez Accès sortant par défaut dans Azure et Utiliser SNAT (Source Network Address Translation) pour les connexions sortantes.

Ajouter des machines virtuelles au pool de back-ends de l’équilibreur de charge

Ajoutez les machines virtuelles au pool principal à l’aide d’az network nic ip-config address-pool add :

  array=(lb-VM1-nic lb-VM2-nic)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool lb-backend-pool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group load-balancer-cli-rg \
     --lb-name load-balancer
  done

Créer une passerelle NAT

Pour fournir un accès Internet sortant aux ressources du pool principal, créez une passerelle NAT.

Créer une adresse IP publique

Utilisez la commande az network public-ip create pour créer une adresse IP unique pour la connectivité sortante.

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --sku Standard \
    --zone 1 2 3

Pour créer une adresse IP publique zonale dans la zone 1, utilisez la commande suivante :

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --sku Standard \
    --zone 1

Créer une ressource de passerelle NAT

Utilisez az network nat gateway create pour créer la ressource de passerelle NAT. L’adresse IP publique créée à l’étape précédente est associée à la passerelle NAT.

  az network nat gateway create \
    --resource-group load-balancer-cli-rg \
    --name lb-nat-gateway \
    --public-ip-addresses nat-gw-public-ip \
    --idle-timeout 10

Associer une passerelle NAT au sous-réseau

Configurez le sous-réseau source dans le réseau virtuel pour utiliser une ressource de passerelle NAT spécifique avec la commande az network vnet subnet update.

  az network vnet subnet update \
    --resource-group load-balancer-cli-rg \
    --vnet-name lb-vnet \
    --name backend-subnet \
    --nat-gateway lb-nat-gateway

Installer IIS

Utilisez AZ VM Extension Set pour installer IIS sur les machines virtuelles et définir le nom de l’ordinateur comme site web par défaut.

  array=(lb-VM1 lb-VM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group load-balancer-cli-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

Tester l’équilibreur de charge

Pour obtenir l’adresse IP publique de l’équilibreur de charge, utilisez la commande az network public-ip show.

Copiez l’adresse IP publique, puis collez-la dans la barre d’adresses de votre navigateur.

  az network public-ip show \
    --resource-group load-balancer-cli-rg \
    --name lb-frontend-ip \
    --query ipAddress \
    --output tsv

Capture d’écran de la fenêtre du navigateur affichant la page de test de l’équilibreur de charge.

Nettoyer les ressources

Lorsque vous n’avez plus besoin des ressources, utilisez la commande az group delete pour supprimer le groupe de ressources, l’équilibreur de charge et toutes les ressources associées.

  az group delete \
    --name load-balancer-cli-rg

Étapes suivantes

Dans ce guide de démarrage rapide :

  • Vous avez créé un équilibreur de charge public standard.

  • Vous avez attaché deux machines virtuelles.

  • Vous avez configuré la règle de trafic et la sonde d’intégrité de l’équilibreur de charge.

  • Vous avez testé l’équilibreur de charge.

Pour en savoir plus sur Azure Load Balancer, consultez :