Aperçu : Déployez des machines virtuelles sur des hôtes dédiés à l’aide d’Azure PowerShellPreview: Deploy VMs to dedicated hosts using the Azure PowerShell

Cet article vous guide dans la création d’un hôte dédié Azure pour héberger vos machines virtuelles.This article guides you through how to create an Azure dedicated host to host your virtual machines (VMs).

Assurez-vous que vous avez installé Azure PowerShell version 2.4.2 ou ultérieure, et que vous êtes connecté à un compte Azure avec Connect-AzAccount.Make sure that you have installed Azure PowerShell version 2.4.2 or later, and you are signed in to an Azure account in with Connect-AzAccount. Pour installer la version 2.4.2, ouvrez une invite de commandes PowerShell et tapez :To install version 2.4.2, open a PowerShell prompt and type:

Install-Module -Name Az.Compute -Repository PSGallery -RequiredVersion 2.4.2-preview -AllowPrerelease

Vous aurez besoin de la version 1.6.0 du module PowerShellGet au minimum pour activer la fonctionnalité d’aperçu du module dans PowerShell.You will need at least version 1.6.0 of the PowerShellGet module to enable preview module functionality in PowerShell. Cette fonctionnalité est automatiquement intégrée dans les versions les plus récentes de PowerShell Core, mais pour les anciennes versions de PowerShell, vous pouvez exécuter la commande suivante pour mettre l’outil à jour vers la dernière version :The latest versions of PowerShell Core have this automatically built in, but for older versions of PowerShell, you can run the following command to update to the latest version:

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Important

Les hôtes dédiés Azure sont actuellement en préversion publique.Azure Dedicated Hosts is currently in public preview. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production.This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certaines fonctionnalités peuvent être limitées ou non prises en charge.Certain features might not be supported or might have constrained capabilities. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Limitations connues de la préversionKnown preview limitations

  • Actuellement, les hôtes dédiés ne prennent pas en charge les groupes de machines virtuelles identiques.Virtual machine scale sets are not currently supported on dedicated hosts.
  • La préversion initiale prend en charge les séries de machines virtuelles suivantes : DSv3 et ESv3.The preview initial release supports the following VM series: DSv3 and ESv3.

Créer un groupe hôteCreate a host group

Un groupe hôte est une ressource qui représente une collection d’hôtes dédiés.A host group is a resource that represents a collection of dedicated hosts. Vous créez un groupe hôte dans une région et une zone de disponibilité, et lui ajoutez des hôtes.You create a host group in a region and an availability zone, and add hosts to it. Lors de la planification de la haute disponibilité, vous pouvez accéder à des options supplémentaires.When planning for high availability, there are additional options. Vous pouvez utiliser l’une des options suivantes, ou les deux, avec vos hôtes dédiés :You can use one or both of the following options with your dedicated hosts:

  • Application sur plusieurs zones de disponibilité.Span across multiple availability zones. Dans ce cas, vous devez disposer d’un groupe hôte dans chacune des zones que vous souhaitez utiliser.In this case, you are required to have a host group in each of the zones you wish to use.
  • Application sur plusieurs domaines d’erreur mappés à des racks physiques.Span across multiple fault domains which are mapped to physical racks.

Dans les deux cas, vous devez fournir le nombre de domaines d’erreur pour votre groupe hôte.In either case, you are need to provide the fault domain count for your host group. Si vous ne souhaitez pas appliquer plusieurs domaines d’erreur dans votre groupe, utilisez un seul domaine d’erreur.If you do not want to span fault domains in your group, use a fault domain count of 1.

Vous pouvez également choisir d’utiliser des zones de disponibilité et des domaines d’erreur.You can also decide to use both availability zones and fault domains. Cet exemple crée un groupe hôte dans la zone 1, avec 2 domaines d’erreur.This example creates a host group in zone 1, with 2 fault domains.

$rgName = "myDHResourceGroup"
$location = "East US"

New-AzResourceGroup -Location $location -Name $rgName
$hostGroup = New-AzHostGroup `
   -Location $location `
   -Name myHostGroup `
   -PlatformFaultDomain 2 `
   -ResourceGroupName $rgName `
   -Zone 1

Créer un hôteCreate a host

À présent, créons un hôte dédié dans le groupe hôte.Now let's create a dedicated host in the host group. En plus d’un nom pour l’hôte, vous devez fournir la référence SKU pour l’hôte.In addition to a name for the host, you are required to provide the SKU for the host. La référence SKU de l’hôte capture la série de machines virtuelles prises en charge, ainsi que la génération du matériel pour l’hôte dédié.Host SKU captures the supported VM series as well as the hardware generation for your dedicated host. Lors de la préversion, nous allons prendre en charge les valeurs de SKU d’hôte suivantes : DSv3_Type1 et ESv3_Type1.During the preview, we will support the following host SKU values: DSv3_Type1 and ESv3_Type1.

Pour en savoir plus sur les références SKU et la tarification des hôtes, consultez la section relative à la tarification des hôtes dédiés Azure.For more information about the host SKUs and pricing, see Azure Dedicated Host pricing.

Si vous définissez un nombre de domaines d’erreur pour votre groupe hôte, vous êtes invité à spécifier le domaine d’erreur de votre hôte.If you set a fault domain count for your host group, you will be asked to specify the fault domain for your host. Dans cet exemple, nous définissons le domaine d’erreur de l’hôte sur 1.In this example, we set the fault domain for the host to 1.

$dHost = New-AzHost `
   -HostGroupName $hostGroup.Name `
   -Location $location -Name myHost `
   -ResourceGroupName $rgName `
   -Sku DSv3-Type1 `
   -AutoReplaceOnFailure 1 `
   -PlatformFaultDomain 1

Créer une machine virtuelleCreate a VM

Créez une machine virtuelle sur l’hôte dédié.Create a virtual machine on the dedicated host.

Si vous avez spécifié une zone de disponibilité lors de la création de votre groupe hôte, vous devez utiliser la même zone quand vous créez la machine virtuelle.If you specified an availability zone when creating your host group, you are required to use the same zone when creating the virtual machine. Pour cet exemple, étant donné que notre groupe hôte se trouve dans la zone 1, nous devons créer la machine virtuelle dans la zone 1.For this example, because our host group is in zone 1, we need to create the VM in zone 1.

$cred = Get-Credential
New-AzVM `
   -Credential $cred `
   -ResourceGroupName $rgName `
   -Location $location `
   -Name myVM `
   -HostId $dhost.Id `
   -Image Win2016Datacenter `
   -Zone 1 `
   -Size Standard_D4s_v3

Avertissement

Toute machine virtuelle créée sur un hôte qui ne dispose pas d’un nombre de ressources suffisant présente un état ÉCHEC.If you create a virtual machine on a host which does not have enough resources, the virtual machine will be created in a FAILED state.

Vérifier l’état de l’hôteCheck the status of the host

Vous pouvez vérifier l’état d’intégrité de l’hôte et le nombre de machines virtuelles que vous pouvez encore déployer sur l’hôte à l’aide de la commande GetAzHost, avec le paramètre -InstanceView.You can check the host health status and how many virtual machines you can still deploy to the host using GetAzHost with the -InstanceView parameter.

Get-AzHost `
   -ResourceGroupName $rgName `
   -Name myHost `
   -HostGroupName $hostGroup.Name `
   -InstanceView

Le résultat ressemble à ce qui suit :The output will look similar to this:

ResourceGroupName      : myDHResourceGroup
PlatformFaultDomain    : 1
AutoReplaceOnFailure   : True
HostId                 : 12345678-1234-1234-abcd-abc123456789
ProvisioningTime       : 7/28/2019 5:31:01 PM
ProvisioningState      : Succeeded
InstanceView           : 
  AssetId              : abc45678-abcd-1234-abcd-123456789abc
  AvailableCapacity    : 
    AllocatableVMs[0]  : 
      VmSize           : Standard_D2s_v3
      Count            : 32
    AllocatableVMs[1]  : 
      VmSize           : Standard_D4s_v3
      Count            : 16
    AllocatableVMs[2]  : 
      VmSize           : Standard_D8s_v3
      Count            : 8
    AllocatableVMs[3]  : 
      VmSize           : Standard_D16s_v3
      Count            : 4
    AllocatableVMs[4]  : 
      VmSize           : Standard_D32-8s_v3
      Count            : 2
    AllocatableVMs[5]  : 
      VmSize           : Standard_D32-16s_v3
      Count            : 2
    AllocatableVMs[6]  : 
      VmSize           : Standard_D32s_v3
      Count            : 2
    AllocatableVMs[7]  : 
      VmSize           : Standard_D64-16s_v3
      Count            : 1
    AllocatableVMs[8]  : 
      VmSize           : Standard_D64-32s_v3
      Count            : 1
    AllocatableVMs[9]  : 
      VmSize           : Standard_D64s_v3
      Count            : 1
  Statuses[0]          : 
    Code               : ProvisioningState/succeeded
    Level              : Info
    DisplayStatus      : Provisioning succeeded
    Time               : 7/28/2019 5:31:01 PM
  Statuses[1]          : 
    Code               : HealthState/available
    Level              : Info
    DisplayStatus      : Host available
Sku                    : 
  Name                 : DSv3-Type1
Id                     : /subscriptions/10101010-1010-1010-1010-101010101010/re
sourceGroups/myDHResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts
/myHost
Name                   : myHost
Location               : eastus
Tags                   : {}

NettoyerClean up

Vous êtes facturé pour vos hôtes dédiés, même si aucune machine virtuelle n’est déployée.You are being charged for your dedicated hosts even when no virtual machines are deployed. Supprimez tous les hôtes non utilisés pour réduire les coûts.You should delete any hosts you are currently not using to save costs.

Vous pouvez supprimer un hôte uniquement lorsqu’il n’est plus utilisé par aucune machine virtuelle.You can only delete a host when there are no any longer virtual machines using it. Supprimez les machines virtuelles avec la commande Remove-AzVM.Delete the VMs using Remove-AzVM.

Remove-AzVM -ResourceGroupName $rgName -Name myVM

Cela fait, vous pouvez supprimer l’hôte avec la commande Remove-AzHost.After deleting the VMs, you can delete the host using Remove-AzHost.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Une fois que vous avez supprimé tous vos hôtes, utilisez la commande Remove-AzHostGroup pour supprimer le groupe hôte.Once you have deleted all of your hosts, you may delete the host group using Remove-AzHostGroup.

Remove-AzHost -ResourceGroupName $rgName -Name myHost

Vous pouvez également supprimer l’intégralité du groupe de ressources via une seule commande Remove-AzResourceGroup.You can also delete the entire resource group in a single command using Remove-AzResourceGroup. Cette opération supprime toutes les ressources créées dans le groupe, y compris l’ensemble des machines virtuelles, des hôtes et des groupes hôtes.This will delete all resources created in the group, including all of the VMs, hosts and host groups.

Remove-AzResourceGroup -Name $rgName

Étapes suivantesNext steps

  • Un exemple de modèle, trouvé ici, utilise les zones et les domaines d’erreur pour offrir une résilience maximale dans une région.There is sample template, found here, that uses both zones and fault domains for maximum resiliency in a region.

  • Le Portail Microsoft Azure permet également de déployer des hôtes dédiés.You can also deploy dedicated hosts using the Azure portal.