Partager une réservation Cloud TPU
Ce document explique comment activer le partage des réservations. Le partage de réservation vous permet de créer des VM TPU dans un projet (un projet client) et d'utiliser une réservation appartenant à un autre projet (le projet propriétaire). Le partage de réservation vous permet également d'exécuter des jobs d'entraînement ou de prédiction personnalisés dans Vertex AI à l'aide d'une réservation de TPU.
Le projet propriétaire est le projet dans lequel vous avez créé la réservation. Les projets clients sont un ou plusieurs projets qui partagent la réservation. Vous pouvez créer des VM TPU dans le projet propriétaire et les projets consommateurs à l'aide de la réservation dans le projet propriétaire.
Pour en savoir plus sur l'obtention d'une réservation de TPU, consultez la section À propos des réservations Cloud TPU.
Limites
Avant de partager une réservation de TPU, tenez compte des points suivants:
Vous ne pouvez modifier une réservation partagée que depuis son projet propriétaire.
Vous ne pouvez modifier une réservation à court terme en mode agenda ou une réservation à long terme que comme suit:
Vous ne pouvez modifier la réservation qu'après son heure de début.
Vous ne pouvez modifier la réservation que pour autoriser ou interdire aux tâches de Vertex AI de l'utiliser.
Partager une réservation Cloud TPU
Les sections suivantes décrivent les différentes méthodes de partage d'une réservation.
Activer le partage d'une réservation TPU
Vous pouvez créer des VM TPU dans un projet client à l'aide d'une réservation appartenant à un autre projet. Tous les projets qui partagent une réservation de TPU doivent appartenir à la même organisation.
Pour activer le partage d'une réservation TPU:
Accordez au projet propriétaire l'autorisation de créer et de modifier des réservations partagées à l'aide de la commande
gcloud resource-manager org-policies allow
:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
Remplacez les éléments suivants :
- OWNER_PROJECT_NUMBER: numéro de projet (et non ID) d'un projet de votre organisation que vous souhaitez autoriser à créer et à modifier les réservations partagées.
- ORGANIZATION_ID: ID de ressource de votre organisation.
Activez le partage des remises sur engagement d'utilisation via la console Google Cloud . Pour savoir comment procéder, consultez la section Activer le partage des remises sur engagement d'utilisation pour les engagements basés sur les ressources.
Pour activer le partage, exécutez la commande
gcloud beta compute reservations update
avec les options--share-setting=projects
et--share-with
:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- CONSUMER_PROJECT_IDS: liste d'ID de projets pouvant consommer cette réservation, séparés par une virgule. Exemple :
project-1,project-2
. Vous pouvez inclure jusqu'à 100 projets clients. Ces projets doivent appartenir à la même organisation que le projet propriétaire. N'incluez pas le projet propriétaire. Par défaut, le projet propriétaire est déjà autorisé à utiliser la réservation. - ZONE: zone où se trouve la réservation.
Désactiver le partage d'une réservation TPU
Pour désactiver le partage d'une réservation TPU avec une liste de projets client, exécutez la commande gcloud beta compute reservations
update
avec les options --share-setting=projects
et --remove-share-with
:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- CONSUMER_PROJECT_IDS: liste des ID des projets avec lesquels vous souhaitez cesser de partager la réservation, séparés par une virgule. Exemple :
project-1,project-2
. - ZONE: zone où se trouve la réservation.
Pour désactiver le partage d'une réservation TPU avec tous les projets clients, convertissez la réservation en réservation locale à l'aide de la commande gcloud beta compute reservations
update
avec l'option --share-setting=local
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- ZONE: zone où se trouve la réservation.
Autoriser Vertex AI à utiliser une réservation de TPU
Vous pouvez autoriser les jobs d'entraînement ou de prédiction dans Vertex AI à utiliser une réservation à court terme en mode agenda ou une réservation à long terme uniquement après l'heure de début.
Pour autoriser Vertex AI à utiliser une réservation de TPU, exécutez la commande gcloud beta compute
reservations update
avec l'option --reservation-sharing-policy=ALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- ZONE: zone de la réservation.
Empêcher Vertex AI d'utiliser une réservation de TPU
Avant d'empêcher Vertex AI d'utiliser une réservation de TPU, arrêtez tous les jobs Vertex AI qui l'utilisent. Sinon, vous rencontrerez des erreurs.
Pour empêcher Vertex AI d'utiliser une réservation de TPU, exécutez la commande gcloud beta compute reservations
update
avec l'option --reservation-sharing-policy=DISALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- ZONE: zone de la réservation.
Obtenir des informations sur une réservation partagée
Vous ne pouvez obtenir des informations sur une réservation partagée que depuis son projet propriétaire.
Pour obtenir des informations sur une réservation partagée, utilisez la commande gcloud compute
reservations describe
:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
Remplacez les éléments suivants :
- RESERVATION_NAME: nom de la réservation.
- OWNER_PROJECT_ID: ID du projet contenant la réservation.
- ZONE: zone de la réservation.
La réponse est semblable à ce qui suit :
aggregateReservation: [...] name: RESERVATION_NAME reservationSharingPolicy: serviceShareType: ALLOW_ALL resourceStatus: {} selfLink: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME shareSettings: projectMap: 'CONSUMER_PROJECT_1': projectId: 'CONSUMER_PROJECT_1' 'CONSUMER_PROJECT_2': projectId: 'CONSUMER_PROJECT_2' shareType: SPECIFIC_PROJECTS specificReservationRequired: true status: READY zone: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE