Migrer une machine virtuelle régionale vers une zone de disponibilité (Aperçu)

S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows

Note

Les étapes de migration mentionnées dans cet article ne s’appliquent pas aux machines virtuelles d’un groupe à haute disponibilité. Si vous devez déplacer des machines virtuelles dans un groupe à haute disponibilité, consultez Migrer des groupes à haute disponibilité vers Virtual Machine Scale Sets

Cet article explique comment migrer une machine virtuelle Azure d’un déploiement régional (non zonal) vers une zone de disponibilité spécifique dans la même région tout en conservant le nom de la machine virtuelle, les disques de données et d’autres propriétés avec état.

Pour migrer votre machine virtuelle vers une autre région, utilisez Azure Resource Mover.

Important

La migration régionale vers une machine virtuelle zonale est actuellement en préversion publique. Les préversions sont à votre disposition, à condition que vous acceptiez les conditions d’utilisation supplémentaires. Certains aspects de cette fonctionnalité sont susceptibles d’être modifiés avant la mise à disposition générale.

Cette fonctionnalité de migration n’est pas encore disponible dans le portail Azure.

Prerequisites

Avant de commencer, vérifiez que vous disposez des éléments suivants :

  • abonnement Azure avec la fonctionnalité de préversion de migration enregistrée
  • Rôle contributeur ou supérieur sur le groupe de ressources contenant la machine virtuelle
  • Azure CLI 2.72.0 ou version ultérieure, ou Azure PowerShell module Az installé
  • Une machine virtuelle régionale (non zonale) existante que vous souhaitez migrer
  • La zone de disponibilité cible doit prendre en charge la taille actuelle de la machine virtuelle dans la cible

Inscrire la fonctionnalité d’aperçu

La fonctionnalité de migration nécessite l’inscription. Enregistrez la RegionalToZonalVMMigrationForDeallocatedVM fonctionnalité de préversion pour votre abonnement :

# Set your subscription context
az account set --subscription "<subscription-name-or-id>"

# Register the migration feature
az feature register --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM

# Check registration status (wait for "Registered" state)
az feature show --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM --query properties.state -o tsv

Note

L’inscription des fonctionnalités peut prendre plusieurs minutes. Attendez que l’état s’affiche Enregistré avant de continuer.

Vue d’ensemble de la migration

Le processus de migration se compose des étapes suivantes :

  1. Libérer la machine virtuelle - Arrêter et libérer la machine virtuelle régionale
  2. Mettre à jour l’attribution de zone - Affecter la machine virtuelle à une zone de disponibilité spécifique
  3. Démarrer la machine virtuelle - Activer la machine virtuelle dans sa nouvelle zone
  4. Un Virtual Machine Scale Set régional (non zonal) existant, avec un mode d’orchestration flexible

Important

  • La machine virtuelle doit être désallouée avant l'affectation de zone. Planifiez les temps d’arrêt en conséquence.
  • Les machines virtuelles peuvent être démarrées immédiatement une fois l’affectation de zone terminée.
  • La migration est une opération unidirectionnelle. Vous ne pouvez pas migrer une machine virtuelle zonale vers un déploiement régional.

Configurations prises en charge

Chemins de migration

Source Target Description
Machine virtuelle régionale Machine virtuelle zonale Machine virtuelle placée dans une zone de disponibilité spécifique (1, 2 ou 3)
Machine virtuelle régionale Machine virtuelle zonale dans un ensemble à l'échelle de machines virtuelles Machine virtuelle placée dans une zone et attachée à un ensemble de mise à l'échelle flexible
Machine virtuelle régionale dans un groupe de placement de proximité Machine virtuelle zonale Machine virtuelle déplacée vers une zone où le groupe de placement par proximité a été supprimé

Limitations

Les configurations suivantes ne sont pas prises en charge pour la migration :

  • Machines virtuelles avec des adresses IP publiques de base - Mettre à niveau vers la référence SKU Standard avant la migration
  • Machines virtuelles derrière un Basic Load Balancer - Mise à niveau vers Standard Load Balancer avant la migration
  • Machines virtuelles avec disques non managés - Convertir en disques managés avant la migration

Étape 1 : Libérer la machine virtuelle

Avant de mettre à jour l’attribution de zone, la machine virtuelle doit être entièrement désallouée :

az vm deallocate --resource-group "<resource-group-name>" --name "<vm-name>"

Vérifiez que la machine virtuelle est dans l’état Arrêté (désalloué) avant de continuer.

Étape 2 : Mettre à jour l’attribution de zone

Affectez la machine virtuelle à une zone de disponibilité spécifique. Choisissez l’option appropriée en fonction de la configuration de votre machine virtuelle.

Affectation de zone standard

Pour les machines virtuelles qui ne se trouvent pas dans un groupe de placement de proximité :

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]'

Affectation de zone avec suppression du groupe de placement de proximité

Si votre machine virtuelle se trouve actuellement dans un groupe de placement de proximité, vous devez supprimer l’association du groupe de placement de proximité pendant l’affectation de zone :

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]' \
  --ppg ""

Une affectation de zone réussie retourne le code d’état HTTP 200.

Conseil / Astuce

La disponibilité des zones varie selon la région. Pour vérifier quelles zones sont disponibles pour la taille de votre machine virtuelle dans une région spécifique, exécutez :

az vm list-skus --location "<region>" --zone --resource-type virtualMachines --output table

Étape 3 : Démarrer la machine virtuelle

Après l’attribution de zone, la machine virtuelle est dans un état Arrêté (désalloué). Démarrez la machine virtuelle :

az vm start --resource-group "<resource-group-name>" --name "<vm-name>"

Note

Vous pouvez démarrer la machine virtuelle immédiatement après la fin de l’affectation de zone. La migration des données se poursuit de manière transparente en arrière-plan.

Étape 4 (facultative) : rattacher la machine virtuelle à un Virtual Machine Scale Set

Après avoir migré la machine virtuelle vers une zone de disponibilité, vous pouvez éventuellement l’attacher à un groupe de machines virtuelles identiques avec une orchestration flexible pour des fonctionnalités de gestion améliorées telles que la mise à l’échelle automatique et les mises à niveau propagées.

Conditions préalables au rattachement à un Virtual Machine Scale Set

  • L'ensemble d’échelle a besoin d'utiliser le mode d’orchestration flexible
  • L'ensemble d'échelles doit se trouver dans la même région que la machine virtuelle
  • La configuration de zone du Virtual Machine Scale Set doit inclure la zone attribuée à la machine virtuelle
  • Pour les Virtual Machine Scale Sets dont le nombre de domaines d’erreur est égal à 1, singlePlacementGroup doit être défini sur false

Une machine virtuelle régionale ne possède pas de propriété virtualMachineScaleSet exploitable ; utilisez donc az resource update afin de corriger la propriété sous forme d’objet JSON sur la ressource de machine virtuelle sous-jacente :

az resource update \
  --ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>" \
  --set 'properties.virtualMachineScaleSet={"id":"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"}'

Vérifier la migration

Après la migration, vérifiez que la machine virtuelle s’exécute dans la zone de disponibilité correcte :

az vm show --resource-group "<resource-group-name>" --name "<vm-name>" --query "{Name:name, Zone:zones[0], Location:location}" --output table

Résolution des problèmes

Taille de machine virtuelle non disponible dans la zone

Erreur:The requested VM size is not available in the specified location/zone

Solution: Vérifiez les tailles de machine virtuelle disponibles dans la zone cible :

az vm list-skus --location "<region>" --zone "<zone>" --resource-type virtualMachines --output table

Envisagez de modifier la taille de machine virtuelle avant la migration si la taille actuelle n’est pas disponible dans la zone cible.

Conflit de groupe de placement de proximité

Erreur:Cannot assign zone to a VM in a Proximity Placement Group

Solution: Utilisez l’attribution de zone avec l’option de suppression du groupe de placement de proximité décrite à l’étape 2. Cette opération supprime l’association au groupe de placement de proximité tout en attribuant la zone en une seule opération.

Autorisations insuffisantes

Erreur:The client does not have authorization to perform action

Solution: Vérifiez que vous disposez d’un rôle Contributeur ou supérieur sur le groupe de ressources.

L’association au groupe de machines virtuelles échoue après l’attribution de la zone

Erreur:Cannot attach VM to the specified Virtual Machine Scale Set

Solution: Vérifiez les éléments suivants :

  • L'ensemble de mise à l'échelle utilise le mode d’orchestration Flexible
  • La configuration de zone du groupe de machines virtuelles comprend la zone associée à la machine virtuelle
  • Pour les groupes de machines virtuelles dont le nombre de domaines d’erreur est égal à 1, singlePlacementGroup est défini sur false
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"

Étapes suivantes