Désactiver les réparations dans un MIG


Ce document explique comment désactiver les réparations d'un groupe d'instances géré (MIG) et, si ce n'est pas déjà fait, comment rétablir le MIG pour réparer les VM.

Par défaut, un MIG répare automatiquement une VM défaillante dans le groupe en recréant cette VM. Si vous avez configuré une vérification de l'état basée sur l'application, le MIG répare les VM non opérationnelles sur lesquelles votre application a échoué la vérification de l'état.

Si vous ne souhaitez pas qu'un MIG répare une VM défaillante ou non opérationnelle, vous pouvez la désactiver. La désactivation des réparations est utile dans les scénarios où vous souhaitez résoudre un problème de VM défaillante, mettre en œuvre votre propre logique de réparation ou surveiller l'état de l'application sans réparer les VM non opérationnelles par le MIG.

Pour vérifier si les réparations sont déjà désactivées dans un MIG, consultez la section Vérifier si les réparations sont désactivées dans un MIG.

Pour en savoir plus sur les réparations d'un MIG, consultez la section À propos de la réparation des VM pour la haute disponibilité.

Avant de commencer

  • 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.

    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

Vous ne pouvez pas désactiver les réparations d'un MIG si le groupe dispose des éléments suivants :

Désactiver les réparations dans un MIG

La désactivation des réparations dans un MIG désactive les réparations automatiques et les réparations en fonction d'une vérification de l'état basée sur l'application (autoréparation).

Pour désactiver les réparations, utilisez la console Google Cloud, gcloud CLI ou REST.

Console

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

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

  2. Si vous disposez déjà d'un MIG, procédez comme suit :

    1. Cliquez sur le nom du MIG pour lequel vous souhaitez désactiver la réparation.
    2. Cliquez sur Modifier.
  3. Si vous ne disposez pas encore d'un MIG, procédez comme suit :

    1. Cliquez sur Créer un groupe d'instances.
    2. Saisissez un nom.
    3. Sélectionnez un modèle d'instance.
    4. Pour les autres paramètres, vous pouvez utiliser les valeurs par défaut ou modifier les champs.
  4. Dans la section Cycle de vie de l'instance de VM, définissez l'action par défaut en cas d'échec sur Aucune action.

  5. Lorsque vous avez terminé, cliquez sur Enregistrer pour un MIG existant ou sur Créer pour un nouveau MIG.

gcloud

Pour désactiver les réparations d'un MIG existant, utilisez la commande bêta update :

Par exemple, utilisez la commande suivante pour désactiver les réparations dans un MIG zonal :

gcloud beta compute instance-groups managed update MIG_NAME \
    --zone=ZONE \
    --default-action-on-vm-failure=do_nothing

Pour désactiver les réparations lors de la création d'un MIG, utilisez la commande bêta create :

Par exemple, utilisez la commande suivante pour désactiver les réparations lors de la création d'un MIG zonal :

gcloud beta compute instance-groups managed create MIG_NAME \
    --template=INSTANCE_TEMPLATE \
    --size=SIZE \
    --zone=ZONE \
    --default-action-on-vm-failure=do_nothing

Remplacez les éléments suivants :

  • MIG_NAME : nom du groupe d'instances.
  • INSTANCE_TEMPLATE : nom du modèle d'instance à utiliser pour le groupe.
  • SIZE : taille cible du groupe d'instances.
  • ZONE : zone où se trouve le MIG. Pour un MIG régional, utilisez l'option --region.

REST

Pour désactiver les réparations dans un MIG existant, utilisez la méthode API comme suit :

Par exemple, effectuez l'appel suivant pour désactiver les réparations dans un MIG zonal existant :

PATCH https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING"
    }
}

Pour désactiver les réparations lors de la création d'un MIG, utilisez la méthode API comme suit :

Par exemple, effectuez l'appel suivant pour désactiver les réparations lors de la création d'un MIG zonal :

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "versions": [
    {
      "instanceTemplate": "INSTANCE_TEMPLATE_URL"
     }
  ],
  "name": "MIG_NAME",
  "targetSize": SIZE,
  "instanceLifecyclePolicy":
   {
     "defaultActionOnFailure": "DO_NOTHING"
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • MIG_NAME : nom du groupe d'instances.
  • INSTANCE_TEMPLATE_URL : URL partielle du modèle d'instance que vous souhaitez utiliser pour créer les VM du groupe. Exemple :
    • Modèle d'instance régional : projects/example-project/regions/us-central1/instanceTemplates/example-template
    • Modèle d'instance global : projects/example-project/global/instanceTemplates/example-template
  • SIZE : taille cible du groupe d'instances.
  • ZONE : zone où se trouve le MIG. Pour un MIG régional, utilisez regions/REGION dans l'URL.

Définir un MIG pour réparer les VM défaillantes et non opérationnelles

Par défaut, un MIG répare les VM défaillantes et non opérationnelles. Si vous avez désactivé la réparation d'un MIG, vous pouvez la rétablir sur la réparation de VM.

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 la réparation.

  3. Cliquez sur Modifier.

  4. Dans la section Cycle de vie des instances de VM, définissez l'action par défaut en cas d'échec sur Réparer les instances.

  5. Lorsque vous avez terminé, cliquez sur Enregistrer pour appliquer les modifications.

gcloud

Pour définir un MIG à réparer des VM, utilisez la commande bêta update :

gcloud beta compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=repair

Remplacez MIG_NAME par le nom d'un MIG.

REST

Pour définir un MIG à réparer des VM, utilisez la méthode API comme suit :

Par exemple, effectuez l'appel suivant pour désactiver les réparations dans un MIG zonal :

PATCH https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceLifecyclePolicy":
  {
    "defaultActionOnFailure": "REPAIR"
 }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • MIG_NAME : nom du groupe d'instances.
  • ZONE : zone où se trouve le MIG. Pour un MIG régional, utilisez regions/REGION dans l'URL.

Étapes suivantes