Ajouter de la flexibilité aux instances

Ce document explique comment ajouter la flexibilité des instances, qui vous permet de définir plusieurs types de machines dans un MIG.

Vous pouvez ajouter de la flexibilité d'instance lorsque vous créez un MIG ou en modifiant un MIG existant. Pour ajouter de la flexibilité, configurez une règle de flexibilité des instances dans le MIG. La règle remplace le type de machine spécifié dans le modèle d'instance. Chaque fois que le MIG crée une instance de machine virtuelle (VM), il sélectionne automatiquement l'un des types de machines que vous avez listés dans la règle en fonction de la disponibilité des ressources. Vous pouvez également attribuer des niveaux aux listes de types de machines pour indiquer votre préférence.

Pour savoir comment fonctionne la flexibilité des instances dans un MIG, consultez À propos de la flexibilité des instances.

Avant de commencer

Créer un MIG avec la flexibilité des instances

Avant de créer un MIG, vous devez d'abord créer un modèle d'instance, si vous n'en avez pas déjà un. Vous pouvez ensuite créer un MIG avec la flexibilité des instances pour remplacer le type de machine spécifié dans le modèle d'instance.

Créez un MIG avec la flexibilité des instances de l'une des manières suivantes :

Créer un MIG avec plusieurs types de machines

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur Créer un groupe d'instances.

  3. Dans le champ Nom, saisissez un nom pour le MIG.

  4. Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous souhaitez utiliser pour le MIG.

  5. Avant de pouvoir spécifier le nombre d'instances et ajouter des sélections d'instances, vous devez effectuer les opérations suivantes :

    1. Accédez à la section Emplacement de la page et définissez un emplacement comme suit :

      1. Sélectionnez Plusieurs zones.

      2. Dans les listes déroulantes Régions et Zones, sélectionnez une région ainsi que les zones dans lesquelles vous souhaitez créer les VM à l'intérieur du MIG. Si vous avez sélectionné un modèle d'instance régional, la région de ce modèle est sélectionnée par défaut.

      3. Dans le champ Forme de distribution cible, sélectionnez Équilibrée, Toutes ou Une des zones.

        • Si vous sélectionnez Équilibré ou Une des zones, cliquez sur Désactiver la redistribution des instances dans la boîte de dialogue qui s'ouvre.

        • Si vous sélectionnez N'importe quelle, assurez-vous que la case Autoriser la redistribution des instances n'est pas cochée.

    2. Accédez à la section Autoscaling de la page, puis supprimez la configuration de l'autoscaling comme suit :

      1. Dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration de l'autoscaling.

      2. Dans la boîte de dialogue qui s'ouvre, cliquez sur Supprimer.

    3. Revenez au champ Nombre d'instances.

  6. Dans le champ Nombre d'instances, spécifiez le nombre de VM que vous souhaitez inclure dans le groupe.

  7. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      3. Une fois que vous avez ajouté les types de machines, cliquez sur OK.

  8. Dans la fenêtre Sélections d'instances, cliquez sur OK.

  9. Conservez les paramètres par défaut des autres champs ou modifiez-les si nécessaire.

  10. Cliquez sur Créer.

gcloud

Pour créer un MIG régional avec plusieurs types de machines, utilisez la commande instance-groups managed create comme suit :

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur any-single-zone. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution any-single-zone et incluez le flag --zones ZONE.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être balanced, any ou any-single-zone.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG, par exemple n1-standard-16,n2-standard-16,e2-standard-16.

Terraform

Si vous n'avez pas encore créé de modèle d'instance pour spécifier les propriétés de VM que vous souhaitez pour chaque VM de votre MIG, créez-en un.

Pour créer un MIG régional avec plusieurs types de machines, utilisez la ressource google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

REST

Pour créer un MIG régional avec plusieurs types de machines, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur ANY_SINGLE_ZONE. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution ANY_SINGLE_ZONE et incluez le champ distributionPolicy.zones[].zone dans la requête.

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être BALANCED, ANY ou ANY_SINGLE_ZONE.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG, par exemple "n1-standard-16","n2-standard-16","e2-standard-16".

Créer un MIG avec plusieurs types de machines et préférences

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur Créer un groupe d'instances.

  3. Dans le champ Nom, saisissez un nom pour le MIG.

  4. Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous souhaitez utiliser pour le MIG.

  5. Avant de pouvoir spécifier le nombre d'instances et ajouter des sélections d'instances, vous devez effectuer les opérations suivantes :

    1. Accédez à la section Emplacement de la page et définissez un emplacement comme suit :

      1. Sélectionnez Plusieurs zones.

      2. Dans les listes déroulantes Régions et Zones, sélectionnez une région ainsi que les zones dans lesquelles vous souhaitez créer les VM à l'intérieur du MIG. Si vous avez sélectionné un modèle d'instance régional, la région de ce modèle est sélectionnée par défaut.

      3. Dans le champ Forme de distribution cible, sélectionnez Équilibrée, Toutes ou Une des zones.

        • Si vous sélectionnez Équilibré ou Une des zones, cliquez sur Désactiver la redistribution des instances dans la boîte de dialogue qui s'ouvre.

        • Si vous sélectionnez N'importe quelle, assurez-vous que la case Autoriser la redistribution des instances n'est pas cochée.

    2. Accédez à la section Autoscaling de la page, puis supprimez la configuration de l'autoscaling comme suit :

      1. Dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration de l'autoscaling.

      2. Dans la boîte de dialogue qui s'ouvre, cliquez sur Supprimer.

    3. Revenez au champ Nombre d'instances.

  6. Dans le champ Nombre d'instances, spécifiez le nombre de VM que vous souhaitez inclure dans le groupe.

  7. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instances que vous souhaitez ajouter au MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Rang, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Une fois que vous avez ajouté les types de machines, cliquez sur OK.

  8. Une fois que vous avez terminé d'ajouter les sélections d'instances, cliquez sur OK.

  9. Conservez les paramètres par défaut des autres champs ou modifiez-les si nécessaire.

  10. Cliquez sur Créer.

gcloud

Pour créer un MIG régional avec plusieurs types de machines et préférences, utilisez la commande instance-groups managed create.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur any-single-zone. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution any-single-zone et incluez le flag --zones ZONE.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être balanced, any ou any-single-zone. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Terraform

Si vous n'avez pas encore créé de modèle d'instance pour spécifier les propriétés de VM que vous souhaitez pour chaque VM de votre MIG, créez-en un.

Pour créer un MIG régional avec plusieurs types de machines et préférences, utilisez la ressource google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "best-choice"
      rank          = 1
      machine_types = ["n1-standard-1", "n1-standard-2"]
    }
    instance_selections {
      name          = "still-ok"
      rank          = 2
      machine_types = ["n2-standard-1"]
    }
    instance_selections {
      name          = "if-nothing-else"
      rank          = 3
      machine_types = ["e2-standard-2"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

REST

Pour créer un MIG régional avec plusieurs types de machines et préférences, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4",
          ...
        ],
        "rank": RANK_2
      },
      ...
    }
  }
}

Les MIG zonaux ne sont pas compatibles avec la flexibilité des instances. Toutefois, si vous souhaitez créer un MIG dans une seule zone, définissez la forme de distribution cible sur ANY_SINGLE_ZONE. De plus, si vous souhaitez une zone spécifique, utilisez la forme de distribution ANY_SINGLE_ZONE et incluez le champ distributionPolicy.zones[].zone dans la requête.

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être BALANCED, ANY ou ANY_SINGLE_ZONE. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Créer un MIG avec plusieurs types de machines, préférences et remplacements supplémentaires

Lorsque vous créez un MIG avec plusieurs types de machines, vous pouvez éventuellement définir une plate-forme de processeur minimale et des définitions de disque pour chaque sélection d'instance.

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur Créer un groupe d'instances.

  3. Dans le champ Nom, saisissez un nom pour le MIG.

  4. Dans la liste Modèle d'instance, sélectionnez le modèle d'instance que vous souhaitez utiliser pour le MIG.

  5. Avant de pouvoir spécifier le nombre d'instances et ajouter des sélections d'instances, vous devez effectuer les opérations suivantes :

    1. Accédez à la section Emplacement de la page et définissez un emplacement comme suit :

      1. Sélectionnez Plusieurs zones.

      2. Dans les listes déroulantes Régions et Zones, sélectionnez une région ainsi que les zones dans lesquelles vous souhaitez créer les VM à l'intérieur du MIG. Si vous avez sélectionné un modèle d'instance régional, la région de ce modèle est sélectionnée par défaut.

      3. Dans le champ Forme de distribution cible, sélectionnez Équilibrée, Toutes ou Une des zones.

        • Si vous sélectionnez Équilibré ou Une des zones, cliquez sur Désactiver la redistribution des instances dans la boîte de dialogue qui s'ouvre.

        • Si vous sélectionnez N'importe quelle, assurez-vous que la case Autoriser la redistribution des instances n'est pas cochée.

    2. Accédez à la section Autoscaling de la page, puis supprimez la configuration de l'autoscaling comme suit :

      1. Dans le menu déroulant Mode d'autoscaling, cliquez sur Supprimer la configuration de l'autoscaling.

      2. Dans la boîte de dialogue qui s'ouvre, cliquez sur Supprimer.

    3. Revenez au champ Nombre d'instances.

  6. Dans le champ Nombre d'instances, spécifiez le nombre de VM que vous souhaitez inclure dans le groupe.

  7. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instances que vous souhaitez ajouter au MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Rang, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Si vous souhaitez remplacer la plate-forme de processeur minimale spécifiée dans le modèle d'instance, cochez la case Remplacer la plate-forme de processeur pour cette sélection. Dans la liste Plate-forme de processeur, sélectionnez la plate-forme que vous souhaitez utiliser pour la sélection d'instance.

      5. Si vous souhaitez remplacer la configuration de disque spécifiée dans le modèle d'instance ou associer un stockage, cochez la case Remplacer les disques.

        • Pour remplacer le disque de démarrage, dans la section Disque de démarrage, cliquez sur Modifier, puis suivez les instructions.

        • Pour associer un espace de stockage, cliquez sur Ajouter un disque ou Associer un disque existant, puis suivez les instructions.

      6. Une fois que vous avez terminé d'ajouter les types de machines et les remplacements, cliquez sur OK.

  8. Une fois que vous avez terminé d'ajouter les sélections d'instances, cliquez sur OK.

  9. Conservez les paramètres par défaut des autres champs ou modifiez-les si nécessaire.

  10. Cliquez sur Créer.

gcloud

Utilisez la commande instance-groups managed create.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --force-update-on-repair \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-flexibility-policy={"instanceSelections": \
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"deviceName":"DEVICE_NAME_1","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}, \
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3","MACHINE_TYPE_4"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"deviceName":"DEVICE_NAME_2","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}}}

Vous pouvez également utiliser un fichier YAML ou JSON pour configurer la stratégie de flexibilité des instances. Pour ce faire, utilisez l'option --flags-file au lieu de l'option --instance-flexibility-policy et spécifiez le nom du fichier. Par exemple, utilisez --flags-file=FILE_NAME.YAML.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être balanced, any ou any-single-zone. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • MIN_CPU_PLATFORM : plate-forme de processeur minimale pour les instances.
  • DEVICE_NAME : nom d'appareil pour le disque.
  • IMAGE_PROJECT : ID du projet de l'image source.
  • IMAGE_NAME : nom de l'image source.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

REST

Envoyez une requête POST à la méthode regionInstanceGroupManagers.insert bêta.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
"name": "INSTANCE_GROUP_NAME",
"targetSize": "TARGET_SIZE",
"instanceTemplate": "INSTANCE_TEMPLATE_URL",
"distributionPolicy": {
  "targetShape": "SHAPE"
},
"updatePolicy": {
  "instanceRedistributionType": "NONE"
},
"instanceLifecyclePolicy": {
  "forceUpdateOnRepair": "YES",
},
"instanceFlexibilityPolicy": {
  "instanceSelections": {
    "INSTANCE_SELECTION_1": {
      "machineTypes": ["MACHINE_TYPE_1", "MACHINE_TYPE_2", …],
      "minCpuPlatform": "MIN_CPU_PLATFORM_1",
      "disks": [
        {
          "deviceName": "DEVICE_NAME_1",
          "initializeParams": {
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
          },
          "boot": true
        }
      ],
      "rank": RANK_1
    },
    "INSTANCE_SELECTION_2": {
      "machineTypes": ["MACHINE_TYPE_3", "MACHINE_TYPE_4", …],
      "minCpuPlatform": "MIN_CPU_PLATFORM_2",
      "disks": [
        {
          "deviceName": "DEVICE_NAME_2",
          "initializeParams": {
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
          },
          "boot": true
        }
      ],
      "rank": RANK_2
    }
  }
}
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région dans laquelle vous souhaitez créer le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • TARGET_SIZE : nombre de VM que le MIG doit créer et gérer.
  • 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
  • SHAPE : forme de distribution cible. La valeur peut être BALANCED, ANY ou ANY_SINGLE_ZONE. Les autres formes de distribution cible ne sont pas acceptées.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • MIN_CPU_PLATFORM : plate-forme de processeur minimale pour les instances.
  • DEVICE_NAME : nom d'appareil pour le disque.
  • IMAGE_PROJECT : ID du projet de l'image source.
  • IMAGE_NAME : nom de l'image source.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Ajouter la flexibilité des instances à un MIG existant

Vous pouvez ajouter la flexibilité des instances à un MIG existant. Vous pouvez définir plusieurs types de machines et définir des préférences pour certains types de machines.

Si votre MIG contient déjà des VM, celles-ci continuent d'utiliser le type de machine spécifié dans le modèle d'instance. Si vous souhaitez que les VM existantes dans le MIG utilisent les types de machines de la règle de flexibilité des instances, supprimez les VM existantes après avoir ajouté la règle, puis redimensionnez le MIG au nombre de VM requis. Lors du redimensionnement, les nouvelles VM utiliseront les types de machines de la règle.

Pour modifier une règle de flexibilité d'instance existante, consultez Modifier la configuration de la flexibilité d'instance.

Ajoutez la flexibilité des instances à un MIG de l'une des manières suivantes :

Ajouter plusieurs types de machines

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur le nom du MIG dans lequel vous souhaitez définir plusieurs types de machines.

  3. Cliquez sur Modifier.

  4. Cliquez sur Flexibilité des instances pour développer la section.

  5. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      3. Une fois que vous avez ajouté les types de machines, cliquez sur OK.

  6. Dans la fenêtre Sélections d'instances, cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

Pour ajouter plusieurs types de machines à un MIG existant, utilisez la commande instance-groups managed update.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région où se trouve le MIG.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.

REST

Pour ajouter plusieurs types de machines à un MIG existant, envoyez une requête PATCH à la méthode regionInstanceGroupManagers.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
    "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
          ...
        ]
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région où se trouve le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Ajouter plusieurs types de machines et préférences

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur le nom du MIG dans lequel vous souhaitez définir plusieurs types de machines.

  3. Cliquez sur Modifier.

  4. Cliquez sur Flexibilité des instances pour développer la section.

  5. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instances que vous souhaitez ajouter au MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Rang, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Une fois que vous avez ajouté les types de machines, cliquez sur OK.

  6. Une fois que vous avez terminé d'ajouter les sélections d'instances, cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

Pour ajouter plusieurs types de machines et préférences à un MIG existant, utilisez la commande instance-groups managed update.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
    --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région où se trouve le MIG.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

REST

Pour ajouter plusieurs types de machines et préférences à un MIG existant, envoyez une requête PATCH à la méthode regionInstanceGroupManagers.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "rank": RANK_2
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région où se trouve le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Ajouter plusieurs types de machines, préférences et autres remplacements

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur le nom du MIG dans lequel vous souhaitez définir plusieurs types de machines.

  3. Cliquez sur Modifier.

  4. Cliquez sur Flexibilité des instances pour développer la section.

  5. Dans la section Sélections d'instances, cliquez sur Ajouter des sélections.

    La fenêtre Sélections d'instances s'ouvre. Répétez les étapes suivantes pour chaque sélection d'instances que vous souhaitez ajouter au MIG.

    1. Cliquez sur Ajouter une sélection d'instances.

    2. Dans la section Sélection de la nouvelle instance, procédez comme suit :

      1. Dans le champ Nom, saisissez un nom pour la sélection d'instance.

      2. Dans le champ Rang, saisissez l'ordre de préférence parmi les sélections d'instances que vous ajoutez pour le MIG.

      3. Dans la section Types de machines, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter à la sélection d'instances et cliquez sur OK.

        Répétez cette étape pour chaque type de machine que vous souhaitez ajouter à la sélection d'instances.

      4. Si vous souhaitez remplacer la plate-forme de processeur minimale spécifiée dans le modèle d'instance, cochez la case Remplacer la plate-forme de processeur pour cette sélection. Dans la liste Plate-forme de processeur, sélectionnez la plate-forme que vous souhaitez utiliser pour la sélection d'instance.

      5. Si vous souhaitez remplacer la configuration de disque spécifiée dans le modèle d'instance ou associer un stockage, cochez la case Remplacer les disques.

        • Pour remplacer le disque de démarrage, dans la section Disque de démarrage, cliquez sur Modifier, puis suivez les instructions.

        • Pour associer un espace de stockage, cliquez sur Ajouter un disque ou Associer un disque existant, puis suivez les instructions.

      6. Une fois que vous avez terminé d'ajouter les types de machines et les remplacements, cliquez sur OK.

  6. Une fois que vous avez terminé d'ajouter les sélections d'instances, cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

Pour ajouter plusieurs types de machines, préférences et remplacements de propriétés d'instance à un MIG existant, utilisez la commande bêta instance-groups managed update.

gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
    --region REGION \
    --instance-flexibility-policy= '{"instanceSelections": \
        {"INSTANCE_SELECTION_1":{"rank":RANK_1,"machineTypes":["MACHINE_TYPE_1","MACHINE_TYPE_2"],"minCpuPlatform":"MIN_CPU_PLATFORM_1","disks":[{"device-name":"DEVICE_NAME_1","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}, \
        "INSTANCE_SELECTION_2":{"rank":RANK_2,"machineTypes":["MACHINE_TYPE_3","MACHINE_TYPE_4"],"minCpuPlatform":"MIN_CPU_PLATFORM_2","disks":[{"device-name":"DEVICE_NAME_2","boot":true,"initializeParams":{"sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"}}]}}}'

Vous pouvez également utiliser un fichier YAML ou JSON pour configurer la stratégie de flexibilité des instances. Pour ce faire, utilisez l'option --flags-file au lieu de l'option --instance-flexibility-policy et spécifiez le nom du fichier. Par exemple, utilisez --flags-file=FILE_NAME.YAML.

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG.
  • REGION : région où se trouve le MIG.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • MIN_CPU_PLATFORM : plate-forme de processeur minimale pour les instances.
  • DEVICE_NAME : nom d'appareil pour le disque.
  • IMAGE_PROJECT : ID du projet de l'image source.
  • IMAGE_NAME : nom de l'image source.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

REST

Pour ajouter plusieurs types de machines, préférences et remplacements de propriétés d'instance à un MIG existant, envoyez une requête PATCH à la méthode regionInstanceGroupManagers.patch bêta.

PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION_1": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_1",
        "disks": [
          {
            "deviceName": "DEVICE_NAME_1",
            "initializeParams": {
              "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
            },
            "boot": true
          }
        ],
        "rank": RANK_1
      },
      "INSTANCE_SELECTION_2": {
        "machineTypes": [
          "MACHINE_TYPE_3",
          "MACHINE_TYPE_4"
        ],
        "minCpuPlatform": "MIN_CPU_PLATFORM_2",
        "disks": [
          {
            "deviceName": "DEVICE_NAME_2",
            "initializeParams": {
              "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE_NAME"
            },
            "boot": true
          }
        ],
        "rank": RANK_2
      }
    }
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • REGION : région où se trouve le MIG.
  • INSTANCE_GROUP_NAME : nom du MIG.
  • INSTANCE_SELECTION : nom de la liste des types de machines.
  • MACHINE_TYPE : types de machines que vous souhaitez configurer dans le MIG.
  • MIN_CPU_PLATFORM : plate-forme de processeur minimale pour les instances.
  • DEVICE_NAME : nom d'appareil pour le disque.
  • IMAGE_PROJECT : ID du projet de l'image source.
  • IMAGE_NAME : nom de l'image source.
  • RANK : nombre représentant votre ordre de préférence pour la sélection des instances. Une valeur inférieure signifie une préférence plus forte.

Exemple de fichier YAML pour configurer la flexibilité des instances

Vous pouvez utiliser un fichier YAML ou JSON pour configurer la stratégie de flexibilité des instances. Pour ce faire, utilisez l'option --flags-file dans votre commande gcloud CLI et spécifiez le nom du fichier. Par exemple, utilisez --flags-file=FILE_NAME.YAML.

Voici un exemple de fichier YAML :

--instance-flexibility-policy:
  instanceSelections:
    first-preference:
      rank: 1
      machineTypes:
        - n2-standard-8
      minCpuPlatform: "Intel Ice Lake"
      disks:
        - deviceName: data-disk
          boot: false
          initializeParams:
            sourceImage: projects/debian-cloud/global/images/debian-12
            diskType: pd-ssd

Étapes suivantes