Groupes d'instances

Un groupe d'instances est un ensemble d'instances de machines virtuelles (VM) qui peuvent être gérées en tant qu'entité unique.

Compute Engine propose deux types de groupes d'instances de VM, les groupes gérés et non gérés :

  • Les groupes d'instances gérés (MIG, Managed Instance Group) vous permettent d'exploiter des applications sur plusieurs VM identiques. Vous pouvez rendre vos charges de travail évolutives et hautement disponibles en tirant parti des services de MIG automatisés, comme l'autoscaling, l'autoréparation, le déploiement régional (multizone) et la mise à jour automatique.
  • Les groupes d'instances non gérés vous permettent d'équilibrer la charge sur un parc de VM que vous gérez vous-même.

Groupes d'instances gérés (MIG)

Les MIG sont adaptés aux charges de travail de diffusion sans état (telles que l'interface d'un site Web) et aux charges de travail de calcul par lots, hautes performances ou haut débit (telles que le traitement d'images à partir d'une file d'attente).

Chaque instance de VM d'un MIG est créée à partir d'un modèle d'instance.

Pour en savoir plus sur la création d'un groupe d'instances géré, consultez la page Créer des groupes d'instances gérés.

Avantages

Les MIG offrent les avantages suivants :

  • Haute disponibilité
    • Maintien des instances en cours d'exécution : si une instance du groupe s'arrête, plante ou est supprimée par une action différente d'une commande de gestion du groupe d'instances (par exemple, un scaling à la baisse intentionnel), le MIG la recrée automatiquement conformément à la spécification de l'instance d'origine (même nom d'instance, même modèle) de sorte qu'elle puisse reprendre son travail.
    • Autoréparation : vous pouvez également configurer une règle d'autoréparation reposant sur une vérification de l'état basée sur l'application, qui vérifie périodiquement que votre application répond comme prévu sur chacune des instances du MIG. Si une application ne répond pas sur une instance, l'instance en question est automatiquement recréée. Vérifier qu'une application répond est une méthode plus précise que de simplement s'assurer qu'une instance est opérationnelle.
    • Couverture régionale (multizone) : Les groupes d'instances gérés régionaux vous permettent de répartir la charge des applications sur plusieurs zones. Cette réplication constitue une protection contre les défaillances de zones. Le cas échéant, votre application peut continuer à diffuser le trafic à partir d'instances s'exécutant dans les zones disponibles restantes de la même région.
    • Équilibrage de charge : les groupes d'instances gérés font appel à des services d'équilibrage de charge pour répartir le trafic entre toutes les instances du groupe.
  • Évolutivité. Lorsque vos applications nécessitent des ressources de calcul supplémentaires, les MIG avec autoscaling peuvent augmenter automatiquement le nombre d'instances du groupe pour répondre à la demande. En cas de baisse de la demande, les MIG avec autoscaling peuvent le réduire automatiquement afin de diminuer les coûts.
  • Mises à jour automatisées : Le programme de mise à jour automatique de groupes d'instances gérés vous permet de déployer en toute sécurité de nouvelles versions de logiciels sur des instances de votre MIG, et prend en charge un éventail flexible de scénarios de déploiement tels que les mises à jour progressives et Canary. Vous pouvez contrôler la vitesse et le champ d'application du déploiement, ainsi que le niveau de perturbation de votre service.
Présentation des capacités des MIG et des charges de travail courantes

Autoréparation

Les groupes d'instances gérés maintiennent la haute disponibilité de vos applications en s'assurant de manière proactive que vos instances restent disponibles, c'est-à-dire à l'état RUNNING. Un groupe d'instances géré recrée automatiquement une instance qui n'est pas à l'état RUNNING. Cependant, se baser sur l'état de l'instance peut ne pas s'avérer suffisant. Vous pouvez choisir de recréer des instances lorsqu'une application se bloque, plante ou manque de mémoire.

L'autoréparation basée sur les applications améliore la disponibilité de ces dernières grâce à un signal de vérification de l'état qui détecte les problèmes propres aux applications, tels que le blocage, le plantage ou la surcharge. Si une vérification de l'état identifie une application défaillante sur une instance, le groupe recrée automatiquement cette instance.

Vérification de l'état

Les vérifications de l'état permettant de surveiller des groupes d'instances gérés sont semblables à celles utilisées pour l'équilibrage de charge, à quelques différences près au niveau de leur comportement. Les vérifications de l'état pour l'équilibrage de charge aident à détourner le trafic des instances non réactives afin de le diriger vers des instances opérationnelles. Elles n'entraînent aucune recréation d'instances de la part de Compute Engine. Par ailleurs, les vérifications de l'état des groupes d'instances gérés signalent de manière proactive que des instances doivent être supprimées et recréées lorsqu'elles passent à l'état UNHEALTHY.

Dans la plupart des cas, utilisez des vérifications de l'état distinctes pour l'équilibrage de charge et l'autoréparation. Les vérifications de l'état relatives à l'équilibrage de charge peuvent et devraient se révéler plus agressives, car elles déterminent si une instance reçoit du trafic utilisateur ou non. Comme vos clients comptent sur la disponibilité de vos services, vous devez identifier rapidement les instances non réactives afin de pouvoir rediriger le trafic si nécessaire. En revanche, les vérifications de l'état pour l'autoréparation entraînent le remplacement proactif des instances défaillantes par les MIG. Ces vérifications de l'état devraient donc être plus conservatrices que celles destinées à l'équilibrage de charge.

Pour en savoir plus, consultez la section Configurer la vérification d'état et l'autoréparation des groupes d'instances gérés.

Groupes régionaux ou zonaux

Vous pouvez créer deux types de groupes d'instances gérés :

Tous deux offrent les avantages présentés par les groupes d'instances gérés. Les MIG régionaux permettent d'obtenir une disponibilité plus élevée en répartissant la charge des applications sur plusieurs zones, ce qui protège votre charge de travail contre les défaillances de zones. Ils offrent également une plus grande capacité, avec au maximum 2 000 instances par groupe régional.

Équilibrage de charge

La fonctionnalité d'équilibrage de charge de Google Cloud utilise des groupes d'instances pour diffuser le trafic. Selon le type d'équilibreur de charge que vous choisissez, vous pouvez ajouter des groupes d'instances à un service de backend ou à un pool cible.

Pour en savoir plus, reportez-vous à la page Ajouter un groupe d'instances à un équilibreur de charge.

Autoscaling

Les groupes d'instances gérés prennent en charge l'autoscaling qui ajoute ou supprime dynamiquement des instances d'un groupe d'instances géré en réponse à une augmentation ou une diminution de la charge. Vous activez l'autoscaling et configurez une règle d'autoscaling afin de spécifier la manière dont vous souhaitez que le groupe évolue. Les règles d'autoscaling incluent le scaling en fonction de l'utilisation du processeur, de la capacité d'équilibrage de charge, des métriques de Stackdriver Monitoring ou, pour les MIG zonaux, en fonction d'une charge de travail basée sur une file d'attente comme le Pub/Sub.

Pour plus d'informations, reportez-vous à la section Autoscaling des groupes d'instances.

Mises à jour automatisées

Vous pouvez déployer facilement et en toute sécurité de nouvelles versions de logiciels sur des instances d'un groupe d'instances géré. Le déploiement d'une mise à jour se fait automatiquement selon vos spécifications : vous pouvez en contrôler la vitesse et le champ d'application afin de minimiser les interruptions de votre application. Vous pouvez éventuellement effectuer des déploiements partiels pour des tests en version Canary.

Consultez la page Mettre à jour les groupes d'instances gérés.

Groupes d'instances préemptives

Pour les charges de travail pour lesquelles les coûts minimaux priment sur la vitesse d'exécution, vous pouvez réduire le coût de votre charge de travail en utilisant des instances de VM préemptives dans votre groupe d'instances. Les instances préemptives durent jusqu'à 24 heures et sont préemptées de manière concertée. Votre application dispose de 30 secondes pour se fermer correctement. Les instances préemptives peuvent être supprimées à tout moment, mais l'autoréparation les ramènera une fois la capacité préemptive de nouveau disponible.

Conteneurs

Vous pouvez simplifier le déploiement d'applications en déployant des conteneurs sur des instances de groupes d'instances gérés. Lorsque vous spécifiez une image de conteneur dans un modèle d'instance, puis utilisez ce modèle pour créer un groupe d'instances géré, chaque instance est créée avec un système d'exploitation Container-Optimized OS incluant Docker, et votre conteneur démarre automatiquement sur chaque instance du groupe. Consultez la page Déployer des conteneurs sur des VM et des groupes d'instances gérés.

Réseau

Par défaut, les instances du groupe sont placées sur le réseau default et des adresses IP de la plage régionale leur sont attribuées de manière aléatoire. Vous pouvez également restreindre la plage d'adresses IP du groupe en créant un réseau VPC en mode personnalisé et un sous-réseau qui utilise une plage d'adresses IP plus restreinte, puis en spécifiant ce sous-réseau dans le modèle d'instance.

Démonstration des capacités des MIG

La présentation vidéo suivante, d'une durée de 45 minutes, a été enregistrée à l'occasion de la conférence Google Cloud NEXT 2018. Elle contient des démonstrations et des bonnes pratiques pour la configuration, l'exécution et la mise à jour de déploiements évolutifs et hautement disponibles à l'aide de groupes d'instances gérés Compute Engine.

Elle vous montrera comment déployer un conteneur sur un groupe d'instances géré, configurer une règle d'autoréparation, utiliser un groupe régional en guise de protection contre les défaillances de zones, configurer l'autoscaling pour atteindre les objectifs en termes de processeur et répondre aux demandes basées sur la file d'attente, et gérer les mises à jour évolutives et Canary.

Groupes d'instances non gérés

Les groupes d'instances non gérés peuvent contenir des instances hétérogènes que vous pouvez ajouter et supprimer de manière arbitraire dans le groupe. Les groupes d'instances non gérés ne permettent pas l'autoscaling et l'autoréparation, et ne prennent pas en charge la mise à jour progressive, la couverture multizone, ni l'utilisation de modèles d'instances. Ils ne conviennent pas non plus au déploiement de charges de travail hautement disponibles et évolutives. Utilisez des groupes d'instances non gérés si vous devez appliquer l'équilibrage de charge à des groupes d'instances hétérogènes ou si vous devez gérer les instances vous-même.

Si vous devez créer des groupes d'instances non gérés, consultez la page Groupes d'instances non gérés.

Étapes suivantes