Ce document explique comment créer un groupe d'instances géré (MIG) dont les VM sont réparties dans plusieurs zones d'une région. En répartissant la charge de l'application sur plusieurs zones, vous protégez votre charge de travail contre les défaillances de zone. En cas de défaillance d'une zone, votre application peut continuer à diffuser les instances à partir des zones disponibles de la même région.
Ce type de MIG est également appelé MIG zonal. Pour en savoir plus, consultez la page À propos des MIG régionaux.
Vous pouvez également découvrir d'autres scénarios de base pour la création d'un MIG.
Avant de commencer
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
- Si vous voulez vous servir des exemples de ligne de commande de ce guide, installez Google Cloud CLI.
- Créez un modèle d'instance, qui est nécessaire pour créer un groupe d'instances géré.
Limites
Pour afficher la liste complète des limites des MIG, qui varie en fonction de la configuration que vous utilisez, consultez la section Limites des MIG.
Créer un MIG avec des VM dans plusieurs zones d'une région
Utilisez Cloud Console, gcloud CLI ou l'API Compute Engine.
Console
- Dans Cloud Console, accédez à la page Groupes d'instances.
- Cliquez sur Créer un groupe d'instances pour définir un nouveau groupe d'instances.
- Sélectionnez l'une des options du groupe d'instances géré : sans état (par défaut) ou avec état.
- Attribuez un nom et éventuellement une description à votre groupe d'instances.
- Choisissez un modèle d'instance pour le groupe d'instances ou créez-en un.
- Indiquez le nombre de VM pour ce groupe. Pensez à provisionner suffisamment de VM pour prendre en charge votre application en cas de défaillance d'une zone.
- Sous Emplacement, sélectionnez Plusieurs zones.
- Choisissez une région et sélectionnez les zones que vous souhaitez utiliser.
- Sous Forme de distribution cible, sélectionnez Égale. Si vous souhaitez sélectionner une autre forme, consultez la page Définir une forme de distribution cible pour les VM d'un MIG régional.
- Si vous souhaitez désactiver la redistribution proactive des instances
- Assurez-vous que le mode d'autoscaling est défini sur Désactivé : ne pas procéder à un autoscaling.
- Sous Redistribution des instances, décochez la case Activer la redistribution des instances.
- Terminez le processus de création de MIG.
gcloud
Tous les MIG requièrent un modèle d'instance. Commencez par créer un modèle d'instance si vous n'en avez pas. Par exemple, la commande suivante crée un modèle d'instance de base doté des propriétés par défaut :
gcloud compute instance-templates create example-template
Exécutez ensuite la commande instance-groups managed create
avec l'option --region
. Par exemple, la commande suivante crée un groupe d'instances géré régional dans trois zones de la région us-east1
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --region us-east1
Si vous souhaitez sélectionner des zones spécifiques que le groupe doit utiliser, ajoutez l'option --zones
:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c
Si vous souhaitez désactiver la redistribution proactive des instances, définissez l'option --instance-redistribution-type
sur NONE
. Vous ne pouvez pas désactiver la redistribution proactive des instances si l'autoscaling est activé.
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --instance-redistribution-type NONE \ --region us-east1
API
Tous les MIG requièrent un modèle d'instance. Commencez par créer un modèle d'instance si vous n'en avez pas.
Ensuite, envoyez une requête POST
à la méthode regionInstanceGroupManagers.insert
.
Dans le corps de la requête, spécifiez le nom du groupe, sa taille et l'URL du modèle d'instance. Vous pouvez éventuellement spécifier d'autres champs, tels que le nom de base pour les instances du groupe.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet pour cette requête.REGION
: région du groupe.BASE_INSTANCE_NAME
: nom d'instance pour chaque instance de VM créée au sein du groupe. Par exemple, le nom d'instance de baseexample-instance
permettrait la création d'instances portant des noms du typeexample-instance-[RANDOM_STRING]
, où[RANDOM_STRING]
est une chaîne aléatoire générée par le serveur.INSTANCE_TEMPLATE_NAME
: modèle d'instance à utiliser.INSTANCE_GROUP_NAME
: nom du MIG.TARGET_SIZE
: nombre cible de VM pour le groupe.
Si vous souhaitez sélectionner des zones spécifiques, ou si vous créez des VM dans une région comportant un nombre de zones différent de trois, incluez la propriété distributionPolicy
dans votre requête et fournissez la liste des zones. Remplacez ZONE
par le nom d'une zone dans laquelle créer des VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "baseInstanceName": "BASE_INSTANCE_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "name": "INSTANCE_GROUP_NAME", "targetSize": "TARGET_SIZE", "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] } }
Par exemple, la requête qui suit permet de créer un MIG régional nommé example-rmig
et comportant 10 instances gérées réparties sur les zones us-east1-b
et us-east1-c
:
POST https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-east1/instanceGroupManagers { "instanceTemplate": "global/instanceTemplates/example-instance", "name": "example-rmig", "targetSize": 10, "distributionPolicy": { "zones": [ {"zone": "zones/us-east1-b"}, {"zone": "zones/us-east1-c"} ] } }
Selon votre configuration et votre utilisation du MIG, différentes règles et actions peuvent affecter les instances du groupe. Pour répertorier les instances gérées opérationnelles, consultez la section Vérifier l'état des instances gérées.
Si la capacité de chaque zone est insuffisante pour prendre en charge les VM du groupe, Compute Engine crée autant de VM que possible, puis tente de créer les VM restantes lorsqu'une capacité supplémentaire devient disponible.
Si vous ne spécifiez pas explicitement des zones individuelles dans votre requête, Compute Engine choisit automatiquement trois zones dans lesquelles créer des VM. Si vous devez créer des VM dans un nombre de zones différent de trois, ou si vous souhaitez sélectionner les zones utilisées, vous pouvez fournir une liste des zones dans votre requête. Pour en savoir plus, consultez la section Sélection de zones.
Répartition des VM entre les zones
Par défaut, un MIG régional répartit les VM le plus équitablement possible entre les zones sélectionnées. Puisque vous créez un MIG régional, gardez à l'esprit que certaines ressources, comme les disques persistants existants et les GPU, sont zonales. Si le modèle d'instance de votre MIG spécifie des ressources zonales, vous devez vous assurer que toutes ces ressources sont présentes dans toutes les zones sélectionnées afin de pouvoir les associer aux VM créées par le MIG régional. Si vous souhaitez que le groupe vérifie l'existence de ressources zonales pour vous, vous pouvez également définir la forme de distribution cible du MIG pour créer des instances uniquement dans les zones contenant ces ressources.
Pour en savoir plus, consultez les documents suivants :
Définir une forme de distribution cible pour les VM entre les zones
Redistribution proactive des instances
La redistribution proactive des instances est activée par défaut. Si vous devez gérer manuellement le nombre de VM dans chaque zone ou définir la forme de distribution cible du MIG sur BALANCED
, vous devez désactiver la redistribution proactive des instances.
Pour en savoir plus, consultez la documentation suivante :
- Désactiver et réactiver la redistribution proactive des VM
- Rééquilibrer manuellement un MIG régional
Étape suivante
- Configurez l'autoréparation basée sur l'application, qui vérifie périodiquement que votre application répond comme prévu sur chacune des VM du MIG et recrée automatiquement les VM qui ne répondent pas.
- Activez l'autoscaling pour ajouter ou supprimer automatiquement des VM dans votre groupe d'instances géré en fonction de l'augmentation ou de la diminution de la charge.
- Découvrez comment appliquer une nouvelle configuration à une partie ou à l'ensemble des VM d'un MIG en définissant et en appliquant un nouveau modèle d'instance ou une configuration par instance.
- Préservez les disques, les métadonnées et les adresses IP lors d'événements perturbateurs tels que la recréation, l'autoréparation et la mise à jour de VM en ajoutant une configuration avec état.
- Découvrez comment utiliser des instances gérées, par exemple, pour supprimer, abandonner et recréer des VM dans un MIG.
- Affichez les informations sur les MIG et leurs VM.
- Simulez une défaillance de zone pour un MIG régional.