Partager via


Migrer des déploiements et des ressources vers Virtual Machine Scale Sets dans une orchestration Flexible

À l’instar des groupes à haute disponibilité, Virtual Machine Scale Sets vous permet de répartir les machines virtuelles entre plusieurs domaines d’erreur. Virtual Machine Scale Sets avec une orchestration Flexible vous permet de combiner la scalabilité de Virtual Machine Scale Sets en mode d’orchestration Uniform avec les garanties de disponibilité régionale des groupes à haute disponibilité. Cet article aborde certains points relatifs à la migration lorsque vous passez au mode d’orchestration Flexible pour Virtual Machine Scale Sets.

Mettre à jour les modèles et les scripts de déploiement des groupes à haute disponibilité

Tout d’abord, vous devez créer un groupe de machines virtuelles identiques sans profil de mise à l’échelle automatique via Azure CLI, Azure PowerShell ou un modèle ARM. Le portail Azure permet uniquement de créer un groupe de machines virtuelles identiques avec un profil de mise à l’échelle automatique. Si vous ne voulez pas ou n’avez pas besoin d’un profil de mise à l’échelle automatique, mais que vous voulez créer un groupe identique à partir du portail Azure, vous pouvez définir la capacité initiale sur 0.

Vous devez spécifier le nombre de domaines d’erreur pour le groupe de machines virtuelles identiques. Pour les déploiements régionaux (non zonaux), Virtual Machine Scale Sets offre les mêmes garanties de domaine d’erreur que les groupes à haute disponibilité. Toutefois, vous pouvez effectuer un scale-up allant jusqu’à 1000 instances maximum. Pour les déploiements zonaux où vous répartissez des instances sur plusieurs zones de disponibilité, le nombre de domaines d’erreur doit être défini sur 1.

Les domaines de mise à jour sont désormais dépréciés dans le mode d’orchestration Flexible. La plupart des mises à jour de plateforme ayant des références SKU à usage général sont effectuées avec la fonctionnalité Migration dynamique et ne nécessitent pas le redémarrage des instances. Si la maintenance d’une plateforme nécessite le redémarrage des instances, les mises à jour sont appliquées domaine d’erreur par domaine d’erreur.

L’orchestration Flexible pour Virtual Machine Scale Sets prend aussi en charge le déploiement d’instances sur plusieurs zones de disponibilité. Vous pouvez envisager de mettre à jour vos déploiements de machines virtuelles afin de les répartir sur plusieurs zones de disponibilité.

La dernière étape de ce processus consiste à créer une machine virtuelle. Au lieu de spécifier un groupe à haute disponibilité, spécifiez le groupe de machines virtuelles identiques. Si vous le souhaitez, vous pouvez spécifier la zone de disponibilité ou le domaine d’erreur où la machine virtuelle doit être placée.

Effectuer la migration de machines virtuelles de groupe à haute disponibilité

Il n’existe actuellement aucun outil automatisé permettant de déplacer directement des instances existantes d’un groupe à haute disponibilité vers un groupe de machines virtuelles identiques. Toutefois, il existe plusieurs stratégies permettant d’effectuer la migration d’instances existantes vers un groupe identique Flexible :

Migration bleu-vert ou côte à côte

  1. Placez les nouvelles instances de machines virtuelles du groupe identique avec une configuration similaire dans le même groupe de ressources, réseau virtuel, équilibreur de charge, etc. que les machines virtuelles du groupe de disponibilité.
  2. Effectuez la migration des données, du trafic réseau, etc. pour utiliser les nouvelles instances de groupe identique.
  3. Désallouez ou supprimez les machines virtuelles du groupe à haute disponibilité d’origine, en conservant les machines virtuelles du groupe identique qui s’exécutent pour votre application.

Remplacer des instances de machine virtuelle

  1. Notez les paramètres de la machine virtuelle que vous souhaitez conserver (nom, ID NIC, système d’exploitation, ID des disques OS et de données, paramètres de configuration de machine virtuelle, emplacement du domaine d’erreur, etc.).
  2. Supprimez la machine virtuelle du groupe à haute disponibilité. Les cartes réseau et les disques de la machine virtuelle ne seront pas supprimés
  3. Créez un nouvel objet de machine virtuelle à l’aide des paramètres de la machine virtuelle d’origine :
    • ID NIC
    • Disques OS et de données
    • Emplacement du domaine d’erreur
    • Autres paramètres de la machine virtuelle

Mettre à jour les scripts et les modèles de déploiement des groupes identiques Uniform

Mettez à jour les scripts et les modèles de déploiement Virtual Machine Scale Sets Uniform pour utiliser l’orchestration Flexible. Pour cela, vous devez modifier les éléments suivants dans vos modèles :

  • Supprimez LoadBalancerNATPool (non valide pour le mode Flex)
  • Supprimez le paramètre de surapprovisionnement (non valide pour le mode Flex)
  • Supprimez upgradePolicy (pas encore valide pour le mode Flex)
  • Mettez à jour l’API Compute vers la version 2021-03-01
  • Ajoutez le mode d’orchestration flexible
  • platformFaultDomainCount est obligatoire
  • singlePlacementGroup=false est obligatoire
  • Ajoutez l’API Réseau version 2021-11-01 ou ultérieure
  • Attribuez la valeur true au configuration.properties.primary IP (obligatoire pour les règles de trafic sortant)

Effectuer la migration de groupes identiques Uniform existants

Il n’existe actuellement aucun outil automatisé permettant de déplacer directement des instances existantes ou de mettre à niveau un groupe identique Uniform vers un groupe de machines virtuelles identiques Flexible. Cependant, voici une stratégie dont vous pouvez vous servir pour migrer des instances existantes vers un groupe identique Flexible :

Migration bleu-vert ou côte à côte

  1. Placez le nouveau groupe identique en mode d’orchestration Flexible avec une configuration similaire dans le même groupe de ressources, réseau virtuel, équilibreur de charge, etc. que le groupe identique d’origine en mode d’orchestration Uniform.
  2. Effectuez la migration des données, du trafic réseau, etc. pour utiliser les nouvelles instances de groupe identique.
  3. Supprimez ou effectuez un scale-down des machines virtuelles du groupe identique Uniform d’origine, en conservant les machines virtuelles du groupe identique qui s’exécutent pour votre application.

Considérations relatives aux groupes identiques Flexible

Virtual Machine Scale Sets avec une orchestration Flexible vous permet de combiner la scalabilité de Virtual Machine Scale Sets en orchestration Uniform avec les garanties de disponibilité régionale des groupes à haute disponibilité. Voici les points clés à prendre en compte lorsque vous décidez d’utiliser le mode d’orchestration Flexible.

Créer une connectivité réseau évolutive

Le comportement de l’accès sortant de la mise en réseau varie selon la façon dont vous choisissez de créer des machines virtuelles au sein de votre groupe identique. Les instances de machine virtuelle ajoutées manuellement disposent d’un accès de connectivité sortant par défaut. Les instances de machines virtuelles créées implicitement n’ont pas d’accès par défaut.

Afin d’améliorer la sécurité réseau par défaut, les instances de machines virtuelles créées implicitement par le biais du profil de mise à l’échelle automatique n’ont pas d’accès sortant par défaut. Pour utiliser Virtual Machine Scale Sets avec des instances de machines virtuelles créées implicitement, l’accès sortant doit être défini explicitement à l’aide de l’une des méthodes suivantes :

  • Pour la plupart des scénarios, nous recommandons la Passerelle NAT attachée au sous-réseau.
  • Pour les scénarios assortis d’exigences de sécurité élevées ou lors de l’utilisation d’un Pare-feu Azure ou d’une Appliance virtuelle réseau (NVA), vous pouvez spécifier un Itinéraire personnalisé défini par l’utilisateur en tant que tronçon suivant via le pare-feu.
  • Les instances se trouvent dans le pool principal d’un Équilibreur de charge Azure de Référence SKU standard.
  • Attachez une adresse IP publique à l’interface réseau de l’instance.

Les scénarios courants nécessitant une connectivité sortante explicite sont les suivants :

  • L’activation d’une machine virtuelle Windows nécessite que vous ayez défini une connectivité sortante à partir de l’instance de machine virtuelle vers le Service de gestion des clés d’activation Windows (KMS). Pour plus d’informations, consultez Résoudre des problèmes liés à l’activation des machines virtuelles Windows.
  • Accédez aux comptes de stockage ou au Coffre de clés. La connectivité aux services Azure peut également être établie via une Liaison privée.
  • Mises à jour Windows.
  • Accès aux gestionnaires de packages Linux.

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

Avec les machines virtuelles à instance unique où vous créez explicitement la carte réseau, l’accès sortant par défaut est fourni. Virtual Machine Scale Sets en mode d’orchestration Uniform dispose également d’une connectivité sortante par défaut.

Important

Vérifiez que vous disposez d’une connectivité réseau sortante explicite. Pour en savoir plus à ce sujet, consultez Réseaux virtuels et machines virtuelles dans Azure et veillez à suivre les bonnes pratiques Azure concernant les réseaux.

Attribuer un domaine d’erreur au moment de la création de la machine virtuelle

Vous pouvez choisir le nombre de domaines d’erreur pour le groupe identique avec orchestration Flexible. Par défaut, quand vous ajoutez une machine virtuelle à un groupe identique Flexible, Azure répartit uniformément les instances entre les domaines d’erreur. Il est recommandé de laisser Azure attribuer le domaine d’erreur. Cependant, pour des scénarios avancés ou de dépannage, vous pouvez remplacer ce comportement par défaut et spécifier le domaine d’erreur auquel appartiendra l’instance.

az vm create –vmss "myVMSS"  –-platform_fault_domain 1

Nommage d’instance

Quand vous créez une machine virtuelle et l’ajoutez à un groupe identique Flexible, vous disposez d’un contrôle total sur les noms d’instance dans le cadre des règles de convention de nommage Azure. Quand des machines virtuelles sont ajoutées automatiquement au groupe identique par le biais d’une mise à l’échelle automatique, vous spécifiez un préfixe et Azure ajoute un numéro unique à la fin du nom.

Modifications de l’API de machine virtuelle qui liste les instances d’un groupe identique

VMSS (Virtual Machine Scale Sets) vous permet de lister les instances appartenant au groupe identique. Avec l’orchestration Flexible, la commande de machine virtuelle VMSS de liste retourne une liste d’ID de machines virtuelles d’un groupe identique. Vous pouvez ensuite appeler les commandes de machine virtuelle VMSS GET pour obtenir plus d’informations sur la façon dont le groupe identique fonctionne avec l’instance de machine virtuelle. Pour obtenir toutes les informations de la machine virtuelle, utilisez les commandes de machine virtuelle GET standard ou Azure Resource Graph.

Instances de requête pour l’état d’alimentation

La méthode recommandée consiste à utiliser Azure Resource Graph pour interroger toutes les machines virtuelles d’un groupe de machines virtuelles identiques. Azure Resource Graph fournit des fonctionnalités de requête efficaces pour les ressources Azure à grande échelle, sur les différents abonnements.

| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc

L’interrogation des ressources avec Azure Resource Graph représente un moyen pratique et efficace d’interroger des ressources Azure et de réduire les appels d’API au fournisseur de ressources. Azure Resource Graph est un cache cohérent à terme. Il se peut que les ressources nouvelles ou mises à jour n’y soient pas reflétées pendant une période allant jusqu’à 60 secondes. Vous pouvez :

  • Lister les machines virtuelles d’un groupe de ressources ou d’un abonnement.
  • Utiliser l’option de développement pour récupérer la vue d’instance (attribution de domaine d’erreur, états d’alimentation et de provisionnement) pour toutes les machines virtuelles de votre abonnement.
  • Utiliser les commandes et l’API de machine virtuelle Get pour obtenir un modèle et une vue d’instance pour une seule instance.

Opérations de traitement par lots des machines virtuelles de groupe identique

Utilisez les commandes de machine virtuelle standard pour démarrer, arrêter, redémarrer et supprimer des instances, plutôt que les API de machine virtuelle VMSS. Les opérations de traitement par lots de machine virtuelle VMSS (tout démarrer, tout arrêter, tout réinitialiser, etc.) ne sont pas utilisées avec le mode d’orchestration Flexible.

Superviser l’intégrité de l’application

Avec la supervision du fonctionnement de l’application, votre application fournit à Azure une pulsation pour déterminer si votre application est saine ou non. Azure peut remplacer automatiquement les instances de machine virtuelle non saines. Pour les instances de groupe identique Flexibles, vous devez installer et configurer l’extension Intégrité de l’application sur la machine virtuelle. Pour les instances de groupe identique Uniform, vous pouvez utiliser l’extension Intégrité de l’application ou mesurer l’intégrité avec une sonde d’intégrité personnalisée Azure Load Balancer.

Récupérer les données de diagnostics de démarrage

Utilisez les API et commandes de machine virtuelle standard pour récupérer les captures d’écran et données de diagnostic de démarrage d’instance. Les commandes et API de diagnostic de démarrage de machine virtuelle VMSS ne sont pas utilisées avec les instances en mode d’orchestration Flexible.

Extensions de machine virtuelle

Utilisez les extensions ciblant les machines virtuelles standard plutôt que celles ciblant les instances en mode d’orchestration Uniform.

Protéger les instances de la suppression

Virtual Machine Scale Sets en mode d’orchestration Flexible ne dispose pas actuellement d’options de protection d’instance. Si la mise à l’échelle automatique est activée sur un groupe de machines virtuelles identiques, certaines machines virtuelles risquent d’être supprimées lors de la mise à l’échelle en cours. Si vous souhaitez protéger certaines instances de machine virtuelle de la suppression, utilisez le verrouillage Azure Resource Manager.

Étapes suivantes