Désactiver et réactiver la redistribution proactive des VM dans un MIG régional

Dans un groupe d'instances géré (MIG) régional, pour conserver un nombre équitable d'instances de machines virtuelles (VM) dans les zones sélectionnées de la région, utilisez le redistribution proactive des instances. Cette option de configuration maximise la disponibilité de votre application en cas de défaillance de la zone.

La redistribution proactive des instances est activée par défaut pour les MIG régionaux, mais vous pouvez la désactiver pour les MIG régionaux sans autoscaling. Lorsque la redistribution proactive des instances est désactivée, le groupe ne tente pas de redistribuer les VM de manière proactive entre les zones. Ceci est utile si vous devez :

  • supprimer ou abandonner des VM du groupe sans affecter les autres VM en cours d'exécution. Par exemple, vous pouvez supprimer une VM de nœud de calcul par lot une fois la tâche terminée sans affecter les autres nœuds de calcul ;
  • protéger des VM avec des charges de travail avec état contre la suppression automatique indésirable en raison d'une redistribution proactive.
  • Définissez la forme de distribution cible du groupe d'instances géré sur BALANCED.

Vous pouvez désactiver la redistribution proactive des instances lors de la création d'un MIG régional. Vous pouvez également l'activer ou la désactiver pour un MIG régional existant.

Avant de commencer

Créer un groupe avec la redistribution proactive des instances désactivée

Pour créer un MIG régional avec la redistribution proactive des instances désactivée, utilisez la console Google Cloud, gcloud CLI ou l'API Compute Engine.

Console

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

    Accéder à la page Groupes d'instances

  2. Cliquez sur Créer un groupe d'instances pour définir un nouveau groupe d'instances.
  3. Attribuez un nom et éventuellement une description à votre groupe d'instances.
  4. Choisissez un modèle d'instance pour le groupe d'instances ou créez-en un.
  5. Indiquez le nombre de VM pour ce groupe. Pensez à provisionner suffisamment de VM pour les charges de travail à disponibilité élevée afin que votre application soit prise en charge en cas de défaillance zonale.
  6. Sous Emplacement, sélectionnez Plusieurs zones.
  7. Choisissez une région et sélectionnez les zones que vous souhaitez utiliser.
  8. Pour désactiver la redistribution proactive des instances :
    1. Assurez-vous que le mode d'autoscaling est défini sur Désactivé : ne pas procéder à un autoscaling.
    2. Sous Redistribution des instances, décochez la case Activer la redistribution des instances.
  9. Terminez le processus de création de MIG.

gcloud

Pour créer un MIG régional sans redistribution proactive des instances, utilisez la commande gcloud compute instance-groups managed create avec l'option --instance-redistribution-type définie sur NONE.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_NAME \
    --size TARGET_SIZE \
    --zones ZONES \
    --instance-redistribution-type NONE

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG
  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance à utiliser pour le groupe
  • TARGET_SIZE : taille cible du groupe
  • ZONES : liste des zones d'une région unique dans lesquelles vous souhaitez déployer les VM.

Exemple :

gcloud compute instance-groups managed create example-rmig \
    --template example-template \
    --size 30 \
    --zones us-east1-b,us-east1-c \
    --instance-redistribution-type NONE

API

Pour créer un MIG régional sans autoscaling ni redistribution proactive des instances, envoyez une requête POST à la méthode regionInstanceGroupManagers.insert. Dans le corps de la requête, incluez la propriété updatePolicy et définissez son champ instanceRedistributionType sur NONE.

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

{
    "name": "INSTANCE_GROUP_NAME",
    "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "targetSize": "TARGET_SIZE",
    "distributionPolicy": {
        "zones": [
            {"zone": "zones/ZONE"},
            {"zone": "zones/ZONE"}
        ]
    },
    "updatePolicy": {
        "instanceRedistributionType": "NONE"
    }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour cette requête
  • REGION : région du groupe d'instances
  • INSTANCE_GROUP_NAME : nom du MIG
  • INSTANCE_TEMPLATE_NAME : nom du modèle d'instance à utiliser pour le groupe
  • TARGET_SIZE : taille cible du groupe d'instances
  • ZONE : nom d'une zone de la région unique dans laquelle vous souhaitez déployer les VM.

Désactiver la redistribution proactive des instances

Avant de pouvoir désactiver la redistribution proactive des instances, vous devez définir le mode de l'autoscaler de sorte à désactiver l'autoscaling ou à le limiter uniquement au scaling horizontal.

Pour désactiver ou réactiver la distribution proactive des instances, utilisez la console Google Cloud, gcloud CLI ou l'API Compute Engine.

Console

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

    Accéder à la page Groupes d'instances

  2. Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances que vous souhaitez modifier.
  3. Cliquez sur Modifier pour modifier le groupe d'instances géré.
  4. Si l'autoscaling a été configuré, assurez-vous que le mode d'autoscaling est défini sur Désactivé : ne pas procéder à un autoscaling.
  5. Sous Redistribution des instances, décochez la case Activer la redistribution des instances.
  6. Cliquez sur Enregistrer.

gcloud

Si vous souhaitez désactiver la redistribution proactive des instances pour un MIG régional sans autoscaling, exécutez la commande compute instance-groups managed update avec l'option --instance-redistribution-type définie sur NONE.

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME : nom du MIG
  • REGION : région du groupe d'instances

API

Pour désactiver la redistribution proactive des instances pour un MIG régional sans autoscaling, envoyez une requête PATCH à la méthode regionInstanceGroupManagers.patch. Dans le corps de la requête, incluez la propriété updatePolicy et définissez son champ instanceRedistributionType sur NONE.

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

{
    "updatePolicy": {
         "instanceRedistributionType": "NONE"
    }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour cette requête
  • REGION : région du groupe d'instances
  • INSTANCE_GROUP_NAME : nom d'un MIG sans autoscaling

Activer la distribution proactive des instances

Pour activer la distribution proactive des instances, exécutez une commande semblable à celle utilisée pour désactiver la redistribution proactive des instances, mais définissez le type de redistribution des instances sur PROACTIVE.

Si vous avez supprimé ou abandonné manuellement certaines instances gérées, entraînant une répartition inégale des VM au sein de la région, vous devez rééquilibrer manuellement le groupe avant de pouvoir réactiver la redistribution proactive des instances. Il ne doit pas y avoir plus d'une VM de différence entre deux zones.

Un MIG régional n'autorise pas l'activation de la redistribution proactive des instances tant que les VM ne sont pas réparties de manière homogène entre les zones (c'est-à-dire tant qu'il existe une différence d'au moins deux VM entre deux zones). Cela permet d'éviter une suppression automatique involontaire des VM dans les zones contenant le plus de VM, ce qui serait l'option utilisée pour obtenir une répartition régulière.

Étape suivante