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

Commencez avec Azure Load Balancer en utilisant le Azure CLI pour créer un équilibreur de charge public et trois machines virtuelles.

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

Prérequis

  • Utilisez l’environnement Bash dans Azure Cloud Shell.

    Lancer Cloud Shell dans une nouvelle fenêtre

  • Si vous préférez, installez l’interface Azure CLI pour exécuter les commandes de référence de l’interface de ligne de commande.

    • Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.

    • Lorsque vous y êtes invité, installez les extensions Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.

    • Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.

  • 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, 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 les ressources Azure sont déployées et gérées.

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

  • Nommé CreatePubLBQS-rg.
  • Dans l’emplacement eastus.
  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

Notes

Il est recommandé de disposer d’un équilibreur de charge de référence SKU Standard pour les charges de travail de production. Pour plus d’informations sur les références SKU, consultez Références SKU Azure Load Balancer .

Ressources Standard Load Balancer créées pour le guide de démarrage rapide.

Configurer le réseau virtuel - Standard

Avant de déployer des machines virtuelles et de tester votre équilibreur de charge, créez les ressources de réseau virtuel associées.

Créez un réseau virtuel

Créez un réseau virtuel avec la commande az network vnet create :

  • Nommé myVNet.
  • Préfixe d’adresse 10.1.0.0/16.
  • Sous-réseau nommé myBackendSubnet.
  • Préfixe du sous-réseau 10.1.0.0/24.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Emplacement eastus.
  az network vnet create \
    --resource-group CreatePubLBQS-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Créer une adresse IP publique

Utilisez az network public-ip create pour créer une adresse IP publique pour l’hôte bastion :

  • Créez une adresse IP publique redondante de zone standard nommée myBastionIP.
  • Dans CreatePubLBQS.rg.
az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionIP \
    --sku Standard

Créer un sous-réseau bastion

Utilisez az network vnet subnet create pour créer un sous-réseau bastion :

  • Nommé AzureBastionSubnet.
  • Préfixe d’adresse 10.1.1.0/24.
  • Dans le réseau virtuel myVNet.
  • Dans le groupe de ressources CreatePubLBQS-rg.
az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/24

Créer un hôte bastion

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

  • Nom : myBastionHost
  • Dans CreatePubLBQS.rg.
  • Associé à l’adresse IP publique myBastionIP.
  • Associé au réseau virtuel myVNet.
  • À l’emplacement eastus.
az network bastion create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

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

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

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

Créez un Groupe de sécurité réseau avec la commande az network nsg create :

  • Nommé myNSG.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  az network nsg create \
    --resource-group CreatePubLBQS-rg \
    --name myNSG

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

Créez une règle de groupe de sécurité réseau avec la commande az network nsg rule create :

  • Nommé myNSGRuleHTTP.
  • Dans le groupe de sécurité réseau que vous avez créé à l’étape précédente, myNSG.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Protocole (*) .
  • Direction entrante.
  • Source (*) .
  • Destination (*) .
  • Port de destination Port 80.
  • Accès Autoriser.
  • Priorité 200.
  az network nsg rule create \
    --resource-group CreatePubLBQS-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 back-end - Standard

Dans cette section, vous allez créer :

  • Trois interfaces réseau pour les machines virtuelles.
  • Trois machines virtuelles à utiliser en tant que serveurs principaux pour l’équilibreur de charge.

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

Créez les interfaces réseau avec la commande az network nic create :

  • Nommées myNicVM1, myNicVM2 et myNicVM3.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Dans le réseau virtuel myVNet.
  • Dans le sous-réseau myBackendSubnet.
  • Dans le groupe de sécurité réseau myNSG.
  array=(myNicVM1 myNicVM2 myNicVM3)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreatePubLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

Créer des machines virtuelles

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

MV1

  • Nommée myVM1.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Attachée à l’interface réseau myNicVM1.
  • Image de machine virtuelle win2019datacenter.
  • Dans Zone 1.
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM1 \
    --nics myNicVM1 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 1 \
    --no-wait

MV2

  • Nommée myVM2.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Attachée à l’interface réseau myNicVM2.
  • Image de machine virtuelle win2019datacenter.
  • Dans Zone 2.
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM2 \
    --nics myNicVM2 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

MV3

  • Nommée myVM3.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Attachée à l’interface réseau myNicVM3.
  • Image de machine virtuelle win2019datacenter.
  • Dans Zone 3.
   az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM3 \
    --nics myNicVM3 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 3 \
    --no-wait

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

Notes

Azure fournit une adresse IP d’accès sortant par défaut pour les machines virtuelles Azure qui n’ont pas d’adresse IP publique ou qui se trouvent dans le pool de back-ends d’un Azure Load Balancer 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.

Pour plus d’informations sur l’accès sortant par défaut, consultez Accès sortant par défaut dans Azure

L’adresse IP d’accès sortant par défaut est désactivée quand une adresse IP publique est affectée à la machine virtuelle, ou quand la machine virtuelle est placée dans le pool de back-ends d’un équilibreur de charge standard avec ou sans règles de trafic sortant. Si une ressource de passerelle NAT de réseau virtuel Azure est affectée au sous-réseau de la machine virtuelle, l’adresse IP d’accès sortant par défaut est désactivée.

Les machines virtuelles créées par des 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 Utilisation de SNAT (Source Network Address Translation) pour les connexions sortantes.

Créer une adresse IP publique - Standard

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

Utilisez la commande az network public-ip create pour effectuer les opérations suivantes :

  • Créer une adresse IP publique redondante dans une zone standard nommée myPublicIP.
  • Dans CreatePubLBQS.rg.
  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard

Pour créer une adresse IP publique zonale dans la zone 1 :

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1

Créer un équilibreur de charge standard

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 backend.
  • 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 :

  • Nommé myLoadBalancer.
  • Un pool frontal nommé myFrontEnd.
  • Un pool principal nommé myBackEndPool.
  • Associé à l’adresse IP publique myPublicIP que vous avez créé à l’étape précédente.
  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool       

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

  • Analyse l’intégrité des machines virtuelles.
  • Nommée myHealthProbe. .
  • Protocole TCP.
  • Surveillant le Port 80.
  az network lb probe create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --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 :

  • Nommée myHTTPRule.
  • Écoutant le Port 80 dans le pool frontal myFrontEnd.
  • Envoyant le trafic réseau dont la charge est équilibrée au pool d’adresses principal myBackEndPool à l’aide du Port 80.
  • Utilisant la sonde d’intégrité myHealthProbe.
  • Protocole TCP.
  • Délai d’inactivité de 15 minutes.
  • Activez la réinitialisation TCP.
  az network lb rule create \
    --resource-group CreatePubLBQS-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 \
    --disable-outbound-snat true \
    --idle-timeout 15 \
    --enable-tcp-reset true

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

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

  • Dans le pool d’adresses de back-end myBackEndPool.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associée à l’équilibreur de charge myLoadBalancer.
  array=(myNicVM1 myNicVM2 myNicVM3)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

Créer une configuration de règle de trafic sortant

Les règles de trafic sortant de l’équilibreur de charge configurent la SNAT sortante pour les machines virtuelles dans le pool principal.

Pour plus d’informations sur les connexions sortantes, consultez Connexions sortantes dans Azure.

Vous pouvez utiliser un préfixe ou une adresse IP publique pour la configuration sortante.

Adresse IP publique

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

  • Nommée myPublicIPOutbound.
  • Dans CreatePubLBQS.rg.
  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPOutbound \
    --sku Standard

Pour créer une adresse IP publique redondante zonale dans la Zone 1, procédez comme suit :

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPOutbound \
    --sku Standard \
    --zone 1

Préfixe d’adresse IP publique

Utilisez la commande az network public-ip prefix create pour créer un préfixe d’adresse IP publique pour la connectivité sortante.

  • Nommé myPublicIPPrefixOutbound.
  • Dans CreatePubLBQS.rg.
  • Longueur de préfixe de 28.
  az network public-ip prefix create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPPrefixOutbound \
    --length 28

Pour créer un préfixe d’adresse IP publique redondante zonale dans la Zone 1 :

  az network public-ip prefix create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIPPrefixOutbound \
    --length 28 \
    --zone 1

Pour plus d’informations sur la mise à l’échelle d’une traduction d’adresses réseau (NAT) sortante et d’une connectivité sortante, consultez Mettre à l’échelle un NAT sortante avec plusieurs adresses IP.

Créer une configuration d’adresse IP frontale sortante

Créez une configuration d’adresse IP frontale avec la commande az network lb frontend-ip create :

Sélectionnez les commandes d’adresse IP publique ou de préfixe d’adresse IP publique en fonction de la décision prise à l’étape précédente.

Adresse IP publique

  • Nommée myFrontEndOutbound.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associé à une adresse IP publique myPublicIPOutbound.
  • Associée avec l’équilibreur de charge myLoadBalancer.
  az network lb frontend-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myFrontEndOutbound \
    --lb-name myLoadBalancer \
    --public-ip-address myPublicIPOutbound 

Préfixe d’adresse IP publique

  • Nommée myFrontEndOutbound.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associée avec le préfixe d’adresse IP publique myPublicIPPrefixOutbound.
  • Associée avec l’équilibreur de charge myLoadBalancer.
  az network lb frontend-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myFrontEndOutbound \
    --lb-name myLoadBalancer \
    --public-ip-prefix myPublicIPPrefixOutbound 

Créer un pool sortant

Créez un pool sortant avec la commande az network lb address-pool create :

  • Nommé myBackendPoolOutbound.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associée avec l’équilibreur de charge myLoadBalancer.
  az network lb address-pool create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myBackendPoolOutbound

Créer une règle de trafic sortant

Créez une règle de trafic sortant pour le pool principal sortant avec la commande az network lb outbound-rule create :

  • Nommée myOutboundRule.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associée à l’équilibreur de charge myLoadBalancer.
  • Associée au serveur frontal myFrontEndOutbound.
  • Protocole Tous.
  • Délai d’inactivité de 15.
  • 10000 ports sortants.
  • Associée au pool principal myBackEndPoolOutbound.
  az network lb outbound-rule create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myOutboundRule \
    --frontend-ip-configs myFrontEndOutbound \
    --protocol All \
    --idle-timeout 15 \
    --outbound-ports 10000 \
    --address-pool myBackEndPoolOutbound

Ajouter des machines virtuelles à un pool sortant

Ajoutez les machines virtuelles au pool sortant avec la commande az network nic ip-config address-pool add :

  • Dans le pool d’adresses principal myBackEndPoolOutbound.
  • Dans le groupe de ressources CreatePubLBQS-rg.
  • Associée à l’équilibreur de charge myLoadBalancer.
  array=(myNicVM1 myNicVM2 myNicVM3)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPoolOutbound \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

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

Tester l’équilibreur de charge

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, 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 CreatePubLBQS-rg

Étapes suivantes

Dans ce guide de démarrage rapide

  • Vous avez créé un équilibreur de charge standard ou public
  • Attaché des 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 :