Groupes d'instances gérés régionaux

Vous pouvez utiliser un groupe d'instances géré (MIG) régional pour augmenter la résilience de la charge de travail utilisant ce MIG. Un MIG régional répartit vos instances de machines virtuelles (VM) sur plusieurs zones d'une région, ce qui vous protège des cas extrêmes où toutes les instances d'une même zone sont défaillantes simultanément.

Cette page contient des informations conceptuelles sur les MIG régionaux :

Pour savoir comment créer un MIG régional, consultez la page Créer et gérer des MIG régionaux.

Pourquoi choisir des groupes d'instances gérés régionaux ?

Google recommande les MIG régionaux plutôt que les MIG zonaux pour les raisons suivantes :

  • Vous pouvez utiliser des MIG régionaux pour gérer jusqu'à 2 000 instances, soit deux fois plus d'instances qu'avec des MIG zonaux.
  • Vous pouvez utiliser des MIG régionaux pour répartir la charge de l'application sur plusieurs zones, au lieu de limiter votre application à une seule zone ou de gérer plusieurs MIG zonaux sur différentes zones.

L'utilisation de plusieurs zones vous protège contre les défaillances de zone et les scénarios inattendus dans lesquels un groupe entier d'instances d'une même zone cesse de fonctionner correctement. Dans une telle éventualité, votre application peut continuer à traiter le trafic à partir d'instances exécutées dans une autre zone de la même région.

En cas de défaillance d'une zone ou lorsque tout un groupe d'instances d'une même zone ne répond plus, un MIG régional continue à prendre en charge vos instances comme suit :

  • Les instances qui appartiennent aux zones restantes du MIG régional continuent de diffuser le trafic. Aucune nouvelle instance n'est ajoutée et aucune instance n'est redistribuée (sauf si vous configurez l'autoscaling).

  • Une fois la zone défaillante récupérée, le MIG recommence à diffuser le trafic depuis cette zone.

Pour concevoir des applications robustes et évolutives, utilisez des MIG régionaux.

Limites

  • Avec un MIG régional, vous pouvez créer jusqu'à 2 000 VM dans une région, avec un maximum de 1 000 VM par zone. Avec un MIG zonal, vous pouvez créer jusqu'à 1 000 VM. Si vous en avez besoin d'un plus grand nombre, contactez l'assistance.
  • Lors de la mise à jour d'un MIG, vous pouvez spécifier jusqu'à 1 000 VM dans une même requête.
  • Si vous souhaitez un MIG avec état, vérifiez les limites des MIG avec état.

  • Vous devez sélectionner les zones associées à un MIG régional lors de sa création. Une fois que vous avez choisi des zones spécifiques lors de la création, vous ne pouvez plus les modifier ni les mettre à jour. Toutefois, vous pouvez définir la forme de distribution cible d'un MIG pour spécifier la distribution de ses instances gérées dans les zones que vous avez sélectionnées.

  • Si vous définissez la forme de distribution cible du groupe sur ANY ou sur BALANCED, consultez les limitations.

  • Si vous souhaitez utiliser l'équilibrage de charge avec un MIG régional, les limites suivantes s'appliquent :

    • Vous ne pouvez pas utiliser le mode d'équilibrage maxRate.
    • Si vous utilisez un schéma d'équilibrage de charge HTTP(S) avec un MIG régional, vous devez choisir le mode d'équilibrage maxRatePerInstance ou maxUtilization.
  • Si vous souhaitez effectuer l'autoscaling d'un MIG régional, les limites suivantes s'appliquent :

    • Vous devez définir la forme de distribution cible du groupe sur EVEN.
    • Pour effectuer un scaling vertical et horizontal, vous devez activer la redistribution proactive des instances. Si vous définissez le mode de l'autoscaler pour qu'il n'effectue que le scaling horizontal, vous n'avez pas besoin d'activer la distribution proactive des instances.
    • Si vous souhaitez configurer l'autoscaling basé sur les métriques Cloud Monitoring pour un MIG régional, les limites suivantes s'appliquent :

      • Vous ne pouvez pas utiliser de métriques par groupe.
      • Vous ne pouvez pas appliquer de filtres aux métriques par instance.

Options de configuration régionale

La création d'un MIG régional est semblable à la création d'un MIG zonal, sauf que vous disposez d'options supplémentaires :

  • Vous pouvez sélectionner les zones d'une région dans lesquelles créer des instances.
  • Vous pouvez choisir le mode de distribution des instances entre les zones sélectionnées.

Ces options sont décrites ci-dessous.

Sélectionner la zone

Par défaut, un MIG régional distribue ses instances gérées équitablement sur trois zones. Pour diverses raisons, vous pouvez avoir besoin de sélectionner des zones spécifiques pour une application. Par exemple, si vous avez besoin de GPU pour vos instances, vous pouvez sélectionner uniquement des zones compatibles avec les GPU, ou disposer de disques persistants ou réservations uniquement disponibles dans certaines zones.

Si vous souhaitez choisir le nombre de zones ou des zones spécifiques dans lesquelles le groupe doit s'exécuter, vous devez le faire lors de la création du groupe. Une fois que vous avez choisi des zones spécifiques lors de la création, vous ne pouvez plus les modifier ni les mettre à jour.

Si vous souhaitez que votre MIG utilise automatiquement les zones qui acceptent le matériel spécifié dans le modèle d'instance du MIG, vous pouvez définir la forme de distribution cible du MIG sur BALANCED ou ANY et sélectionner toutes les zones d'une région. Le groupe d'instances géré vérifie automatiquement la disponibilité des ressources et planifie uniquement les instances dans les zones qui en contiennent. Si vous souhaitez donner la priorité à l'utilisation des réservations zonales, définissez la forme sur ANY. Pour en savoir plus, consultez la page Forme de distribution cible.

  • Pour sélectionner plus de trois zones dans une région, vous devez spécifier ces zones une à une. Par exemple, pour sélectionner les quatre zones d'une région, vous devez désigner explicitement ces quatre zones dans votre requête. Si vous ne le faites pas, Compute Engine sélectionne trois zones par défaut.

  • Pour sélectionner deux zones ou une seule zone d'une région, vous devez spécifier explicitement chaque zone. Même si la région ne contient que deux zones, vous devez spécifier explicitement les zones dans votre requête.

Google développe régulièrement son infrastructure en mettant à disposition du matériel spécialisé dans davantage de zones. Un MIG régional vérifie régulièrement la disponibilité du matériel et commence automatiquement à planifier des instances dans les zones acceptant les machines requises. Si, pour une raison quelconque, vous ne souhaitez pas exécuter vos instances dans certaines zones, ne les sélectionnez pas lors de la création du groupe.

Pour découvrir comment créer un groupe d'instances géré régional et sélectionner des zones, consultez la section Créer un MIG régional.

Forme de distribution cible

Par défaut, un MIG régional distribue ses instances gérées équitablement sur l'ensemble des zones sélectionnées. Toutefois, si vous avez besoin de matériel indisponible dans toutes les zones ou si vous devez hiérarchiser l'utilisation des réservations zonales, vous pouvez opter pour une autre distribution.

Pour configurer la distribution des instances du MIG régional entre les zones sélectionnées d'une région, définissez la forme de distribution cible du MIG. Les options suivantes sont disponibles :

  • EVEN (ÉGALE) par défaut : le groupe planifie la création et la suppression d'instances de VM pour atteindre et conserver un nombre équitable d'instances gérées dans les zones sélectionnées. La distribution est équitable si le nombre d'instances gérées ne diffère pas plus de 1 entre deux zones. Option recommandée pour les charges de travail de diffusion à disponibilité élevée.

  • BALANCED (ÉQUILIBRÉE) : le groupe privilégie l'acquisition de ressources. De ce fait, il planifie des VM dans les zones où des ressources sont disponibles, tout en les répartissant aussi équitablement que possible dans les zones sélectionnées afin de minimiser l'impact des défaillances zonales. Option recommandée pour les charges de travail de diffusion ou par lot à disponibilité élevée qui ne nécessitent pas d'autoscaling.

  • ANY (TOUTE) : le groupe choisit les zones dans lesquelles créer les instances de VM afin de respecter le nombre de VM demandé dans les limites des ressources disponibles et d'optimiser l'utilisation des réservations zonales non utilisées. Option recommandée pour les charges de travail par lot ne nécessitant pas une haute disponibilité.

Lorsque vous créez votre MIG, si vous définissez sa forme sur BALANCED ou ANY, vous n'avez pas besoin de vérifier manuellement les zones qui acceptent le matériel que vous spécifiez dans le modèle d'instance du groupe. Vous pouvez sélectionner toutes les zones d'une région et, avec sa forme définie sur BALANCED ou ANY, votre MIG régional vérifie la disponibilité des ressources à votre place et planifie uniquement les instances dans les zones qui comportent les ressources.

Choisissez une option en fonction des exigences liées à vos charges de travail et des capacités des MIG dont vous avez besoin. Pour en savoir plus, consultez le tableau de comparaison et les cas d'utilisation.

Pour savoir comment configurer la forme cible d'un MIG nouveau ou existant, consultez la section Définir une règle de distribution des instances entre les zones.

Redistribution proactive des instances

Par défaut, un MIG régional tente de maintenir une distribution uniforme des instances dans les zones de la région afin de maximiser la disponibilité de votre application en cas de défaillance de la zone.

Si vous supprimez ou abandonnez des instances de votre groupe, cela entraîne une distribution inégale entre les zones. Le groupe redistribue alors les instances de manière proactive pour rétablir une distribution égale.

Pour rétablir une distribution égale entre les zones, le groupe supprime des instances dans les zones contenant davantage d'instances et ajoute des instances dans celles qui en contiennent moins. Le groupe choisit automatiquement les instances à supprimer.

La redistribution proactive rétablit une distribution égale entre les zones.
Exemple de redistribution proactive

Par exemple, supposons que vous disposiez d'un MIG régional avec 12 instances réparties dans les trois zones suivantes : a, b et c. Si vous supprimez trois instances gérées dans c, le groupe tente d'effectuer un rééquilibrage afin que les instances soient à nouveau distribuées de manière égale entre les zones. Dans ce cas, le groupe supprime deux instances (une de a et une de b) et crée deux instances dans la zone c, afin que chaque zone contienne trois instances. La distribution est ainsi à nouveau égale. Vous n'avez pas la possibilité de sélectionner les instances qui seront supprimées. Le groupe perd temporairement de la capacité pendant le démarrage des nouvelles instances.

Pour empêcher la redistribution automatique de vos instances, vous pouvez désactiver la redistribution proactive des instances.

La désactivation de la redistribution proactive des instances est utile lorsque vous souhaitez effectuer les opérations suivantes :

  • Supprimer ou abandonner des instances du groupe sans affecter les autres instances en cours d'exécution. Par exemple, vous pouvez supprimer une instance de nœud de calcul de traitement par lots une fois la tâche terminée sans affecter les autres nœuds de calcul.
  • Protéger les instances d'une suppression automatique indésirable due à la redistribution proactive en utilisant des charges de travail avec état.
  • Définissez la forme de distribution cible du groupe d'instances géré sur BALANCED.
La désactivation de la redistribution proactive peut affecter la capacité en cas de défaillance d'une zone.
Distribution inégale après la désactivation de la redistribution proactive

Si vous désactivez la redistribution proactive des instances, un MIG n'ajoute ni ne supprime aucune instance de manière proactive pour atteindre l'équilibre. Toutefois, il profite toujours des opérations de redimensionnement pour tendre vers l'équilibre, chacune de ces opérations étant traitée comme une opportunité d'équilibrer le groupe. Par exemple, lors d'un scaling vertical, le groupe utilise automatiquement le rescaling pour supprimer des instances des zones les plus importantes. Lors d'un scaling horizontal, il ajoute des instances aux zones les plus petites.

Différences de comportement des MIG zonaux

La principale différence entre un MIG zonal et un MIG régional est qu'un MIG régional peut utiliser plusieurs zones.

Les instances gérées d'un MIG régional sont réparties entre les zones d'une région. Par conséquent, les fonctionnalités du MIG ci-dessous se comportent différemment.

Autoscaling d'un MIG régional

Compute Engine propose l'autoscaling pour les MIG, ce qui permet à vos groupes d'ajouter (c'est-à-dire effectuer un scaling horizontal) ou de supprimer (c'est-à-dire effectuer un scaling vertical) automatiquement des instances selon que la charge augmente ou diminue.

Si vous activez l'autoscaling pour un MIG régional, cette fonctionnalité se comporte comme suit :

  • Une règle d'autoscaling s'applique au groupe dans son ensemble. Par exemple, si vous configurez l'autoscaler pour un objectif d'utilisation du processeur de 66 %, celui-ci suit toutes les instances du groupe pour maintenir une utilisation moyenne de 66 % sur l'ensemble des instances de toutes les zones.

  • L'autoscaling tente de répartir les VM de la manière la plus équitable possible entre les zones disponibles. En général, l'autoscaler équilibre la taille des zones en ajoutant des VM aux zones qui en comportent le moins. La charge est ensuite redirigée à partir de zones comportant plus de VM, par exemple via un équilibreur de charge. Nous vous déconseillons de configurer un équilibreur de charge personnalisé privilégiant une zone par rapport aux autres, car cela pourrait provoquer un comportement inattendu, comme une distribution inégale des instances entre les zones ou la présence d'instances non utilisées dans d'autres zones.

  • Si votre workflow utilise les instances de trois zones de manière équitable, en cas de défaillance d'une zone entière ou de tout un groupe d'instances d'une même zone, vous pouvez perdre un tiers de la capacité, mais les deux tiers restants sont toujours disponibles dans les autres zones. Nous vous recommandons de surprovisionner le MIG régional avec autoscaling : vous éviterez ainsi de surcharger les serveurs restants durant les périodes d'indisponibilité d'une zone.

  • Si des ressources (par exemple, des instances préemptives) sont temporairement indisponibles dans une zone, le groupe continue d'essayer de créer ces instances dans cette zone. Une fois que les ressources sont à nouveau disponibles, le groupe acquiert le nombre souhaité d'instances en cours d'exécution.

  • Si l'équilibrage de charge est activé et que des ressources sont indisponibles dans une zone, ce qui entraîne une utilisation accrue des ressources existantes dans cette zone, des instances peuvent être créées dans des zones présentant des taux d'utilisation plus faibles, causant ainsi une distribution temporairement inégale.

L'autoscaler n'ajoute des instances dans une zone qu'à concurrence de 1/n du nombre maximal spécifié pour le groupe, n étant le nombre de zones provisionnées. Par exemple, si vous utilisez le nombre de zones par défaut (soit 3) et si le paramètre maxNumReplicas configuré pour l'autoscaling est défini sur 15, l'autoscaler ne peut ajouter que jusqu'à 1/3 * 15 = 5 instances par zone pour le groupe. En cas de défaillance d'une zone, l'autoscaler n'effectue un scaling horizontal que jusqu'aux deux tiers de maxNumReplicas dans les deux zones restantes combinées.

Provisionner la configuration de l'autoscaler

De même que pour le surprovisionnement d'un MIG régional, vous devez surprovisionner la configuration de l'autoscaler du MIG régional. En supposant que votre groupe utilise 3 zones, configurez l'autoscaling comme suit :

  • L'objectif d'utilisation configuré pour l'autoscaling doit correspondre aux deux tiers de la valeur effective souhaitée.
  • Pour tenir compte de cet objectif d'utilisation réduit, l'autoscaler ajoute davantage d'instances. Vous devez donc majorer la valeur maxNumReplicas de 50 % par rapport au nombre que vous auriez défini indépendamment du surprovisionnement.

Par exemple, si vous estimez que 20 instances suffisent à gérer vos pics de charge et si l'objectif d'utilisation est fixé à 80 %, configurez l'autoscaler comme suit :

  • 2/3 * 0,8 = 0,53 ou 53 % pour l'objectif d'utilisation, au lieu de 80 %
  • 3/2 * 20 = 30 pour le nombre maximal d'instances, au lieu de 20

Cette configuration permet de s'assurer qu'en cas de défaillance d'une zone unique, votre MIG n'est pas à court de capacité, car les deux tiers des instances disponibles peuvent gérer la charge croissante à partir de la zone hors connexion (car vous avez réduit l'utilisation cible bien en deçà de sa capacité). L'autoscaler ajoute également des instances jusqu'à concurrence du nombre maximal d'instances que vous avez spécifié, de façon à assurer l'objectif d'utilisation de deux tiers.

Cependant, vous ne devez pas compter uniquement sur le surprovisionnement de vos MIG pour gérer une charge accrue. Nous vous recommandons de tester régulièrement vos applications pour vous assurer qu'elles sont en mesure de gérer les pointes d'utilisation qui résulteraient d'une défaillance zonale supprimant un tiers des instances.

Pour en savoir plus sur l'autoscaling, consultez la page Présentation de l'autoscaling.

Mettre à jour un MIG régional

Vous ne pouvez pas modifier la distributionPolicy d'un groupe après sa création, y compris pour modifier ou mettre à jour les zones de ce groupe.

Si vous souhaitez déployer un nouveau modèle sur un MIG régional, consultez la section Mettre à jour un MIG régional.

Si vous souhaitez ajouter ou supprimer des instances dans un MIG, le processus est le même pour les MIG régionaux et zonaux. Consultez la page Utiliser des instances gérées.

Si vous souhaitez configurer des disques avec état ou des métadonnées avec état dans un MIG, consultez la section Configurer des groupes d'instances gérés (MIG) avec état.

Augmenter la disponibilité en effectuant un surprovisionnement

Divers événements peuvent entraîner l'indisponibilité d'une ou de plusieurs instances. Vous pouvez atténuer le problème à l'aide de plusieurs services Google Cloud :

  • Utilisez un MIG régional avec une forme de distribution cible EVEN ou BALANCED pour distribuer votre application sur plusieurs zones.
  • Utilisez l'autoréparation basée sur les applications pour recréer des instances dont les applications présentent des défaillances.
  • Utilisez l'équilibrage de charge pour détourner automatiquement le trafic utilisateur des instances indisponibles.

Toutefois, même si vous faites appel à ces services, vos utilisateurs peuvent toujours rencontrer des problèmes si trop d'instances sont indisponibles simultanément.

Afin de parer aux cas extrêmes dans lesquels une zone tout entière devient indisponible ou tout un groupe d'instances cesse de répondre, nous vous recommandons vivement de surprovisionner votre MIG. Selon les besoins de l'application, le surprovisionnement du groupe empêche votre système de tomber en panne lorsqu'une zone ou un groupe d'instances ne répond plus.

Google formule ces recommandations de surprovisionnement en retenant comme priorité la disponibilité de votre application pour les utilisateurs. Ces recommandations impliquent de provisionner et d'acheter plus d'instances que votre application n'en requiert au quotidien. Déterminez le niveau de surprovisionnement nécessaire en tenant compte des besoins de l'application et de vos contraintes budgétaires.

Vous pouvez définir la taille de votre MIG au moment de sa création. Une fois la création terminée, vous pouvez ajouter ou supprimer des instances.

Vous pouvez également configurer un autoscaler, afin d'entraîner un surprovisionnement automatique lorsque des instances sont ajoutées au groupe ou supprimées du groupe en fonction de la charge.

Estimer la taille de groupe recommandée

Nous vous recommandons de provisionner suffisamment d'instances afin que, si toutes les instances d'une zone sont indisponibles, le nombre d'instances restantes soit toujours conforme au nombre minimal d'instances requis.

Déterminez la taille minimale recommandée pour votre groupe à l'aide du tableau suivant :

Nombre de zones Instances de VM supplémentaires Nombre total d'instances de VM recommandé
2 +100 % 200 %
3 +50 % 150 %
4 +33 % 133 %

Provisionner un MIG régional sur trois zones ou plus

Lorsque vous créez un MIG régional dans une région comportant au moins trois zones, nous vous recommandons de surprovisionner votre groupe d'au moins 50 %. Par défaut, un MIG régional crée des instances dans trois zones. Des instances distribuées entre trois zones suffisent déjà à préserver au moins les deux tiers de votre capacité de diffusion. En cas de défaillance de l'une des zones, les deux autres zones de la région peuvent continuer à diffuser le trafic sans interruption. En cas de perte d'un tiers de la capacité, un surprovisionnement à 150 % garantit que 100 % du trafic reste pris en charge par les zones restantes.

Par exemple, si vous avez besoin de 20 instances distribuées entre trois zones dans votre MIG, nous vous recommandons d'ajouter au moins 50 % d'instances supplémentaires. Dans ce cas, 50 % de 20 instances équivalent à 10 instances supplémentaires, soit un total de 30 instances dans le groupe. Si vous créez un MIG régional avec une taille de 30, le groupe répartit les VM dans les trois zones, comme suit :

Zone Nombre d'instances de VM
exemple-zone-1 10
exemple-zone-2 10
exemple-zone-3 10

En cas de défaillance de l'une des zones, il vous reste 20 instances pour diffuser le trafic.

Provisionner un MIG régional sur deux zones

Pour provisionner vos instances dans deux zones au lieu de trois, Google recommande de doubler le nombre d'instances. Par exemple, si vous avez besoin de 20 instances pour votre service (réparties sur deux zones), nous vous recommandons de configurer un MIG régional avec 40 instances, de sorte que chaque zone dispose de 20 instances. En cas de défaillance de l'une des zones, il vous reste 20 instances pour diffuser le trafic.

Zone Nombre d'instances de VM
exemple-zone-1 20
exemple-zone-2 20

S'il est difficile de diviser le nombre d'instances de votre groupe entre deux zones, Compute Engine répartit les VM de la manière la plus équitable possible, puis place de manière aléatoire les instances restantes dans l'une des zones.

Provisionner un MIG régional sur une zone

Il est possible de créer un MIG régional comportant une seule zone. Cette opération s'apparente à la création d'un MIG zonal.

La création d'un MIG régional à une seule zone est déconseillée, car cela offre une garantie minime en matière d'applications à disponibilité élevée. En cas de défaillance de la zone, l'intégralité de votre MIG devient indisponible, ce qui risque de perturber les utilisateurs.

Étape suivante