Afficher l'arrêt élégant dans une instance Compute Engine


Ce document explique comment afficher les paramètres et la progression d'un arrêt progressif dans une instance Compute Engine. Pour en savoir plus sur l'arrêt progressif, consultez Présentation de l'arrêt progressif.

Lorsque vous affichez les détails d'une instance, vous pouvez effectuer les opérations suivantes :

  • Afficher les paramètres d'arrêt progressif Vous pouvez vérifier si l'arrêt progressif est activé et combien de temps il dure.

  • Surveillez l'arrêt progressif. Lorsqu'un arrêt progressif est en cours, vous pouvez vérifier les éléments suivants :

    • Lorsque le délai du processus d'arrêt progressif est dépassé.

    • Si une opération d'arrêt ou de suppression est en cours.

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 .

Rôles requis

Pour obtenir l'autorisation dont vous avez besoin pour afficher l'arrêt progressif d'une instance de calcul, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient l'autorisation compute.instances.get on the project, qui est nécessaire pour afficher l'arrêt progressif d'une instance de calcul.

Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher les paramètres d'arrêt progressif

Pour afficher les paramètres d'arrêt progressif dans une instance de calcul, sélectionnez l'une des options suivantes :

Console

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Dans la colonne Nom, cliquez sur le nom de votre instance.

    La page des détails de l'instance s'ouvre dans l'onglet Détails.

  3. Pour vérifier les paramètres d'arrêt progressif, dans la section Règles de disponibilité, vérifiez la valeur du champ Durée maximale de l'arrêt progressif. Ce champ indique la période d'arrêt progressif. Si un trait d'union (-) s'affiche, cela signifie que l'arrêt progressif est désactivé.

gcloud

Pour afficher les paramètres d'arrêt progressif dans une instance, utilisez la commande gcloud beta compute instances describe :

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance.

  • ZONE : zone où se trouve l'instance.

Si l'arrêt progressif est activé, le résultat est semblable à ce qui suit :

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

Le résultat inclut la valeur MAX_DURATION. Cette valeur indique la durée de la période d'arrêt progressif en secondes. Si vous n'avez pas spécifié de période d'arrêt personnalisée lorsque vous avez activé l'arrêt progressif dans l'instance, Compute Engine omet le champ maxDuration et définit la période d'arrêt progressif sur 10 minutes.

REST

Pour afficher les paramètres d'arrêt progressif dans une instance, envoyez une requête GET à la méthode instances.get de la version bêta :

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel vous avez créé l'instance.

  • ZONE : zone où se trouve l'instance.

  • INSTANCE_NAME : nom de l'instance.

Si l'arrêt progressif est activé, le résultat est semblable à ce qui suit :

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

Le résultat inclut la valeur MAX_DURATION. Cette valeur indique la durée de la période d'arrêt progressif en secondes. Si vous n'avez pas spécifié de période d'arrêt personnalisée lorsque vous avez activé l'arrêt progressif dans l'instance, Compute Engine omet le champ maxDuration et définit la période d'arrêt progressif sur 10 minutes.

Surveiller l'arrêt progressif

Pour surveiller un arrêt progressif en cours dans une instance de calcul, sélectionnez l'une des options suivantes :

Console

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Dans la colonne Nom, cliquez sur le nom de votre instance.

    La page des détails de l'instance s'ouvre dans l'onglet Détails.

  3. Si un arrêt progressif est en cours, vérifiez les champs suivants dans la section Informations de base :

    • État : ce champ indique l'état de votre instance. Lors d'un arrêt progressif, ce champ affiche Arrêt en attente et un compte à rebours. Le minuteur décompte le temps jusqu'à la fin de l'arrêt progressif.

    • État cible : ce champ indique si Compute Engine arrête (Arrêtée) ou supprime (Supprimée) l'instance.

gcloud

Pour surveiller un arrêt progressif en cours dans une instance, utilisez la commande gcloud beta compute instances describe :

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance.

  • ZONE : zone où se trouve l'instance.

Si un arrêt progressif est en cours, le résultat est semblable à ce qui suit :

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

Ce résultat inclut les valeurs suivantes :

  • MAX_DURATION : durée de la période d'arrêt progressif en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

  • REQUEST_TIMESTAMP : code temporel du début de l'STOP_STATE.

  • STOP_STATE : phase d'arrêt de l'instance. La valeur peut être l'une des suivantes :

    • PENDING_STOP : Compute Engine a commencé l'arrêt progressif. L'instance reste dans cet état jusqu'à ce que vous mettiez fin manuellement à l'arrêt progressif ou que la période d'arrêt progressif expire.

    • STOPPING : l'arrêt progressif est terminé et Compute Engine poursuit l'opération d'arrêt ou de suppression.

  • TARGET_STATE : indique si Compute Engine arrête (STOPPED) ou supprime (DELETED) l'instance.

Si une opération d'arrêt est en cours d'exécution, Compute Engine supprime le champ shutdownDetails après avoir défini le champ status sur TERMINATE.

REST

Pour surveiller un arrêt progressif en cours dans une instance, envoyez une requête GET à la méthode bêta instances.get :

GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel vous avez créé l'instance.

  • ZONE : zone où se trouve l'instance.

  • INSTANCE_NAME : nom de l'instance.

Si un arrêt progressif est en cours, le résultat est semblable à ce qui suit :

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

Ce résultat inclut les valeurs suivantes :

  • MAX_DURATION : durée de la période d'arrêt progressif en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

  • REQUEST_TIMESTAMP : code temporel du début de l'STOP_STATE.

  • STOP_STATE : phase d'arrêt de l'instance. La valeur peut être l'une des suivantes :

    • PENDING_STOP : Compute Engine a commencé l'arrêt progressif. L'instance reste dans cet état jusqu'à ce que vous mettiez fin manuellement à l'arrêt progressif ou que la période d'arrêt progressif expire.

    • STOPPING : l'arrêt progressif est terminé et Compute Engine poursuit l'opération d'arrêt ou de suppression.

  • TARGET_STATE : indique si Compute Engine arrête (STOPPED) ou supprime (DELETED) l'instance.

Si une opération d'arrêt est en cours d'exécution, Compute Engine supprime le champ shutdownDetails après avoir défini le champ status sur TERMINATE.

Serveur de métadonnées

  1. Se connecter à l'instance

  2. Interrogez le serveur de métadonnées :

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Si un arrêt progressif est en cours, le résultat est semblable à ce qui suit :

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    Le résultat inclut les valeurs suivantes :

    • MAX_DURATION : durée de la période d'arrêt progressif en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

    • REQUEST_TIMESTAMP : code temporel du début de l'STOP_STATE.

    • STOP_STATE : phase d'arrêt de l'instance. Les valeurs possibles sont les suivantes :

      • PENDING_STOP : Compute Engine a commencé l'arrêt progressif. L'instance reste dans cet état jusqu'à ce que vous mettiez fin manuellement à l'arrêt progressif ou que la période d'arrêt progressif expire.

      • STOPPING : l'arrêt progressif est terminé et Compute Engine poursuit l'opération d'arrêt ou de suppression.

    • TARGET_STATE : indique si Compute Engine arrête (STOPPED) ou supprime (DELETED) l'instance.

Étapes suivantes