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 groupes d'instances gérés (MIG) sont adaptés aux scénarios suivants :

  • Charges de travail de diffusion sans état, telles que l'interface d'un site Web
  • 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
  • Applications avec état, telles que des bases de données, des applications anciennes et des opérations de calcul par lot de longue durée avec des points de contrôle (version bêta)

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

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

Avantages

Les MIG offrent les avantages suivants :

  • Haute disponibilité
    • Maintien des instances de VM en cours d'exécution. Si une VM du groupe s'arrête, plante ou est supprimée par une action autre qu'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 de VM, même modèle) de sorte qu'elle puisse reprendre son travail.
    • Autoréparation basée sur l'application. 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 régulièrement que votre application répond comme prévu sur chacune des instances du MIG. Si une application ne répond pas sur une VM, la VM 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 VM 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.
  • Compatibilité pour les charges de travail avec état. Vous pouvez utiliser des groupes d'instances gérés pour créer des déploiements à haute disponibilité et automatiser le fonctionnement des applications avec des données ou des configurations avec état, telles que des bases de données, des serveurs DNS, des applications monolithiques anciennes et des opérations de calcul par lot de longue durée avec des points de contrôle. Un MIG avec état conserve l'état unique de chaque instance (y compris le nom de l'instance, les disques persistants associés et les métadonnées) lors du redémarrage, de la recréation, de l'autoréparation ou de la mise à jour de la machine.
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 MIG recrée automatiquement une instance qui n'est pas dans l'état RUNNING. Cependant, se baser sur l'état de la VM peut s'avérer insuffisant. 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 d'état identifie une application défaillante sur une VM, le groupe recrée automatiquement cette instance de VM.

Vérification de l'état

Les vérifications d'état permettant de surveiller des MIG 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 d'état relatives à l'équilibrage de charge peuvent et même doivent se révéler plus agressives, car elles déterminent si une instance reçoit du trafic utilisateur ou non. Étant donné que des clients peuvent s'appuyer sur vos services, vous devez identifier rapidement les instances non réactives afin d'être en mesure de 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 d'é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 MIG :

  • Un MIG zonal qui déploie des instances sur une seule zone
  • Un MIG régional qui déploie des instances sur plusieurs zones de la même région

Tous deux offrent les avantages présentés par les MIG. 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, consultez la section Ajouter un groupe d'instances à un équilibreur de charge.

Autoscaling

Les MIG prennent en charge l'autoscaling qui ajoute ou supprime dynamiquement des instances d'un MIG 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 Cloud Monitoring ou, pour les MIG zonaux, en fonction d'une charge de travail basée sur une file d'attente comme 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 MIG. 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 section Mettre à jour des groupes d'instances gérés (MIG).

Compatibilité pour les charges de travail avec état.

Vous pouvez créer des déploiements à haute disponibilité de charges de travail avec état sur des VM à l'aide de groupes d'instances gérés avec état (MIG avec état). Les charges de travail avec état incluent des applications avec des données ou des configurations avec état, telles que des bases de données, des applications monolithiques anciennes et des opérations de calcul par lot de longue durée avec des points de contrôle.

Vous pouvez améliorer la disponibilité et la résilience de ces applications grâce à l'autoréparation, les mises à jour contrôlées et les déploiements multizones, tout en préservant l'état unique de chaque instance, y compris son nom d'instance personnalisable, ses disques persistants et ses métadonnées.

Pour en savoir plus, consultez la page Groupes d'instances gérés (MIG) avec état.

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 VM est créée avec un système d'exploitation Container-Optimized OS incluant Docker, et votre conteneur démarre automatiquement sur chaque VM du groupe. Consultez la section Déployer des conteneurs sur des VM et des MIG.

Réseau et sous-réseau

Lorsque vous créez un groupe d'instances géré, vous devez faire référence à un modèle d'instance existant. Le modèle d'instance définit le réseau et le sous-réseau VPC à utiliser par les instances membres. Pour les réseaux VPC en mode automatique, vous pouvez omettre le sous-réseau. Cela indique alors à Google Cloud de sélectionner le sous-réseau créé automatiquement au sein de la région spécifiée dans le modèle. Si vous omettez de fournir un réseau VPC, Google Cloud tente d'utiliser le réseau VPC nommé default.

Pour en savoir plus, consultez la section Réseaux et sous-réseaux.

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 MIG Compute Engine.

Elle vous montrera comment déployer un conteneur sur un MIG, 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