Créer un MIG dans une seule zone


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, 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 :

    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 et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    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.

    1. Installez Google Cloud CLI.
    2. Pour initialiser gcloudCLI, exécutez la commande suivante :

      gcloud init
    3. Créez des identifiants d'authentification locaux pour votre compte Google :

      gcloud auth application-default login

    Pour en savoir plus, consultez les sections sur Configurer l'authentification pour un environnement de développement local.

    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.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

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 dans une seule zone

Pour créer un MIG dans une seule zone, utilisez la console Google Cloud, la gcloud CLI, Terraform ou REST.

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

    Les étapes restantes apparaîtront automatiquement dans la console Google Cloud.

  2. Cliquez sur Créer un groupe d'instances.
  3. 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.
  4. Attribuez un nom et éventuellement une description à votre groupe d'instances.
  5. Choisissez un modèle d'instance pour le groupe d'instances ou créez-en un.
  6. 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.
  7. Pour Emplacement, sélectionnez Zone unique.
  8. 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.
  9. 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.
  10. Vous pouvez également activer l'autoréparation pour pouvoir vérifier l'état des VM du groupe.
  11. 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 \
    --zone ZONE

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du groupe d'instances.
  • SIZE : taille du groupe d'instances.
  • INSTANCE_TEMPLATE : nom du modèle d'instance à utiliser pour le groupe. 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 et projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template est un exemple d'URL partielle.
  • 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-f

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 zonal, vous pouvez utiliser la ressource google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {

  name               = "example-group"
  base_instance_name = "test"
  target_size        = 3
  zone               = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page 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": "global/instanceTemplates/INSTANCE_TEMPLATE"
    }
  ],
  "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, remplacez zones/ZONE par regions/REGION et 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 : modèle d'instance à utiliser pour le groupe.

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