Désactiver les réparations dans un MIG


Ce document explique comment désactiver la réparation des VM défaillantes et non opérationnelles dans un groupe d'instances géré (MIG) et, si ce n'est pas déjà fait, comment configurer le MIG pour réparer les VM.

Par défaut, un MIG répare automatiquement une VM défaillante du groupe en la recréant. Si vous avez configuré une vérification de l'état basée sur l'application, le MIG répare également les VM non opérationnelles sur lesquelles votre application échoue à la vérification de l'état. La réparation d'une VM basée sur une vérification de l'état basée sur l'application est également appelée autoréparation.

Si vous ne souhaitez pas qu'un MIG répare une VM défaillante ou non opérationnelle, vous pouvez désactiver les réparations dans le MIG. Désactiver les réparations est utile lorsque vous souhaitez résoudre le problème d'une VM défaillante, implémenter votre propre logique de réparation ou surveiller l'état de l'application sans réparer les VM non opérationnelles.

Pour vérifier si la réparation est déjà désactivée dans un MIG, consultez la section Vérifier si la réparation est désactivée 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 en sélectionnant l'une des options suivantes :

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. 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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Désactiver les réparations dans un MIG

Lorsque vous désactivez les réparations dans un MIG, la réparation des VM défaillantes et l'autoréparation sont désactivées par défaut. Si vous ne souhaitez désactiver que l'autoréparation, consultez Désactiver l'autoréparation.

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 pour lequel vous souhaitez désactiver la réparation.

  3. Cliquez sur Modifier.

  4. Dans la section Cycle de vie de l'instance de VM, définissez le champ Action par défaut en cas d'échec sur Aucune action.

  5. Si vous avez configuré l'autoréparation et que vous ne souhaitez pas que le MIG la désactive, définissez le champ En cas d'échec de la vérification de l'état sur Réparer l'instance.

  6. Cliquez sur Enregistrer.

gcloud

Pour désactiver les réparations dans un MIG, utilisez la commande update comme suit. Cela désactive la réparation automatique par défaut.

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

Si l'autoréparation est configurée dans le MIG et que vous ne souhaitez pas la désactiver par défaut, utilisez la commande bêta update pour définir l'option --action-on-vm-failed-health-check sur repair. Cela garantit que l'autoréparation des VM non opérationnelles continue de fonctionner même si la réparation des VM défaillantes est désactivée.

gcloud beta compute instance-groups managed update MIG_NAME \
    --default-action-on-vm-failure=do-nothing \
    --action-on-vm-failed-health-check=repair \
    --zone=ZONE

Remplacez les éléments suivants :

  • MIG_NAME : nom du groupe d'instances.
  • ZONE : zone où se trouve votre groupe d'instances géré Pour un MIG régional, utilisez l'option --region=REGION.

REST

Pour désactiver les réparations dans un MIG, utilisez les méthodes API comme suit. Cela désactive la réparation automatique par défaut.

Par exemple, effectuez l'appel suivant dans un MIG zonal. Cette option désactive la réparation automatique par défaut.

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

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

Si l'autoréparation est configurée dans le MIG et que vous ne souhaitez pas la désactiver par défaut, utilisez les méthodes d'API comme suit pour définir l'indicateur onFailedHealthCheck sur REPAIR. Cela garantit que l'autoréparation des VM non opérationnelles continue de fonctionner même si la réparation des VM défaillantes est désactivée.

Par exemple, effectuez l'appel suivant dans un MIG zonal :

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

{
  "instanceLifecyclePolicy":
    {
      "defaultActionOnFailure": "DO_NOTHING",
      "onFailedHealthCheck": "REPAIR"
    }
  }

Remplacez les éléments suivants :

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

Limites

Si un MIG présente l'un des éléments suivants, vous ne pouvez pas désactiver les réparations dans le MIG en définissant le champ defaultActionOnFailure sur DO_NOTHING :

Désactiver l'autoréparation

Lorsque vous avez configuré une vérification de l'état de l'application dans un MIG, si vous ne souhaitez pas que le MIG répare les VM non opérationnelles, vous pouvez désactiver l'autoréparation séparément. Cela ne désactive pas la réparation des VM défaillantes.

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 pour lequel vous souhaitez désactiver l'autoréparation.

  3. Cliquez sur Modifier.

  4. Dans la section Cycle de vie de l'instance de VM, définissez le champ En cas d'échec de la vérification de l'état sur Aucune action.

  5. Cliquez sur Enregistrer.

gcloud

Pour désactiver l'autoréparation dans un MIG, utilisez la commande bêta update et définissez l'indicateur --action-on-vm-failed-health-check sur do-nothing.

Par exemple, utilisez la commande suivante pour un MIG zonal :

gcloud beta compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=do-nothing \
    --zone=ZONE

Remplacez les éléments suivants :

  • MIG_NAME : nom du MIG.
  • ZONE : zone où se trouve le MIG. Pour un MIG régional, utilisez l'option --region=REGION.

REST

Pour désactiver l'autoréparation dans un MIG, utilisez les méthodes API comme suit et définissez l'indicateur --action-on-vm-failed-health-check sur do-nothing.

Par exemple, exécutez la requête suivante pour désactiver l'autoréparation dans un MIG zonal :

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

{
  "instanceLifecyclePolicy":
   {
     "onFailedHealthCheck": "DO_NOTHING"
   }
}

Remplacez les éléments suivants :

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

Activer les réparations ou l'autoréparation

Par défaut, un MIG répare les VM défaillantes et, si l'autoréparation est configurée, il répare également les VM non opérationnelles. Si vous avez désactivé les réparations ou l'autoréparation, ou les deux, vous pouvez les réactiver.

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 pour lequel vous souhaitez activer la réparation.

  3. Cliquez sur Modifier.

  4. Dans la section Cycle de vie de l'instance de VM, procédez comme suit :

    • Pour réparer les VM défaillantes, définissez le champ Action par défaut en cas d'échec sur Réparer l'instance.
    • Pour réparer les VM non opérationnelles, définissez le champ En cas d'échec de la vérification d'état sur Réparer l'instance. Si vous définissez cette valeur sur Action par défaut, la réparation automatique utilise le même paramètre que celui que vous configurez pour le champ Action par défaut en cas d'échec.
  5. Une fois que vous avez terminé, cliquez sur Enregistrer pour appliquer les modifications.

gcloud

Pour activer les réparations dans un MIG, utilisez la commande update. Cela active également l'autoréparation si la valeur de l'indicateur --action-on-vm-failed-health-check est default-action.

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

Si vous avez désactivé la réparation automatique séparément et que vous souhaitez la réactiver, utilisez la commande bêta update :

gcloud beta compute instance-groups managed update MIG_NAME \
    --action-on-vm-failed-health-check=default-action OR repair

Remplacez les éléments suivants :

  • Remplacez MIG_NAME par le nom d'un MIG.
  • default-action OR repair : si vous souhaitez que la réparation automatique utilise le même paramètre que celui que vous configurez pour les réparations des VM défaillantes, définissez la valeur sur default-action. Par exemple, lorsque vous désactivez la réparation des VM défaillantes, le MIG désactive également l'autoréparation. Si vous souhaitez contrôler séparément les réparations des VM non opérationnelles, définissez la valeur sur repair.

REST

Pour activer les réparations dans un MIG, utilisez la méthode API comme suit. Cette opération active également la réparation automatique si la valeur du champ onFailedHealthCheck est DEFAULT_ACTION.

Par exemple, exécutez la requête suivante dans un MIG zonal :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
    {
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "REPAIR"
      }
    }
  

Si vous avez désactivé la réparation automatique séparément et que vous souhaitez la réactiver, utilisez la méthode d'API bêta comme suit :

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
  {
    "instanceLifecyclePolicy": {
      "onFailedHealthCheck": "DEFAULT_ACTION OR REPAIR"
    }
  }

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet
  • ZONE : zone où se trouve votre groupe d'instances géré Pour un MIG régional, utilisez regions/REGION dans l'URL.
  • MIG_NAME : nom du MIG.
  • DEFAULT_ACTION OR REPAIR : si vous souhaitez que la réparation automatique utilise le même paramètre que pour les réparations de VM défaillantes, définissez la valeur sur DEFAULT_ACTION. Par exemple, lorsque vous désactivez la réparation des VM défaillantes, le MIG désactive également l'autoréparation. Si vous souhaitez configurer l'autoréparation séparément, définissez la valeur sur REPAIR.

Étapes suivantes