Afficher, annuler ou supprimer des requêtes de redimensionnement dans un MIG


Ce document explique comment effectuer les opérations suivantes après avoir créé une requête de redimensionnement dans un groupe d'instances géré (MIG) :

Une fois que vous avez créé des requêtes de redimensionnement dans un MIG, vous pouvez effectuer l'une ou plusieurs des opérations suivantes:

  • Afficher les requêtes de redimensionnement pour surveiller leurs états ou résoudre les problèmes associés

  • Annuler des requêtes de redimensionnement pour empêcher le MIG de créer le nombre d'instances de machines virtuelles (VM) demandé

  • Supprimez les requêtes de redimensionnement lorsque vous n'en avez plus besoin.

Avant de commencer

  • Si vous ne l'avez pas déjà fait, consultez la section Fonctionnement des requêtes de redimensionnement.
  • 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. 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 les autorisations nécessaires pour afficher, annuler ou supprimer des requêtes de redimensionnement dans un MIG, demandez à votre administrateur de vous accorder le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le 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 les autorisations requises pour afficher, annuler ou supprimer des requêtes de redimensionnement dans un MIG. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour afficher, annuler ou supprimer des requêtes de redimensionnement dans un MIG :

  • Pour annuler ou supprimer des requêtes de redimensionnement dans un MIG : compute.instanceGroupManagers.update
  • Pour afficher la liste des requêtes de redimensionnement d'un MIG : compute.instanceGroupManagers.list
  • Pour afficher les détails d'une requête de redimensionnement : compute.instanceGroupManagers.get

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

Afficher les requêtes de redimensionnement

Pour afficher des informations sur les requêtes de redimensionnement d'un MIG, utilisez l'une des méthodes suivantes:

Afficher la liste des requêtes de redimensionnement d'un MIG

Pour afficher la liste de toutes les requêtes de redimensionnement d'un MIG, sélectionnez l'une des options suivantes:

Pour afficher la liste de toutes les demandes de redimensionnement d'un MIG régional, utilisez la gcloud CLI ou l'API REST. Sinon, pour afficher la liste de toutes les requêtes de redimensionnement d'un MIG zonal, sélectionnez l'une des options suivantes:

Console

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

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

  2. Dans la colonne Nom, cliquez sur le nom du MIG contenant les requêtes de redimensionnement.

    La page de présentation du MIG s'affiche.

  3. Sur la ligne Demandes de redimensionnement, cliquez sur  Modifier les demandes de redimensionnement.

    Le volet Demandes de redimensionnement s'affiche. Si la colonne Détails d'une demande de redimensionnement affiche la valeur Quota dépassé ou ETA: indéfini, votre demande a rencontré une erreur. Vous pouvez cliquer sur ces valeurs pour en savoir plus.

    Pour en savoir plus sur la résolution des erreurs, consultez la section Afficher les détails d'une requête de redimensionnement de ce document.

gcloud

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom d'un MIG comportant des requêtes de redimensionnement acceptées, terminées, annulées ou ayant échoué.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

Le résultat ressemble à ce qui suit pour une MIG zonale:

NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D

NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D

REST

  • Pour afficher la liste des requêtes de redimensionnement d'un MIG zonal, envoyez une requête GET à l'aide de la méthode instanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
  • Pour afficher la liste des requêtes de redimensionnement d'un MIG régional, envoyez une requête GET à l'aide de la méthode beta.regionInstanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet dans lequel se trouve un MIG comportant des requêtes de redimensionnement acceptées, terminées, annulées ou ayant échoué.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

  • INSTANCE_GROUP_NAME: nom d'un MIG existant comportant des requêtes de redimensionnement acceptées, terminées, annulées ou ayant échoué.

La sortie d'une MIG zonale ressemble à ceci:

{
  "kind": "compute#instanceGroupManagerResizeRequestList",
  "id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
  "items": [
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "4247139565532196982",
      "creationTimestamp": "2024-01-08T07:51:53.034-08:00",
      "name": "rr-01",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 5,
      "resizeBy": 5,
      "requestedRunDuration": {
        "seconds": "86400",
        "nanos": 0
      },
      "state": "SUCCEEDED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
    },
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "8095866098849525652",
      "creationTimestamp": "2024-01-11T08:04:11.851-08:00",
      "name": "rr-02",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 10,
      "resizeBy": 10,
      "requestedRunDuration": {
        "seconds": "259200",
        "nanos": 0
      },
      "state": "ACCEPTED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

Afficher les détails d'une requête de redimensionnement

Vous pouvez afficher les détails d'une requête de redimensionnement pour examiner sa configuration et, éventuellement, résoudre les problèmes si la requête n'a pas encore abouti.

Si une requête de redimensionnement acceptée échoue, vous pouvez la résoudre en vérifiant le champ status.lastAttempt.error.errors.code dans les détails de la requête. Voici les différents codes d'erreur possibles:

  • QUOTA_EXCEEDED : votre projet manque de quota pour les ressources demandées. Pour augmenter le quota de votre projet, consultez la section Demander une augmentation de quota.

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS : les ressources demandées sont temporairement indisponibles. Compute Engine a planifié la création des ressources demandées et prévoit de les créer lorsqu'elles seront disponibles. Si le champ message contient Expected time is indefinite, Google recommande d'annuler la requête et d'essayer l'une ou plusieurs des opérations suivantes:

    • Créez une nouvelle requête de redimensionnement avec un nombre de VM demandé inférieur.

    • Utilisez un autre type de machine dans le MIG, puis créez une nouvelle requête de redimensionnement. Pour utiliser un autre type de machine, créez un modèle d'instance, puis utilisez ce modèle pour créer ou mettre à jour un MIG.

    • Créez une demande de redimensionnement dans un MIG situé dans une autre région ou zone.

Pour afficher les détails d'une requête de redimensionnement, sélectionnez l'une des options suivantes:

gcloud

  • Pour afficher les détails d'une demande de redimensionnement dans un MIG zonal, utilisez la commande instance-groups managed resize-requests describe.

    gcloud compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --zone=ZONE
    
  • Pour afficher les détails d'une demande de redimensionnement dans un MIG régional, utilisez la commande beta instance-groups managed resize-requests describe.

    gcloud beta compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --region=REGION
    

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom d'un MIG.

  • RESIZE_REQUEST_NAME: nom d'une requête de redimensionnement dont vous souhaitez afficher les détails.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

Le résultat ressemble à ce qui suit pour une MIG zonale:

creationTimestamp: '2024-09-23T02:27:09.575-07:00'
id: '6386622402379156098'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '86400'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request. Expected time is indefinite.
        - errorDetails:
          - errorInfo:
            - metadatas:
              - estimatedAvailabilityTime: '9999-12-31T23:59:59.999999999Z'
zone: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a

REST

  • Pour afficher les détails d'une requête de redimensionnement dans un MIG zonal, envoyez une requête GET à l'aide de la méthode instanceGroupManagerResizeRequests.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • Pour afficher les détails d'une requête de redimensionnement dans un MIG régional, envoyez une requête GET à l'aide de la méthode beta.regionInstanceGroupManagerResizeRequests.get.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve le MIG zonal.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

  • INSTANCE_GROUP_NAME: nom d'un MIG dans lequel se trouve la requête de redimensionnement.

  • RESIZE_REQUEST_NAME : nom d'une requête de redimensionnement existante dont vous souhaitez afficher les détails.

Le résultat ressemble à ce qui suit :

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "6386622402379156098",
  "creationTimestamp": "2024-09-23T02:27:09.575-07:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "86400",
    "nanos": 0
  },
  "state": "SUCCEEDED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          },
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request. Expected time is indefinite.",
            "errorDetails": [
              {
                "errorInfo":{
                  "metadatas":{
                    "estimatedAvailabilityTime": "9999-12-31T23:59:59.999999999Z"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098"
}

Annuler des requêtes de redimensionnement dans un MIG

Vous pouvez annuler des requêtes de redimensionnement dans un MIG pour empêcher celui-ci de créer le nombre de VM demandé. Vous ne pouvez annuler que les requêtes de redimensionnement acceptées (ACCEPTED). Après avoir annulé une requête de redimensionnement, vous pouvez soit la supprimer, soit laisser Compute Engine la supprimer automatiquement au bout de 14 jours.

Pour annuler plusieurs requêtes de redimensionnement simultanément, utilisez la consoleGoogle Cloud ou Google Cloud CLI. Sinon, pour annuler une seule requête de redimensionnement, sélectionnez l'une des options suivantes:

Console

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

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

  2. Dans la colonne Nom, cliquez sur le nom du MIG contenant les requêtes de redimensionnement.

    La page de présentation du MIG s'affiche.

  3. Sur la ligne Demandes de redimensionnement, cliquez sur  Modifier les demandes de redimensionnement.

    Le volet Demandes de redimensionnement s'affiche.

  4. Sélectionnez les requêtes de redimensionnement à annuler.

  5. Cliquez sur  Annuler, puis sur Confirmer.

gcloud

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom d'un MIG comportant des requêtes de redimensionnement acceptées.

  • RESIZE_REQUEST_NAMES : liste des noms des requêtes de redimensionnement acceptées dans le MIG zonal spécifié, séparés par une virgule. Par exemple, spécifiez request-1,request-2.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

REST

  • Pour annuler une requête de redimensionnement dans un MIG zonal, envoyez une requête POST à l'aide de la méthode instanceGroupManagerResizeRequests.cancel.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    
  • Pour annuler une requête de redimensionnement dans un MIG régional, envoyez une requête POST à l'aide de la méthode beta.regionInstanceGroupManagerResizeRequests.cancel.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve un MIG zonal existant comportant une requête de redimensionnement acceptée.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

  • INSTANCE_GROUP_NAME : nom du MIG.

  • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement à annuler.

Supprimer des requêtes de redimensionnement dans un MIG

Par défaut, Compute Engine supprime automatiquement une requête de redimensionnement 14 jours après avoir défini son état sur l'un des suivants :

  • Terminée (SUCCEEDED)

  • Échec (FAILED)

  • Annulé (CANCELLED)

Toutefois, vous pouvez immédiatement supprimer une requête de redimensionnement avant ce délai, comme décrit dans cette section.

La suppression d'une requête de redimensionnement terminée ne supprime pas les VM créées via la requête. Le MIG supprime automatiquement ces VM à la fin de la durée d'exécution demandée. Cependant, si votre job est terminé et que vous n'avez plus besoin des VM, supprimez-les.

Pour supprimer plusieurs requêtes de redimensionnement simultanément, utilisez la consoleGoogle Cloud ou la gcloud CLI. Sinon, pour supprimer une seule requête de redimensionnement, sélectionnez l'une des options suivantes:

Console

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

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

  2. Dans la colonne Nom, cliquez sur le nom du MIG contenant les requêtes de redimensionnement.

    La page de présentation du MIG s'affiche.

  3. Sur la ligne Demandes de redimensionnement, cliquez sur  Modifier les demandes de redimensionnement.

    Le volet Demandes de redimensionnement s'affiche.

  4. Sélectionnez les requêtes de redimensionnement à supprimer.

  5. Cliquez sur  Supprimer, puis sur Confirmer.

gcloud

Remplacez les éléments suivants :

  • INSTANCE_GROUP_NAME: nom d'un MIG comportant des requêtes de redimensionnement terminées, ayant échoué ou annulées.

  • RESIZE_REQUEST_NAMES : liste des noms des requêtes de redimensionnement à supprimer du MIG, séparés par une virgule. Par exemple, spécifiez request-1,request-2.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

REST

  • Pour supprimer une requête de redimensionnement dans un MIG zonal, envoyez une requête DELETE à l'aide de la méthode instanceGroupManagerResizeRequests.delete.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • Pour supprimer une requête de redimensionnement d'un MIG régional, envoyez une requête DELETE à l'aide de la méthode beta.regionInstanceGroupManagerResizeRequests.delete.

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve un MIG zonal existant comportant des requêtes de redimensionnement terminées, ayant échoué ou annulées.

  • ZONE : zone où se trouve le MIG.

  • REGION : région où se trouve le MIG.

  • INSTANCE_GROUP_NAME : nom du MIG.

  • RESIZE_REQUEST_NAME : nom de la requête de redimensionnement à supprimer.

Étapes suivantes