Options de zone de disponibilité pour Groupes de machines virtuelles identiques Azure

Les zones de disponibilité Azure sont des emplacements isolés vis-à-vis des pannes au sein d’une région Azure, qui fournissent une alimentation, un refroidissement et une mise en réseau redondants. Elles vous permettent d’exécuter des applications avec une haute disponibilité et une tolérance aux pannes en cas de défaillances de centre de données. Les régions Azure qui prennent en charge les zones de disponibilité ont au moins trois zones distinctes. Chaque zone de disponibilité se compose d’un ou plusieurs centres de données équipés d’une infrastructure indépendante (alimentation, réseau et refroidissement). Les zones de disponibilité sont reliées par un réseau hautes performances avec une latence aller-retour inférieure à 2 millisecondes. Pour plus d’informations, consultez Vue d’ensemble des zones de disponibilité.

Pour protéger vos groupes de machines virtuelles identiques contre les défaillances au niveau du centre de données, vous pouvez créer un groupe identique dans les zones de disponibilité. Pour utiliser les zones de disponibilité, votre groupe identique doit être créé dans une région Azure prise en charge.

Pour plus d’informations sur la façon dont les groupes de machines virtuelles identiques Azure peuvent résister aux défaillances de zone de disponibilité et à d’autres types de défaillances, consultez Fiabilité des groupes de machines virtuelles identiques Azure.

Choisir une option de déploiement de zone de disponibilité

Virtual Machine Scale Sets prend en charge trois options de déploiement de zone de disponibilité. Vous pouvez sélectionner vous-même les zones, utiliser l’emplacement automatique des zones pour laisser Azure les sélectionner ou utiliser un déploiement régional sans instances épinglées par zone.

Option de déploiement Configuration Topologie de zone Qui sélectionne les zones ? À utiliser quand
Zones sélectionnées par le client Définir zones, par exemple "zones": ["1", "2", "3"]. Zonale lorsque vous spécifiez une zone ou une zone couvrante lorsque vous spécifiez plusieurs zones. Vous sélectionnez les zones que le groupe identique peut utiliser. Votre charge de travail doit utiliser des zones de disponibilité spécifiques.
Placement automatique de zone (version préliminaire) Réglez placement.zonePlacementPolicy sur "auto". Par défaut, Azure crée un groupe identique s’étendant sur plusieurs zones, qui cible trois zones et nécessite au minimum deux zones. Pour créer un groupe identiques monozone, définissez maxZoneCount sur 1. Azure sélectionne les zones dans les contraintes que vous configurez. Vous souhaitez Azure optimiser la sélection de zone en fonction de la capacité et de la disponibilité de la référence SKU.
Régional (nonzonal) Ne spécifiez pas zones ni de stratégie de placement de zone. Les instances régionales ne sont pas associées à des zones de disponibilité. Non applicable. Votre charge de travail ne nécessite ni d’isolation au niveau des zones ni d’affectation à une zone.

Important

Vous ne pouvez pas configurer à la fois la propriété zones et le placement automatique de zone sur le même groupe identique.

Les zones sélectionnées par le client et le placement automatique de zone peuvent donner lieu à un groupe identique zonal (une seule zone) ou à un groupe identique s’étendant sur plusieurs zones. Les sections suivantes décrivent ces topologies et déploiements régionaux plus en détail.

Étendue de zone

Un groupe identique couvrant plusieurs zones répartit les instances entre deux zones de disponibilité ou plus. Cette approche est similaire aux déploiements redondants interzone dans d’autres services Azure.

Par défaut, le scale set applique une approche best effort pour répartir uniformément les instances entre les zones sélectionnées. Cependant, vous pouvez spécifier que vous souhaitez un équilibrage strict des zones en définissant "zoneBalance": "true" dans votre déploiement. Chaque machine virtuelle et ses disques sont zonaux, ils sont donc épinglés à une zone spécifique. Les instances entre les zones sont connectées par un réseau hautes performances avec une faible latence. En cas de panne de zone ou de problème de connectivité, la connectivité aux instances de la zone concernée peut être compromise, tandis que les instances d’autres zones de disponibilité ne doivent pas être affectées. Vous pouvez ajouter de la capacité au scale set pendant une panne de zone, et le scale set ajoute davantage d’instances dans les zones non affectées. Lorsque la zone est rétablie, vous devrez peut-être réduire votre scale set à sa capacité d’origine. Une bonne pratique consiste à configurer des règles d’autoscale en fonction de l’utilisation du processeur ou de la mémoire. Les règles de mise à l’échelle automatique permettraient au groupe identique de réagir en cas de perte d’instances de machine virtuelle dans cette zone en augmentant la taille des instances dans les zones opérationnelles restantes.

Répartir les instances entre les zones de disponibilité permet de respecter le SLA de 99,99 % pour les instances réparties entre les zones de disponibilité, et est recommandé pour la plupart des charges de travail dans Azure.

Vous pouvez configurer un groupe identique couvrant plusieurs zones en sélectionnant vous-même plusieurs zones ou en utilisant le placement automatique des zones. Par défaut, le positionnement automatique des zones cible trois zones de disponibilité et nécessite un minimum de deux zones.

Zonal ou aligné sur une zone (zone unique)

Un scale set zonal ou aligné sur une zone place les instances dans une seule zone de disponibilité. Chaque machine virtuelle et ses disques sont zonaux, ils sont donc épinglés à une zone spécifique. Cette configuration est principalement utilisée lorsque vous avez besoin d’une latence plus faible entre les instances.

Vous pouvez configurer un groupe identique à zone unique en sélectionnant vous-même une zone ou en définissant maxZoneCount sur 1 avec placement automatique de zone.

Régional (nonzonal)

Un Virtual Machine Scale Set régional (non zonal) correspond à une configuration où l’affectation de zone n’est pas explicitement définie ("zones"=[] ou "zones"=null). Dans cette configuration, l'ensemble de mise à l'échelle crée des instances régionales (non-zonales, non épinglées par zone) et répartit implicitement les instances dans toute la région. Il n’y a aucune garantie d’équilibrage ni de répartition entre les zones, ni que les instances se retrouvent dans la même zone de disponibilité. La colocalisation des disques est garantie pour les disques Ultra et Premium v2, best effort pour les disques Premium v1, et non garantie pour les disques Standard SKU (SSD ou HDD).

Dans le cas rare d’une panne totale de zone, une partie ou la totalité des instances au sein du scale set peut être affectée.

Domaines d’erreur et zones de disponibilité

Un domaine d’erreur est un groupe d’isolation des pannes au sein d’une zone de disponibilité ou d’un centre de données, composé de nœuds matériels partageant la même alimentation, la même mise en réseau, le même refroidissement et le même calendrier de maintenance de la plateforme. Les instances de machine virtuelle qui se trouvent sur des domaines d’erreur différents ne sont pas susceptibles d’être affectées par la même panne planifiée ou non planifiée. Vous pouvez spécifier la façon dont les instances sont réparties entre les domaines d’erreur au sein d’une région ou d’une zone.

  • Diffusion maximale (platformFaultDomainCount = 1)
  • Répartition fixe (platformFaultDomainCount = 5)
  • Répartition fixe alignée avec les domaines de défaillance de disque de stockage (platformFaultDomainCount = 2 ou 3, pour les déploiements régionaux (hors zone) uniquement)

Avec « max spreading » (répartition max), le groupe identique répartit vos machines virtuelles sur autant de domaines d’erreur possibles au sein de chaque zone. Cette répartition peut s’effectuer sur plus ou moins de cinq domaines d’erreur par zone. Avec une répartition fixe statique, le scale set répartit vos VM sur le nombre spécifié de domaines d’erreur. Si le scale set ne peut pas allouer au moins le nombre de domaines d’erreur spécifié pour satisfaire la demande d’allocation, la demande échoue.

Nous vous recommandons de déployer avec « max spreading » (répartition max.) pour la plupart des charges de travail, car cette approche fournit la meilleure répartition dans la plupart des cas. Si vous avez besoin que les réplica soient répartis sur des unités matérielles d’isolation distinctes, nous vous recommandons de les répartir sur plusieurs zones de disponibilité et d’utiliser « max spreading » (répartition max.) au sein de chaque zone.

Remarque

Avec « max spreading » (répartition max.), un seul domaine d’erreur s’affiche dans la vue d’instance de machine virtuelle ainsi que dans les métadonnées de l’instance, quel que soit le nombre de domaines d’erreur sur lesquels les machines virtuelles sont réparties. La répartition dans chaque zone est implicite.

Groupes de placement

Important

Les groupes de placement s’appliquent uniquement aux groupes de machines virtuelles identiques s’exécutant en mode d’orchestration Uniforme.

Lorsque vous déployez un ensemble de mise à l'échelle, vous pouvez déployer avec un groupe de placement unique par zone de disponibilité, ou avec plusieurs groupes de placement par zone. Pour les ensembles à échelle régionale (non zonaux), le choix consiste à avoir un seul groupe de placement dans la région ou plusieurs groupes dans la région. Si la propriété de groupe identique appelée singlePlacementGroup est définie sur false, le groupe identique peut se composer de plusieurs groupes de placement et présente une plage de 0 à 1 000 machines virtuelles. Lorsque la valeur par défaut est définie sur true, le groupe identique est composé d’un seul groupe de placement et présente une plage de 0 à 100 machines virtuelles. Pour la plupart des charges de travail, nous recommandons d’utiliser plusieurs groupes de placement, qui permettent une plus grande mise à l’échelle. Dans la version de l'API 2017-12-01, les ensembles de mise à l'échelle par défaut utilisent plusieurs groupes de placement pour les ensembles à zone unique et interzone, mais par défaut un seul groupe de placement pour les ensembles régionaux (non zonaux).

Remarque

Si vous utilisez « max spreading » (répartition max), vous devez utiliser plusieurs groupes de placement.

Équilibrage des zones

Le placement de zone détermine les zones de disponibilité qu’un groupe identique peut utiliser pour placer de nouvelles instances. L’équilibrage de zone contrôle la répartition uniformément des instances entre ces zones une fois les zones éligibles sélectionnées.

Pour les groupes identiques qui s’étendent sur plusieurs zones, choisissez entre le meilleur effort et l’équilibrage de zone strict. L’équilibrage de zone s’applique, qu’il s’agisse de sélectionner les zones ou d’utiliser l’emplacement automatique des zones. Pour plus d’informations, consultez l’équilibrage de zone dans Virtual Machine Scale Sets.

L’équilibrage de zone est également différent de l’équilibre automatique de zone. L’équilibrage de zone contrôle la distribution d’instances pendant les opérations de mise à l’échelle. L’équilibre automatique de zone détecte de manière proactive les déséquilibres existants et les corrige en créant une machine virtuelle de remplacement dans une zone sous-approvisionnée et en supprimant une machine virtuelle d’une zone surprovisionnée.

Étapes suivantes