Ce document explique comment créer un groupe d'instances géré (MIG) dans une seule zone. Placer toutes les VM de votre MIG dans une seule zone permet de minimiser la latence, ce qui est utile pour certaines charges de travail, par exemple les charges de travail par lot.
Ce type de MIG est également appelé MIG zonal.
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. Cela 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 permet 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 en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
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 groupe d'instance géré (MIG) dans une seule zone
Pour créer un MIG dans une seule zone, utilisez Google Cloud console, la gcloud CLI, Terraform ou REST.
Console
-
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 . -
Si vous souhaitez créer un MIG avec état, sélectionnez l'option
Nouveau groupe d'instances géré (avec état) . Pour vous aider à faire votre choix, consultez la section Quand utiliser des MIG 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. -
Pour
Emplacement , sélectionnez Zone unique. - Sélectionnez ensuite la région et la zone dans lesquelles vous souhaitez créer votre MIG. 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.
- Pour les MIG sans état, l'autoscaling est activé par défaut. Avec l'autoscaling, votre groupe ajoute ou supprime automatiquement des instances en fonction de son utilisation.
- Vous pouvez également activer l'autoréparation pour pouvoir vérifier l'état des VM du groupe.
- Cliquez sur Créer pour créer le groupe.
gcloud
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.
Créez un groupe d'instances géré à l'aide de la commande instance-groups managed create, et spécifiez le nom du groupe, la taille du groupe, le modèle d'instance et la zone.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
--size SIZE \
--template INSTANCE_TEMPLATE_URL \
--zone ZONERemplacez les éléments suivants :
INSTANCE_GROUP_NAME: nom du groupe d'instances.SIZE: taille du groupe d'instances.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :- Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Pour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
- Pour un modèle d'instance régional :
ZONE: une des zones disponibles pour Compute Engine. Si vous souhaitez répartir les VM de votre MIG sur plusieurs zones d'une région, consultez la section Créer un MIG régional.
Vous pouvez éventuellement indiquer l'option --base-instance-name. Étant donné que ces VM sont basées sur un modèle commun, chaque VM se voit attribuer une chaîne aléatoire dans son nom. Cette chaîne aléatoire est précédée du nom de base. Par exemple, si vous définissez le nom de base sur test, les VM porteront des noms tels que test-yahs et test-qtyz. Si vous souhaitez attribuer un nom spécifique, consultez la section Créer des instances avec des noms spécifiques dans les MIG.
Par exemple, la commande suivante crée un groupe d'instances nommé "example-group", dont le nom de VM de base est test. Le groupe contient trois instances :
gcloud compute instance-groups managed create example-group \
--base-instance-name test \
--size 3 \
--template an-instance-template \
--zone us-central1-fTerraform
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 zonal, vous pouvez utiliser la ressource google_compute_instance_group_manager.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
REST
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.
Créez un groupe d'instances géré à l'aide de la méthode instanceGroupManagers.insert.
Dans le corps de la requête, spécifiez le nom du groupe, sa taille et l'URL du modèle d'instance.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"versions": [
{
"instanceTemplate": "INSTANCE_TEMPLATE_URL"
}
],
"name": "INSTANCE_GROUP_NAME",
"targetSize": SIZE
}
Remplacez les éléments suivants :
PROJECT_ID: l'ID du projet pour la requête.ZONE: zone de la requête Si vous souhaitez répartir les VM de votre MIG sur plusieurs zones dans une région, remplacezzones/ZONEparregions/REGIONet spécifiez une région. Pour plus d'informations, consultez la page Créer un MIG régional.INSTANCE_GROUP_NAME: nom du groupe d'instances.SIZE: taille du groupe d'instances.INSTANCE_TEMPLATE_URL: URL du modèle d'instance que vous souhaitez utiliser pour créer des instances dans le MIG. L'URL peut contenir l'ID ou le nom du modèle d'instance. Spécifiez une des valeurs suivantes :- Pour un modèle d'instance régional :
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Pour un modèle d'instance global :
INSTANCE_TEMPLATE_ID
- Pour un modèle d'instance régional :
Vous pouvez éventuellement spécifier le champ base-name. Étant donné que ces VM sont basées sur un modèle commun, chaque VM se voit attribuer une chaîne aléatoire dans son nom. Cette chaîne aléatoire est précédée du nom de base. Par exemple, si vous définissez le nom de base sur test, les VM porteront des noms tels que test-yahs et test-qtyz. Si vous souhaitez attribuer un nom spécifique, consultez la section Créer des instances avec des noms spécifiques dans les MIG.
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.
É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 MIG 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.
- Découvrez comment ajouter une interface d'équilibreur de charge HTTP(S) externe à votre groupe d'instances. Consultez la Présentation de l'équilibrage de charge pour obtenir des informations sur les autres types d'équilibreurs de charge.