Cloud TPU-Reservierung freigeben
In diesem Dokument wird beschrieben, wie Sie die gemeinsame Nutzung von Reservierungen aktivieren. Mithilfe freigegebener Reservierungen ist es möglich, in einem Projekt (einem Nutzerprojekt) TPU-VMs zu erstellen und Reservierungen zu verwenden, die einem anderen Projekt (dem Inhaberprojekt) gehören. Außerdem können Sie in Vertex AI nutzerdefinierte Trainings- oder Vorhersagejobs mit einer TPU-Reservierung ausführen.
Das Inhaberprojekt ist das Projekt, in dem Sie die Reservierung erstellt haben. Nutzerprojekte sind ein oder mehrere Projekte, die die Reservierung gemeinsam nutzen. Mithilfe der Reservierung im Inhaberprojekt können Sie im Inhaberprojekt und in Nutzerprojekten TPU-VMs erstellen.
Weitere Informationen zum Abrufen einer TPU-Reservierung finden Sie unter Cloud TPU-Reservierungen.
Beschränkungen
Beachten Sie die folgenden Punkte, bevor Sie eine TPU-Reservierung freigeben:
Freigegebene Reservierungen können nur im Inhaberprojekt geändert werden.
Kurzfristige Reservierungen im Kalendermodus oder langfristige Reservierungen können nur unter folgenden Voraussetzungen geändert werden:
Die Startzeit ist vorüber.
Wenn Jobs in Vertex AI die Nutzung der Reservierung ermöglicht oder verweigert werden soll.
Cloud TPU-Reservierung freigeben
In den folgenden Abschnitten wird beschrieben, mit welchen Methoden Reservierungen freigegeben werden.
Freigabe einer TPU-Reservierung aktivieren
Für die Erstellung von TPU-VMs können Sie Reservierungen nutzen, die einem anderen Projektinhaber gehören. TPU-Reservierungen dürfen nur von Projekten gemeinsam genutzt werden, die Teil derselben Organisation sind.
So aktivieren Sie die Freigabe einer TPU-Reservierung:
Erteilen Sie dem Inhaberprojekt mit dem Befehl
gcloud resource-manager org-policies allow
die Berechtigung, freigegebene Reservierungen zu erstellen und zu ändern:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
Ersetzen Sie Folgendes:
- OWNER_PROJECT_NUMBER: Die Projektnummer (nicht die Projekt-ID) eines Projekts in Ihrer Organisation, das gemeinsam genutzte Reservierungen erstellen und ändern darf.
- ORGANIZATION_ID: Die ID der Organisationsressource.
Aktivieren Sie die Freigabe eines Rabatts für zugesicherte Nutzung (CUD) über die Google Cloud Console. Eine Anleitung hierzu finden Sie unter Ressourcenbasierte CUDs projektübergreifend freigeben.
Aktivieren Sie die Freigabe mit dem Befehl
gcloud beta compute reservations update
und den Flags--share-setting=projects
und--share-with
:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- CONSUMER_PROJECT_IDS: Eine durch Kommas getrennte Liste der IDs von Projekten, die diese Reservierung nutzen können. Beispiel:
project-1,project-2
Sie können bis zu 100 Nutzerprojekte angeben. Alle Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Dem Inhaberprojekt ist es bereits per Standard gestattet, die Reservierung zu nutzen. - ZONE: Die Zone, in der sich die Reservierung befindet
Freigabe einer TPU-Reservierung deaktivieren
Die Freigabe einer TPU-Reservierung kann für eine Liste von Nutzerprojekten deaktiviert werden. Verwenden Sie dafür den Befehl gcloud beta compute reservations
update
mit den Flags --share-setting=projects
und --remove-share-with
:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- CONSUMER_PROJECT_IDS: Eine durch Kommas getrennte Liste von IDs von Projekten, für die Sie die Reservierung nicht mehr freigeben möchten. Beispiel:
project-1,project-2
- ZONE: Die Zone, in der sich die Reservierung befindet
Wenn Sie die Freigabe einer TPU-Reservierung für alle Nutzerprojekte deaktivieren möchten, ändern Sie die Reservierung in eine lokale Reservierung. Verwenden Sie dafür den Befehl gcloud beta compute reservations
update
mit dem Flag --share-setting=local
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- ZONE: Die Zone, in der sich die Reservierung befindet
Vertex AI die Verwendung einer TPU-Reservierung erlauben
Sie können festlegen, dass Trainings- oder Vorhersagejobs in Vertex AI kurzfristiger Reservierungen im Kalendermodus oder langfristiger Reservierungen nach deren Startzeit nutzen dürfen.
Um Vertex AI die Nutzung einer TPU-Reservierung zu erlauben, verwenden Sie den Befehl gcloud beta compute
reservations update
mit dem Flag --reservation-sharing-policy=ALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- ZONE: Die Zone der Reservierung
Vertex AI die Verwendung einer TPU-Reservierung untersagen
Bevor Sie Vertex AI die Nutzung einer TPU-Reservierung untersagen, beenden Sie alle Vertex AI-Jobs, die diese Reservierung verwenden. Andernfalls treten Fehler auf.
Um Vertex AI die Nutzung einer TPU-Reservierung zu untersagen, verwenden Sie den Befehl gcloud beta compute reservations
update
mit dem Flag --reservation-sharing-policy=DISALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- ZONE: Die Zone der Reservierung
Informationen zu einer freigegebenen Reservierung abrufen
Informationen zu einer freigegebenen Reservierung können nur über das Inhaberprojekt abgerufen werden.
Um Informationen zu einer freigegebenen Reservierung abzurufen, verwenden Sie den Befehl gcloud compute
reservations describe
:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält
- ZONE: Die Zone der Reservierung
Das Ergebnis sieht etwa so aus:
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