Didacticiel : Créer et déployer des machines virtuelles hautement disponibles avec Azure PowerShellTutorial: Create and deploy highly available virtual machines with Azure PowerShell

Dans ce tutoriel, vous allez apprendre à augmenter la disponibilité et la fiabilité de vos machines virtuelles à l’aide de groupes à haute disponibilité.In this tutorial, you learn how to increase the availability and reliability of your Virtual Machines (VMs) using Availability Sets. Les groupes à haute disponibilité garantissent que les machines virtuelles que vous déployez sur Azure sont distribuées, sur plusieurs nœuds matériels isolés, dans un cluster.Availability Sets make sure the VMs you deploy on Azure are distributed across multiple, isolated hardware nodes, in a cluster.

Ce tutoriel vous montre comment effectuer les opérations suivantes :In this tutorial, you learn how to:

  • Créer un groupe à haute disponibilitéCreate an availability set
  • Créer une machine virtuelle dans un groupe à haute disponibilitéCreate a VM in an availability set
  • Vérifier les tailles de machines virtuelles disponiblesCheck available VM sizes
  • Vérifier Azure AdvisorCheck Azure Advisor

Vue d’ensemble des groupes à haute disponibilitéAvailability set overview

Un groupe à haute disponibilité est une fonctionnalité de regroupement logique qui permet d’isoler les ressources de machine virtuelle les unes des autres quand elles sont déployées.An Availability Set is a logical grouping capability for isolating VM resources from each other when they're deployed. Azure veille à ce que les machines virtuelles que vous placez dans un groupe à haute disponibilité s’exécutent sur plusieurs serveurs physiques, racks de calcul, unités de stockage et commutateurs réseau.Azure makes sure that the VMs you place within an Availability Set run across multiple physical servers, compute racks, storage units, and network switches. Si une défaillance matérielle ou logicielle se produit, seul un sous-ensemble de vos machines virtuelles est affecté et votre solution globale reste opérationnelle.If a hardware or software failure happens, only a subset of your VMs are impacted and your overall solution stays operational. Les groupes à haute disponibilité sont indispensables pour créer des solutions cloud fiables.Availability Sets are essential for building reliable cloud solutions.

Prenons l’exemple d’une solution basée sur une machine virtuelle classique pour laquelle vous disposez de 4 serveurs web frontaux et de 2 machines virtuelles principales.Let’s consider a typical VM-based solution where you might have four front-end web servers and 2 back-end VMs. Avec Azure, vous pouvez définir deux groupes à haute disponibilité avant de déployer vos machines virtuelles : un pour la couche web et un pour la couche arrière.With Azure, you’d want to define two availability sets before you deploy your VMs: one for the web tier and one for the back tier. Quand vous créez une machine virtuelle, vous spécifiez le groupe à haute disponibilité en tant que paramètre.When you create a new VM, you specify the availability set as a parameter. Azure permet de s’assurer que les machines virtuelles sont isolées sur plusieurs ressources matérielles physiques.Azure makes sure the VMs are isolated across multiple physical hardware resources. Si le matériel physique sur lequel s’exécute un de vos serveurs rencontre un problème, vous savez que les autres instances de vos serveurs continuent de s’exécuter car elles se trouvent sur un matériel différent.If the physical hardware that one of your servers is running on has a problem, you know the other instances of your servers will keep running because they're on different hardware.

Utilisez des groupes à haute disponibilité quand vous souhaitez déployer des solutions fiables basées sur des machines virtuelles dans Azure.Use Availability Sets when you want to deploy reliable VM-based solutions in Azure.

Lancement d’Azure Cloud ShellLaunch Azure Cloud Shell

Azure Cloud Shell est un interpréteur de commandes interactif et gratuit que vous pouvez utiliser pour exécuter les étapes de cet article.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. Il contient des outils Azure courants préinstallés et configurés pour être utilisés avec votre compte.It has common Azure tools preinstalled and configured to use with your account.

Pour ouvrir Cloud Shell, sélectionnez simplement Essayer en haut à droite d’un bloc de code.To open the Cloud Shell, just select Try it from the upper right corner of a code block. Vous pouvez également lancer Cloud Shell dans un onglet distinct du navigateur en accédant à https://shell.azure.com/powershell.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Sélectionnez Copier pour copier les blocs de code, collez-les dans Cloud Shell, puis appuyez sur Entrée pour les exécuter.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Créer un groupe à haute disponibilitéCreate an availability set

Le matériel situé à un emplacement est divisé en plusieurs domaines de mise à jour et d’erreur.The hardware in a location is divided in to multiple update domains and fault domains. Un domaine de mise à jour est un groupe de machines virtuelles et d’équipements physiques sous-jacents pouvant être redémarrés en même temps.An update domain is a group of VMs and underlying physical hardware that can be rebooted at the same time. Les machines virtuelles d’un même domaine d’erreur partagent un espace de stockage commun ainsi qu’une source d’alimentation et un commutateur réseau.VMs in the same fault domain share common storage as well as a common power source and network switch.

Vous pouvez créer un groupe à haute disponibilité avec la commande New-AzAvailabilitySet.You can create an availability set using New-AzAvailabilitySet. Dans cet exemple, le nombre de domaines de mise à jour et d’erreur s’élève à 2 et le groupe à haute disponibilité est nommé myAvailabilitySet.In this example, the number of both update and fault domains is 2 and the availability set is named myAvailabilitySet.

Créez un groupe de ressources.Create a resource group.

New-AzResourceGroup `
   -Name myResourceGroupAvailability `
   -Location EastUS

Créez un groupe à haute disponibilité managé à l’aide de New-AzAvailabilitySet avec le paramètre -sku aligned.Create a managed availability set using New-AzAvailabilitySet with the -sku aligned parameter.

New-AzAvailabilitySet `
   -Location "EastUS" `
   -Name "myAvailabilitySet" `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Sku aligned `
   -PlatformFaultDomainCount 2 `
   -PlatformUpdateDomainCount 2

Créer des machines virtuelles dans un groupe à haute disponibilitéCreate VMs inside an availability set

Vous devez créer des machines virtuelles au sein du groupe à haute disponibilité pour vous assurer qu’elles sont correctement réparties dans le matériel.VMs must be created within the availability set to make sure they're correctly distributed across the hardware. Vous ne pouvez pas ajouter une machine virtuelle existante à un groupe à haute disponibilité après sa création.You can't add an existing VM to an availability set after it's created.

Quand vous créez une machine virtuelle à l’aide de New-AzVM, vous utilisez le paramètre -AvailabilitySetName pour spécifier le nom du groupe à haute disponibilité.When you create a VM with New-AzVM, you use the -AvailabilitySetName parameter to specify the name of the availability set.

Tout d’abord, définissez un nom d’utilisateur administrateur et un mot de passe pour la machine virtuelle avec Get-Credential :First, set an administrator username and password for the VM with Get-Credential:

$cred = Get-Credential

Créez maintenant deux machines virtuelles avec New-AzVM dans le groupe à haute disponibilité.Now create two VMs with New-AzVM in the availability set.

for ($i=1; $i -le 2; $i++)
{
    New-AzVm `
        -ResourceGroupName "myResourceGroupAvailability" `
        -Name "myVM$i" `
        -Location "East US" `
        -VirtualNetworkName "myVnet" `
        -SubnetName "mySubnet" `
        -SecurityGroupName "myNetworkSecurityGroup" `
        -PublicIpAddressName "myPublicIpAddress$i" `
        -AvailabilitySetName "myAvailabilitySet" `
        -Credential $cred
}

La création et la configuration des deux machines virtuelles prennent quelques minutes.It takes a few minutes to create and configure both VMs. Quand vous avez terminé, vous disposez de deux machines virtuelles réparties sur le matériel sous-jacent.When finished, you have two virtual machines distributed across the underlying hardware.

Si vous examinez le groupe à haute disponibilité dans le portail en accédant à Groupes de ressources > myResourceGroupAvailability > myAvailabilitySet, vous devez voir la façon dont les machines virtuelles sont réparties entre les deux domaines d’erreur et de mise à jour.If you look at the availability set in the portal by going to Resource Groups > myResourceGroupAvailability > myAvailabilitySet, you should see how the VMs are distributed across the two fault and update domains.

Groupe à haute disponibilité dans le portail

Vérifier les tailles de machines virtuelles disponiblesCheck for available VM sizes

Vous pouvez ajouter ultérieurement d’autres machines virtuelles au groupe à haute disponibilité, mais vous devez connaître les tailles des machines virtuelles qui sont disponibles sur le matériel.You can add more VMs to the availability set later, but you need to know what VM sizes are available on the hardware. Utilisez Get-AzVMSize pour lister toutes les tailles disponibles sur le cluster matériel pour le groupe à haute disponibilité.Use Get-AzVMSize to list all the available sizes on the hardware cluster for the availability set.

Get-AzVMSize `
   -ResourceGroupName "myResourceGroupAvailability" `
   -AvailabilitySetName "myAvailabilitySet"

Vérifier Azure AdvisorCheck Azure Advisor

Vous pouvez également utiliser Azure Advisor pour obtenir plus d’informations sur les façons d’améliorer la disponibilité de vos machines virtuelles.You can also use Azure Advisor to get more information on how to improve the availability of your VMs. Azure Advisor analyse votre configuration et vos données de télémétrie d’utilisation, puis recommande des solutions qui peuvent vous aider à améliorer la rentabilité, les performances, la disponibilité et la sécurité de vos ressources Azure.Azure Advisor analyzes your configuration and usage telemetry, then recommends solutions that can help you improve the cost effectiveness, performance, availability, and security of your Azure resources.

Connectez-vous au portail Azure, sélectionnez Tous les services et saisissez Advisor.Sign in to the Azure portal, select All services, and type Advisor. Le tableau de bord Advisor propose des recommandations personnalisées pour l’abonnement sélectionné.The Advisor dashboard shows personalized recommendations for the selected subscription. Pour plus d’informations, consultez Bien démarrer avec Azure Advisor.For more information, see Get started with Azure Advisor.

Étapes suivantesNext steps

Dans ce tutoriel, vous avez appris à :In this tutorial, you learned how to:

  • Créer un groupe à haute disponibilitéCreate an availability set
  • Créer une machine virtuelle dans un groupe à haute disponibilitéCreate a VM in an availability set
  • Vérifier les tailles de machines virtuelles disponiblesCheck available VM sizes
  • Vérifier Azure AdvisorCheck Azure Advisor

Passez au didacticiel suivant pour en savoir plus sur les groupes de machines virtuelles identiques.Advance to the next tutorial to learn about virtual machine scale sets.