Utiliser des réservations avec des instances Vertex AI Workbench

Ce document explique comment utiliser les réservations Compute Engine pour vous assurer que vos instances Vertex AI Workbench disposent de suffisamment de ressources de machines virtuelles (VM) pour s'exécuter.

Les réservations sont une fonctionnalité de Compute Engine. Elles vous permettent de vous assurer que vous disposez des ressources nécessaires pour créer des VM avec le même matériel (mémoire et processeurs virtuels) et les mêmes ressources facultatives (GPU et disques SSD locaux) chaque fois que vous en avez besoin.

Lorsque vous créez une réservation, Compute Engine vérifie que la capacité demandée est disponible dans la zone spécifiée. Si c'est le cas, Compute Engine réserve les ressources et crée la réservation. Les événements suivants se produisent :

  • Les ressources réservées sont immédiatement disponibles pour votre utilisation et le restent jusqu'à ce que vous supprimiez la réservation.

  • Les ressources réservées vous sont facturées au même tarif à la demande que les VM en cours d'exécution, y compris les remises applicables, jusqu'à ce que la réservation soit supprimée. Lors de l'utilisation d'une réservation, une VM n'entraîne pas de frais de ressources en double, car la réservation est déjà facturée pour le coût des ressources réservées. Pour en savoir plus, consultez Réservations de ressources zonales Compute Engine.

Limites et exigences

Toutes les limites des réservations Compute Engine s'appliquent lorsque les instances Vertex AI Workbench consomment des réservations. Consultez la section Fonctionnement des réservations.

De plus, lorsque vous utilisez des réservations avec des instances Vertex AI Workbench, les limites et exigences suivantes s'appliquent :

  • Votre réservation doit correspondre à l'un des éléments suivants :

    • Dans le même projet que votre instance Vertex AI Workbench.
    • Partagé avec le même projet que votre instance Vertex AI Workbench.
  • Pour utiliser une réservation, les propriétés de VM de la réservation doivent correspondre exactement à celles de votre instance Vertex AI Workbench. Par exemple, si une réservation spécifie un type de machine e2-standard-8, l'instance Vertex AI Workbench ne peut utiliser la réservation que si elle utilise également un type de machine e2-standard-8. Consultez les conditions requises.

Avant de commencer

  1. Consultez les exigences et restrictions applicables aux réservations.
  2. Consultez les exigences relatives aux quotas et les restrictions applicables aux réservations partagées.
  3. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Enable the Compute Engine and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Enable the Compute Engine and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Rôles requis

    Pour obtenir les autorisations nécessaires pour utiliser des réservations avec des instances Vertex AI Workbench, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

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

    Créer une réservation

    Créez une réservation Compute Engine. Il peut s'agir d'une réservation à projet unique ou d'une réservation partagée. La réservation peut être à la demande ou future. Pour en savoir plus, consultez Choisir un type de réservation.

    Utiliser une réservation avec une nouvelle instance

    Pour créer une instance Vertex AI Workbench qui consomme une réservation, vous pouvez utiliser la console Google Cloud ou l'API REST.

    Console

    Pour créer une instance Vertex AI Workbench qui utilise une réservation, procédez comme suit :

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

      Accéder à la page "Instances"

    2. Cliquez sur Créer.

    3. Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.

    4. Dans la boîte de dialogue Créer une instance, dans la section Type de machine, sélectionnez le type de machine et la configuration de GPU correspondant à votre réservation.

    5. Sous Plate-forme du processeur et GPU, dans le menu Réservations, sélectionnez la réservation à utiliser.

    6. Cliquez sur Créer.

      Vertex AI Workbench crée une instance et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Vertex AI Workbench active automatiquement un lien Ouvrir JupyterLab.

    REST

    Avant d'utiliser les données de requête, effectuez les remplacements suivants :

    • PROJECT_ID : ID de votre projet.
    • LOCATION : zone où se trouve votre instance
    • INSTANCE_NAME : nom de l'instance
    • MACHINE_TYPE : type de machine de votre instance
    • RESERVATION_TYPE : type de réservation (RESERVATION_ANY ou RESERVATION_SPECIFIC)
    • RESERVATION_NAME : nom de votre réservation lorsque vous utilisez le type RESERVATION_SPECIFIC
      • Pour les réservations dans le même projet, vous pouvez utiliser l'ID de réservation.
      • Pour les réservations dans un autre projet, vous devez utiliser le chemin d'accès complet à la réservation. Par exemple, projects/PROJECT_ID/reservations/RESERVATION_NAME.

    Méthode HTTP et URL :

    POST https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME

    Corps JSON de la requête :

    {
      "gce_setup": {
        "machine_type": "MACHINE_TYPE",
        "reservation_affinity": {
          "consume_reservation_type": "RESERVATION_TYPE",
          "key": "compute.googleapis.com/reservation-name",
          "values": ["RESERVATION_NAME"]
        }
      }
    }
    

    Pour envoyer votre requête, choisissez l'une des options suivantes :

    curl

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME"

    PowerShell

    Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://notebooks.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/instances?instanceId=INSTANCE_NAME" | Select-Object -Expand Content
    Si elle aboutit, le corps de la réponse contient une instance d'Operation.

    Pour en savoir plus, reportez-vous à la. documentation de l'API REST projects.locations.instances.create.

    Cesser d'utiliser votre réservation

    Pour cesser d'utiliser votre réservation, vous pouvez supprimer votre réservation.

    Si vous souhaitez continuer à utiliser votre réservation avec d'autres ressources, mais que vous ne souhaitez pas que votre instance Vertex AI Workbench existante l'utilise, vous devez supprimer l'instance.

    Facturation

    Lorsque vous utilisez une réservation Compute Engine, vous êtes facturé pour les éléments suivants :

    • Les ressources Compute Engine, y compris les remises sur engagement d'utilisation applicables, aux tarifs Compute Engine. Ces frais sont associés au libellé goog-vertex-ai-product: workbench-instances sur le code SKU. Consultez la page Tarifs de Compute Engine.

    • Des frais de gestion Vertex AI Workbench s'ajoutent à votre utilisation de l'infrastructure. Consultez les tarifs de Vertex AI Workbench.

    Résoudre les problèmes

    Pour connaître les méthodes de diagnostic et de résolution des erreurs liées à l'utilisation de réservations avec des instances Vertex AI Workbench, consultez Résoudre les problèmes liés aux instances Vertex AI Workbench.

    Étapes suivantes