Afficher l'arrêt correct dans une instance Compute Engine


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

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

  • Afficher les paramètres d'arrêt correct Vous pouvez vérifier si l'arrêt élégant est activé et sa durée.

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

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

    • 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 Google Cloud services et aux API. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      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 correct d'une instance Compute, 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 correct 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 correct

Pour afficher les paramètres d'arrêt correct 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 correct, dans la section Règles de disponibilité, vérifiez la valeur du champ Durée maximale d'arrêt correct. Ce champ indique la période d'arrêt correct. Si un trait d'union (-) s'affiche, l'arrêt élégant est désactivé.

gcloud

Pour afficher les paramètres d'arrêt correct d'une instance, exécutez 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 élégant est activé, la sortie ressemble à ce qui suit:

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

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

REST

Pour afficher les paramètres d'arrêt correct d'une instance, envoyez une requête GET à la méthode instances.get 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 élégant est activé, la sortie ressemble à ce qui suit:

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

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

Surveiller l'arrêt progressif

Pour surveiller un arrêt correct 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 correct.

    • É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 correct 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 correct est en cours, le résultat est semblable à ceci:

...
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 correct en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

  • REQUEST_TIMESTAMP: code temporel de 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 correct. L'instance reste dans cet état jusqu'à ce que vous arrêtiez manuellement l'arrêt élégant ou que la période d'arrêt élégant expire.

    • STOPPING: l'arrêt correct 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, après que Compute Engine a défini le champ status sur TERMINATE, il supprime le champ shutdownDetails.

REST

Pour surveiller un arrêt progressif en cours dans une instance, envoyez une requête GET à la méthode instances.get 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 un arrêt correct est en cours, le résultat est semblable à ceci:

{
  ...
  "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 correct en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

  • REQUEST_TIMESTAMP: code temporel de 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 correct. L'instance reste dans cet état jusqu'à ce que vous arrêtiez manuellement l'arrêt élégant ou que la période d'arrêt élégant expire.

    • STOPPING: l'arrêt correct 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, après que Compute Engine a défini le champ status sur TERMINATE, il supprime le champ shutdownDetails.

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 correct est en cours, le résultat est semblable à ceci:

    {
      "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 correct en secondes. Une fois que Compute Engine a défini STOP_STATE sur STOPPING, il supprime le champ maxDuration.

    • REQUEST_TIMESTAMP: code temporel de 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 correct. L'instance reste dans cet état jusqu'à ce que vous arrêtiez manuellement l'arrêt progressif ou que la période d'arrêt progressif expire.

      • STOPPING: l'arrêt correct 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.

Étape suivante