Démarrage rapide : Créer un équilibreur de charge interne pour équilibrer la charge de machines virtuelles en utilisant Azure CLI

Démarrez avec Azure Load Balancer en utilisant l’interface de ligne de commande Azure pour créer un équilibreur de charge interne et deux machines virtuelles. Les ressources supplémentaires se composent d’Azure Bastion, de NAT Gateway, d’un réseau virtuel et des sous-réseaux nécessaires.

Diagramme des ressources déployées pour l’équilibreur la charge public standard.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

  • Ce guide de démarrage rapide nécessite la version 2.0.28 ou ultérieure de l’interface 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 vos ressources Azure.

Créez un groupe de ressources avec la commande az group create.

    az group create \
      --name CreateIntLBQS-rg \
      --location westus3

Quand vous créez un équilibreur de charge interne, un réseau virtuel est configuré comme réseau pour l’équilibreur de charge.

Créer 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. Le réseau et le sous-réseau virtuels contiennent les ressources déployées plus loin dans cet article.

Créez un réseau virtuel à l’aide de la commande az network vnet create.

  az network vnet create \
    --resource-group CreateIntLBQS-rg \
    --location westus3 \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Créer un hôte Azure Bastion

Dans cet exemple, vous créez un hôte Azure Bastion. L’hôte Azure Bastion est utilisé plus loin dans cet article pour gérer en toute sécurité les machines virtuelles et tester le déploiement 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 Bastion

Utilisez az network public-ip create pour créer une IP publique pour l’hôte Azure Bastion.

az network public-ip create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionIP \
    --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.

az network vnet subnet create \
    --resource-group CreateIntLBQS-rg  \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Créer l’hôte bastion

Utilisez az network bastion create pour créer un hôte.

az network bastion create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location westus3

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

Créer l’équilibreur de charge

Cette section explique en détail comment vous pouvez 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

  • Une sonde d’intégrité qui détermine l’intégrité des instances de machine virtuelle principales

  • 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 interne avec la commande az network lb create.

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackEndPool \
    --frontend-ip-name myFrontEnd

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 la sonde d’intégrité avec la commande az network lb probe create.

  az network lb probe create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

Créer une 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

Utilisez az network lb rule create pour créer une règle d’équilibrage de charge.

  az network lb rule create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --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.

Pour créer un groupe de sécurité réseau, utilisez la commande az network nsg create.

  az network nsg create \
    --resource-group CreateIntLBQS-rg \
    --name myNSG

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

Pour créer une règle de groupe de sécurité réseau, utilisez la commande az network nsg rule create.

  az network nsg rule create \
    --resource-group CreateIntLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

Créer des serveurs principaux

Dans cette section, vous allez créer :

  • Deux interfaces réseau pour les machines virtuelles

  • Deux machines virtuelles à utiliser en tant que serveurs pour l’équilibreur de charge

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

Créez deux interfaces réseau avec la commande az network nic create.

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreateIntLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

Créer les machines virtuelles

Créez les machines virtuelles avec la commande az vm create.

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone $n \
    --no-wait
  done

Le déploiement des machines virtuelles peut prendre quelques minutes.

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 affectée au sous-réseau de la machine virtuelle.

Les machines virtuelles que vous avez créées, au moyen de groupes de machines virtuelles identiques 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

Ajoutez les machines virtuelles au pool de back-ends avec la commande az network nic ip-config address-pool add.

  array=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-rg \
   --lb-name myLoadBalancer
  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 CreateIntLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

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 CreateIntLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --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 CreateIntLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

Créer une machine virtuelle de test

Créez l’interface réseau avec la commande az network nic create.

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

Créez la machine virtuelle avec la commande az vm create.

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

Le déploiement de la machine virtuelle peut prendre quelques minutes.

Installer IIS

Utilisez az vm extension set pour installer IIS sur les machines virtuelles principales et définir le nom de l’ordinateur comme site web par défaut.

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreateIntLBQS-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

  1. Connectez-vous au portail Azure.

  2. Sur la page Vue d’ensemble, recherchez l’adresse IP privée de l’équilibreur de charge. Dans le menu de gauche, sélectionnez Tous les services>Toutes les ressources>myLoadBalancer.

  3. Dans la vue d’ensemble de myLoadBalancer, copiez l’adresse à côté d’Adresse IP privée. Si l'adresse IP privée n’est pas visible, sélectionnez Voir plus.

  4. Dans le menu de gauche, sélectionnez Tous les services>Toutes les ressources. Dans la liste des ressources, dans le groupe de ressources CreateIntLBQS-rg, sélectionnez myTestVM.

  5. Sur la page Vue d’ensemble, sélectionnez Se connecter>Bastion.

  6. Entrez le nom d’utilisateur et le mot de passe que vous avez saisis lors de la création de la machine virtuelle.

  7. Sur myTestVM, ouvrez Internet Explorer.

  8. Entrez l’adresse IP de l’étape précédente dans la barre d’adresse du navigateur. La page par défaut du serveur web IIS s’affiche sur le navigateur.

    Capture d’écran de l’adresse IP dans la barre d’adresse du navigateur.

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 CreateIntLBQS-rg

Étapes suivantes

Dans ce guide de démarrage rapide :

  • Vous avez créé un équilibreur de charge interne

  • Joint deux machines virtuelles

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

  • Testé l’équilibreur de charge

Pour en savoir plus sur Azure Load Balancer, consultez :