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
- Créez un modèle d'instance, qui est nécessaire pour créer un groupe d'instances géré.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Accéder à la page "Groupes d'instances"
Les étapes restantes s'affichent dans la console Google Cloud.
-
Cliquez sur
Créer un groupe d'instances pour définir un nouveau groupe d'instances. -
Sélectionnez l'une des options du nouveau groupe d'instances géré :
- Sans état (par défaut)
- 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.
- Dans le champ Nombre d'instances ou Autoscaling, spécifiez le nombre d'instances pour ce groupe. Pensez à provisionner suffisamment de VM pour prendre en charge votre application en cas de défaillance d'une zone.
-
Pour
Emplacement , sélectionnez Plusieurs zones. - Choisissez une région et sélectionnez les zones que vous souhaitez utiliser. Si vous avez choisi un modèle d'instance régional, la région est automatiquement sélectionnée en fonction de la région du modèle.
- Sous Forme de distribution cible, sélectionnez Régulière. 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, décochez la case Autoriser la redistribution des instances sous Redistribution des instances.
- Terminez le processus de création de MIG.
- Pour créer le MIG, cliquez sur
Créer . 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 (facultatif). 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. Pour un modèle d'instance régional, vous devez spécifier l'URL complète ou partielle du modèle.https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
est un exemple d'URL complète etprojects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template
est un exemple d'URL partielle.INSTANCE_GROUP_NAME
: nom du MIG.TARGET_SIZE
: nombre cible de VM pour le groupe.Définir une forme de distribution cible pour les VM entre les zones
- Désactiver et réactiver la redistribution proactive des VM
- Rééquilibrer manuellement un MIG régional
- 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 à un sous-ensemble ou à l'ensemble des VM d'un MIG en définissant et en appliquant un nouveau modèle d'instance, une configuration sur toutes les instances, 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.
- Simuler une défaillance de zone pour un MIG régional
- Découvrez comment ajouter une interface d'équilibreur de charge HTTP(S) externe à votre groupe d'instances. Consultez la page Présentation de l'équilibrage de charge pour obtenir des informations sur les autres types d'équilibreurs de charge.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
Pour en savoir plus, consultez Set up authentication for a local development environment.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
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 la console Google Cloud, la gcloud CLI, Terraform ou REST.
Console
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égionus-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, consultez la section Désactiver la redistribution proactive des instances.
Terraform
Si vous n'avez pas encore créé de modèle d'instance, qui spécifie le type de machine, l'image de disque de démarrage, le réseau et les autres propriétés de VM que vous souhaitez pour chaque VM de votre MIG, créez Un modèle d'instance.
Pour créer un MIG régional, vous pouvez utiliser la ressource
google_compute_region_instance_group_manager
.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
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éthoderegionInstanceGroupManagers.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 :
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. RemplacezZONE
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 zonesus-east1-b
etus-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 :
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
ouANY_SINGLE_ZONE
, vous devez désactiver la redistribution proactive des instances.Pour en savoir plus, consultez la documentation suivante :
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/22 (UTC).
-