In diesem Dokument wird erläutert, wie Sie freigegebene Reservierungen erstellen, die über mehrere Projekte hinweg freigegeben werden, und wie Sie festlegen, welche Projekte in Ihrer Organisation die freigegebenen Reservierungen nutzen können.
Eine freigegebene Reservierung kann von dem Projekt, von dem die Reservierung gehostet wird (Inhaberprojekt), und von den Projekten, für die die Reservierung freigegeben wird (Nutzerprojekte), verwendet werden. Verwenden Sie freigegebene Reservierungen, wenn Ihre Organisation mehrere Projekte hat, die VM-Instanzen mit denselben reservierten Attributen benötigen. Mit freigegebenen Reservierungen können Sie die Auslastung Ihrer Reservierungen verbessern und die Anzahl der Reservierungen verringern, die Sie erstellen und verwalten müssen. Informationen zu Reservierungen finden Sie unter Zonale Reservierungen von Compute Engine-Ressourcen.
Weitere Methoden zum Erstellen von Reservierungen finden Sie stattdessen auf den folgenden Seiten:
Wenn Sie im aktuellen Projekt 1- oder 3-Jahres-Zusicherungen haben, erhalten Ihre reservierten Ressourcen automatisch alle anwendbaren Rabatte für zugesicherte Nutzung (CUDs). Sie können eine Reservierung auch erstellen und an eine Zusicherung anhängen, wenn Sie die Zusicherung erwerben. Weitere Informationen finden Sie unter Reservierungen an Zusicherungen anhängen.
Informationen zum Erstellen einer Reservierung, die nur von einem einzelnen Projekt verwendet werden kann, finden Sie unter Reservierung für ein einzelnes Projekt erstellen.
Hinweise
- Informationen zu den Anforderungen und Einschränkungen für Reservierungen
- Informationen zu den Kontingentanforderungen und Einschränkungen für freigegebene Reservierungen
- Das Projekt, für das Sie freigegebene Reservierungen erstellen, muss der Zulassungsliste für die Organisationsrichtlinieneinschränkung der Inhaberprojekte für freigegebene Reservierungen (
compute.sharedReservationsOwnerProjects
) von einem Richtlinienadministrator hinzugefügt werden. Diese Zulassungsliste ist standardmäßig leer, sodass Sie freigegebene Reservierungen erst erstellen können, wenn Ihre Organisation diese Berechtigung für ein oder mehrere Projekte erteilt hat. Weitere Informationen zum Aufrufen und Bearbeiten der Organisationsrichtlinieneinschränkung finden Sie unter Erstellen und Ändern von freigegebenen Reservierungen für Projekte zulassen und beschränken in diesem Dokument. -
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Compute-Administrator (
roles/compute.admin
) für das Projekt -
So rufen Sie Organisationsrichtlinien auf und bearbeiten sie:
Administrator für Organisationsrichtlinien (
roles/orgpolicy.policyAdmin
) für die Organisation compute.reservations.create
für das Projekt-
So rufen Sie Organisationsrichtlinien auf:
orgpolicy.policy.get
für die Organisation -
Zum Bearbeiten von Organisationsrichtlinien:
orgpolicy.policy.set
für die Organisation -
So geben Sie eine Instanzvorlage an:
compute.instanceTemplates.useReadOnly
für die Instanzvorlage -
Das Inhaberprojekt soll die gemeinsame Reservierung erstellen, sie aber nicht nutzen.
- Um die Ausgaben auf Projekte zu verteilen, sollten Nutzerprojekte nur eine gemeinsame Reservierung nutzen. Das Inhaberprojekt sollte nur zum Erstellen der freigegebenen Reservierung verwendet werden.
- Beim Erstellen einer freigegebenen Reservierung muss das Inhaberprojekt ein ausreichendes Kontingent für die Gesamtzahl der zu reservierenden Ressourcen haben. Nach dem Erstellen der Reservierung muss das Inhaberprojekt ein Kontingent für alle reservierten Ressourcen haben, die es nutzen möchte. Weitere Informationen finden Sie unter Zusätzliche Kontingentanforderungen für freigegebene Reservierungen.
-
Minimieren Sie die Anzahl der Projekte in Ihrer Organisation, für die freigegebene Reservierungen erstellt werden können. Sie können dies über die Organisationsrichtlinieneinschränkung für "Inhaberprojekte für freigegebene Reservierungen" (
compute.sharedReservationsOwnerProjects
) steuern.- Sie können nur die Reservierungen auflisten, die für ein Projekt erstellt wurden. Dies bedeutet, dass freigegebene Reservierungen nur in dem Inhaberprojekt aufgelistet werden. Sie können keine Reservierungen auflisten, die für ein Projekt freigegeben wurden, oder alle freigegebenen Reservierungen in einer Organisation. Daher ist es hilfreich, mit nur wenigen Inhaberprojekten zu arbeiten, damit das Überwachen und Verwalten der freigegebenen Reservierungen einfacher wird.
- Beschränken Sie die Freigabe einer freigegebenen Reservierung auf wenige Projekte, um das Kontingent der reservierten Ressourcen leichter zu verwalten.
- Weitere Informationen finden Sie unter Erstellen und Ändern von freigegebenen Reservierungen für Projekte zulassen und beschränken.
-
Minimieren Sie die Anzahl einzelner freigegebener Reservierungen mit identischen VM-Attributen.
- Eine Organisation kann bis zu 100 freigegebene Reservierungen für jede einmalige Kombination von VM-Attributen haben. Wenn Sie die Anzahl der freigegebenen Reservierungen mit identischen VM-Attributen gering halten, lässt sich diese Beschränkung einfacher einhalten.
- Weniger freigegebene Reservierungen verbessern die Verwaltung.
-
Geben Sie nur Reservierungen zwischen Projekten mit demselben Cloud-Rechnungskonto frei.
- Beschränken Sie jede freigegebene Reservierung so, dass sie nur für Nutzerprojekte freigegeben wird, die dasselbe Cloud-Rechnungskonto wie das Inhaberprojekt haben. So können Sie einfacher feststellen, ob eine Reservierung genutzt wurde und wie sie abgerechnet wurde.
- Wenn Sie die CUD-Freigabe aktiviert haben und Anspruch auf CUDs auf der Ebene des Cloud-Rechnungskontos haben, können Sie die folgenden Limits für die CUDs maximieren, die Sie für Ihre genutzten Reservierungen erhalten, um Ihre freigegebenen Reservierungen für das Cloud-Rechnungskonto dieser Zusicherung zu begrenzen. Auf diese Weise können Sie eine konsistente Abrechnung für Projekte gewährleisten, die freigegebene Reservierungen erstellen und nutzen.
-
Prüfen Sie bei zukünftigen Reservierungsanfragen die Gesamtzahl der VMs, die Sie anfordern.
- Wenn Sie eine Anfrage für eine zukünftige Reservierung erhalten, sollten Sie eineGesamtzahl von VMs gewährleisten, die Folgendes berücksichtigen:
- Alle übereinstimmenden reservierten VMs, die zum zukünftigen Zeitpunkt bereits existieren werden
- Alle übereinstimmenden nicht reservierten VMs, die zu einem zukünftigen Zeitpunkt bereits existieren werden
- Alle übereinstimmenden nicht verwendeten On-Demand-Reservierungen, die zu dem zukünftigen Datum bereits existieren werden
- Die Erhöhung der Nutzung, die Sie zu einem zukünftigen Zeitpunkt reservieren möchten
Angenommen, Sie benötigen zu einem späteren Zeitpunkt 10 zusätzliche VMs und Sie verfügen zu diesem Zeitpunkt bereits über die folgenden Ressourcen:
- 40 übereinstimmende reservierte VMs
- 50 übereinstimmende nicht reservierte VMs
oder
- 40 übereinstimmende reservierte VMs
- 50 übereinstimmende nicht verwendete On-Demand-Reservierungen
Da Ihre vorhandene Nutzung in der Zukunft bereits bis zu 90 übereinstimmende VMs und Reservierungen hinzufügt und Sie zusätzliche 10 VMs benötigen, müssen Sie in Ihrer zukünftigen Reservierungsanfrage eine Gesamtzahl von
100
angeben.Weitere Informationen finden Sie unter Reservierte Ressourcen zählen und bereitstellen.
- Wenn Sie eine Anfrage für eine zukünftige Reservierung erhalten, sollten Sie eineGesamtzahl von VMs gewährleisten, die Folgendes berücksichtigen:
Laden Sie die Richtlinie für Ihre Organisation als Datei mit dem Namen
policy.yaml
mithilfe des Befehlsgcloud resource-manager org-policies describe
herunter:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Ersetzen Sie ORGANIZATION_ID durch die Organisations-ID Ihrer Organisation.
Öffnen Sie die Datei
policy.yaml
mit einem Texteditor und rufen Sie die Einschränkungcompute.sharedReservationsOwnerProjects
auf. Die Projekte, für die freigegebene Reservierungen erstellt und geändert werden können, werden unter den zugehörigenallowedValues
aufgelistet:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
Dabei sind PROJECT_NUMBER_1, PROJECT_NUMBER_2 und PROJECT_NUMBER_3 die Projektnummern der einzigen Projekte in Ihrer Organisation, für die freigegebene Reservierungen erstellt und geändert werden können.
Optional: Löschen Sie die Datei
policy.yaml
.Wenn Sie ein Linux- oder macOS-Terminal verwenden, verwenden Sie den folgenden Befehl:
rm policy.yaml
Wenn Sie ein Windows-Terminal verwenden, verwenden Sie den folgenden Befehl:
del policy.yaml
Verwenden Sie den Befehl
gcloud resource-manager org-policies allow
, um einem einzelnen Projekt die Berechtigung zum Erstellen und Ändern freigegebener Reservierungen zu erteilen. Sie können diesen Befehl für jedes Projekt wiederholen, dem Sie diese Berechtigung erteilen möchten.gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \ --organization=ORGANIZATION_ID
Ersetzen Sie Folgendes:
- PROJECT_NUMBER: die Projektnummer (nicht die Projekt-ID) eines Projekts in Ihrer Organisation, für das Sie freigegebene Reservierungen erstellen und ändern möchten.
- ORGANIZATION_ID: die Organisations-ID Ihrer Organisation.
Wenn Sie die Berechtigungen zum Erstellen und Ändern freigegebener Reservierungen mehreren Projekte erteilen oder entziehen möchten, ersetzen Sie die Einschränkung der Organisationsrichtlinie:
Laden Sie die Richtlinie für Ihre Organisation als Datei mit dem Namen
policy.yaml
mithilfe des Befehlsgcloud resource-manager org-policies describe
herunter:gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects --organization=ORGANIZATION_ID > policy.yaml
Ersetzen Sie ORGANIZATION_ID durch die Organisations-ID Ihrer Organisation.
Verwenden Sie einen Texteditor, um die Datei
policy.yaml
so zu ändern, dass die Einschränkungcompute.sharedReservationsOwnerProjects
unterallowedValues
alle Projekte auflistet, die Sie zum Erstellen und Ändern von gemeinsamen Reservierungen zulassen möchten.- Fügen Sie für jedes Projekt, dem Sie die Berechtigung zum Erstellen und Ändern freigegebener Reservierungen gewähren möchten, das Projekt in einer neuen Zeile unter
allowedValues
hinzu. - Löschen Sie für jedes Projekt, für das Sie die Berechtigung zum Erstellen und Ändern freigegebener Reservierungen widerrufen möchten, die entsprechende Projektzeile.
Wenn Sie fertig sind, sollte die Datei
policy.yaml
in etwa so aussehen:... constraint: constraints/compute.sharedReservationsOwnerProjects listPolicy: allowedValues: - projects/PROJECT_NUMBER_1 - projects/PROJECT_NUMBER_2 - projects/PROJECT_NUMBER_3 ...
Dabei sind PROJECT_NUMBER_1, PROJECT_NUMBER_2 und PROJECT_NUMBER_3 die Projektnummern (nicht die Projekt-IDs) aller Projekte in Ihrer Organisation, die Sie zum Erstellen und Ändern gemeinsamer Reservierungen berechtigen möchten.
- Fügen Sie für jedes Projekt, dem Sie die Berechtigung zum Erstellen und Ändern freigegebener Reservierungen gewähren möchten, das Projekt in einer neuen Zeile unter
Speichern Sie die Datei
policy.yaml
und schließen Sie den Editor.Verwenden Sie den Befehl
gcloud resource-manager org-policies set-policy
, um die Richtlinie für Ihre Organisation mit Ihren Änderungen zu aktualisieren:gcloud resource-manager org-policies set-policy --organization=ORGANIZATION_ID policy.yaml
Ersetzen Sie ORGANIZATION_ID durch die Organisations-ID Ihrer Organisation.
Optional: Löschen Sie die Datei
policy.yaml
.Wenn Sie ein Linux- oder macOS-Terminal verwenden, verwenden Sie den folgenden Befehl:
rm policy.yaml
Wenn Sie ein Windows-Terminal verwenden, verwenden Sie den folgenden Befehl:
del policy.yaml
Empfohlen: Instanzvorlage angeben
In diesem Abschnitt wird erläutert, wie Sie die Attribute einer Reservierung mithilfe einer freigegebenen Instanzvorlage definieren. Mithilfe einer Instanzvorlage können Sie die Attribute einer Reservierung und die VMs definieren, die die Reservierung an derselben Stelle nutzen können. Da Vorlagen jedoch projektspezifisch sind, können Sie nicht dieselbe Vorlage zum Erstellen von VMs verwenden, die die Reservierung außerhalb des Projekts nutzen können, für das die Reservierung erstellt wurde. Für die Projekte, für die die Reservierung freigegeben ist, müssen Sie ähnliche Vorlagen in diesen Projekten erstellen oder VMs erstellen, indem Sie Attribute direkt angeben.
-
In diesem Abschnitt wird erläutert, wie Sie die Attribute einer Reservierung mithilfe einer vorhandenen VM definieren. Wenn Sie die Attribute einer vorhandenen VM verwenden, können Sie die Reservierung nutzen, indem Sie VMs mit Attributen erstellen, die mit der Referenz-VM übereinstimmen.
-
In diesem Abschnitt wird erläutert, wie Sie die Attribute einer freigegebenen Reservierung direkt definieren können. Bei dieser Methode müssen Sie manuell prüfen, ob die Attribute Ihrer VMs und Reservierungen exakt übereinstimmen –alle nicht übereinstimmenden Attribute verhindern die Nutzung.
Erstellen Sie eine Reservierung, die nur von VMs genutzt werden kann, die ausdrücklich auf sie abzielen, wie in den folgenden Abschnitten dieses Dokuments erläutert. Anschließend konfigurieren Sie VMs so, dass sie diese Reservierung nutzen.
Konfigurieren Sie VMs, die keine Reservierungen nutzen können.
Eine Instanzvorlage enthält projektspezifische Einstellungen, sodass Sie nur auf eine Instanzvorlage im selben Projekt zugreifen und diese verwenden können. Wenn Sie eine freigegebene Reservierung durch Angabe einer Instanzvorlage erstellen, können Sie diese Vorlage nicht zum Erstellen von VMs verwenden, die die Reservierung außerhalb des Projekts nutzen können, für das die Reservierung erstellt wurde.
Erstellen Sie Ihre Reservierung in derselben Region und Zone wie die Ressourcen in der Instanzvorlage. Alle regionalen oder zonalen Ressourcen, die in einer Instanzvorlage angegeben sind, z. B. ein Maschinentyp oder ein Persistent Disk-Volume, schränken die Verwendung der Vorlage an den Standorten, an denen diese Ressourcen vorhanden sind. Wenn Ihre Instanzvorlage beispielsweise ein vorhandenes nichtflüchtiges Speicher-Volume in Zone
us-central1-a
angibt, können Sie Ihre Reservierung nur in derselben Zone erstellen. Wenn Sie prüfen möchten, ob eine vorhandene Vorlage Ressourcen enthält, die die Vorlage an eine bestimmte Region oder Zone binden, rufen Sie die Details der Vorlage auf und suchen Sie nach Verweisen auf regionale oder zonale Ressourcen, die darin enthalten sind.Öffnen Sie in der Google Cloud Console die Seite Reservierungen.
Die Seite Reservierungen wird angezeigt.
Klicken Sie auf
Reservierung erstellen.Die Seite Reservierung erstellen wird angezeigt.
Geben Sie unter Name einen Namen für die Reservierung ein.
Wählen Sie unter Region und Zone aus, wo Sie Ressourcen reservieren möchten.
Führen Sie im Abschnitt Freigabetyp folgende Schritte aus:
Wählen Sie Freigegeben aus, um eine freigegebene Reservierung anzugeben.
Klicken Sie auf
Projekte hinzufügen und wählen Sie die Projekte aus der Organisation des aktuellen Projekts aus, für die Sie die Reservierung freigeben möchten. Sie können bis zu 100 Nutzerprojekte auswählen.
Optional: Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, wählen Sie im Abschnitt Google Cloud-Dienste die Option Reservierung freigeben aus.
Wählen Sie im Abschnitt Mit VM-Instanz verwenden eine der folgenden Optionen:
Damit übereinstimmende VM-Instanzen diese Reservierung automatisch verwenden können, wählen Sie Reservierung automatisch verwenden aus, falls diese Option noch nicht ausgewählt ist.
Wenn Sie die Ressourcen der Reservierung nur zum Erstellen übereinstimmender VMs verbrauchen möchten, die ausdrücklich namentlich auf diese Reservierung abzielen, klicken Sie auf Spezifische Reservierung auswählen.
Geben Sie unter Anzahl der VM-Instanzen die Anzahl der VMs ein, die Sie reservieren möchten.
Wählen Sie im Abschnitt Maschinenkonfiguration die Option Instanzvorlage verwenden und dann die gewünschte Instanzvorlage aus. Wenn Sie eine regionale Instanzvorlage auswählen, können Sie Ressourcen nur innerhalb der Region reservieren, in der sich die Vorlage befindet.
Im Abschnitt Automatisch löschen können Sie die Option zum automatischen Löschen aktivieren, damit Compute Engine die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit automatisch löscht. Das automatische Löschen von Reservierungen kann nützlich sein, um unnötige Gebühren zu vermeiden, wenn Sie die Reservierung nicht mehr nutzen.
Klicken Sie zum Erstellen der Reservierung auf Erstellen.
Die Seite Reservierungen wird geöffnet. Das Erstellen der freigegebenen Reservierung kann bis zu einer Minute dauern.
RESERVATION_NAME
: der Name der Reservierung, die erstellt werden soll.PROJECT_ID
: die ID des Projekts, in dem Sie Ressourcen reservieren möchten und in dem sich die Instanzvorlage befindet.CONSUMER_PROJECT_IDS
: eine durch Kommas getrennte Liste von IDs von Projekten, die diese Reservierung nutzen können, z. B.project-1,project-2
. Sie können bis zu 100 Nutzerprojekte hinzufügen. Diese Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Standardmäßig darf sie die Reservierung bereits nutzen.LOCATION
: der Speicherort der Instanzvorlage. Geben Sie einen der folgenden Werte an:Für eine globale Instanzvorlage:
global
Für eine regionale Instanzvorlage:
regions/REGION
. Ersetzen SieREGION
durch die Region, in der sich die Instanzvorlage befindet. Wenn Sie eine regionale Instanzvorlage angeben, können Sie VMs nur innerhalb der Region reservieren, in der sich die Vorlage befindet.
INSTANCE_TEMPLATE_NAME
: der Name einer vorhandenen Instanzvorlage. Wenn die Instanzvorlage einen A3-Maschinentyp angibt, müssen Sie das Flag--require-specific-reservation
einfügen. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können. Weitere Informationen finden Sie unter VMs aus einer bestimmten Reservierung nutzen.NUMBER_OF_VMS
: die Anzahl der zu reservierenden VMs.ZONE
: die Zone, in der Ressourcen reserviert werden sollen.Wenn Sie angeben möchten, dass nur VMs, die speziell auf diese Reservierung abzielen, sie verbrauchen können, fügen Sie das Flag
--require-specific-reservation
ein.gcloud compute reservations create RESERVATION_NAME \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--reservation-sharing-policy=ALLOW_ALL
.gcloud beta compute reservations create RESERVATION_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Wählen Sie eine der folgenden Methoden aus, damit Compute Engine die Reservierung automatisch löschen kann:
Verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--delete-at-time
, um die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit zu löschen.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
DELETE_AT_TIME
durch einen RFC 3339-Zeitstempel für Datum und Uhrzeit, der so aussehen muss:YYYY-MM-DDTHH:MM:SSOFFSET
Ersetzen Sie Folgendes:
YYYY-MM-DD
: ein Datum, formatiert als vierstelliges Jahr, zweistelliger Monat und zweistelliger Tag des Monats und durch Bindestriche (-
) getrennt.HH:MM:SS
: eine Uhrzeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minuten und zweistellige Sekunden formatiert und durch Doppelpunkte getrennt (:
) ist.OFFSET
: die Zeitzone, formatiert als Versatz von der koordinierten Weltzeit (Coordinated Universal Time, UTC). Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, geben Sie-08:00
an. Wenn Sie keinen Versatz verwenden möchten, geben SieZ
an.
Verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--delete-after-duration
, um die Reservierung nach einer bestimmten Dauer zu löschen.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
DELETE_AFTER_DURATION
durch eine Dauer in Tagen, Stunden, Minuten oder Sekunden. Geben Sie beispielsweise30m
für 30 Minuten oder1d2h3m4s
für 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an.
Das Feld
projectMap
.Das Feld
shareType
ist aufSPECIFIC_PROJECTS
gesetzt.PROJECT_ID
: die ID des Projekts, in dem Sie Ressourcen reservieren möchten und in dem sich die Instanzvorlage befindet.ZONE
: die Zone, in der Ressourcen reserviert werden sollen.RESERVATION_NAME
: der Name der Reservierung, die erstellt werden soll.CONSUMER_PROJECT_ID_1
undCONSUMER_PROJECT_ID_2
: die IDs von Projekten, die diese Reservierung verwenden können. Sie können bis zu 100 Nutzerprojekte hinzufügen. Diese Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Standardmäßig darf diese Reservierung bereits genutzt werden.NUMBER_OF_VMS
: die Anzahl der zu reservierenden VMs.LOCATION
: der Speicherort der Instanzvorlage. Geben Sie einen der folgenden Werte an:Für eine globale Instanzvorlage:
global
Für eine regionale Instanzvorlage:
regions/REGION
. Ersetzen SieREGION
durch die Region, in der sich die Instanzvorlage befindet. Wenn Sie eine regionale Instanzvorlage angeben, können Sie VMs nur innerhalb der Region reservieren, in der sich die Vorlage befindet.
INSTANCE_TEMPLATE_NAME
: der Name einer vorhandenen Instanzvorlage. Wenn die Instanzvorlage einen A3-Maschinentyp angibt, müssen Sie das FeldspecificReservationRequired
in den Anfragetext einfügen und das Feld auftrue
setzen. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können. Weitere Informationen finden Sie unter VMs aus einer bestimmten Reservierung nutzen.Wenn Sie angeben möchten, dass nur VMs, die ausdrücklich auf diese Reservierung abzielen, diese verbrauchen können, fügen Sie das Feld
specificReservationRequired
im Anfragetext ein und legen Sie dafür das Feld auftrue
fest.Wenn Sie beispielsweise eine bestimmte Reservierung erstellen möchten, indem Sie eine Instanzvorlage angeben, und die Reservierung für zwei Nutzerprojekte freigeben, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, senden Sie eine
POST
-Anfrage an diebeta.reservations.insert
-Methode. Fügen Sie im Anfragetext das FeldserviceShareType
ein und legen Sie es aufALLOW_ALL
fest.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Wählen Sie eine der folgenden Methoden aus, damit Compute Engine die Reservierung automatisch löschen kann:
Wenn Sie die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit löschen möchten, stellen Sie eine
POST
-Anfrage an die Methodebeta.reservations.insert
. Geben Sie im Anfragetext das FelddeleteAtTime
an.Wenn Sie beispielsweise eine Reservierung erstellen möchten, indem Sie eine Instanzvorlage angeben, die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit automatisch löschen und die Reservierung für zwei Nutzerprojekte freigeben, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Ersetzen Sie
DELETE_AT_TIME
durch einen RFC 3339-Zeitstempel für Datum und Uhrzeit, der so aussehen muss:YYYY-MM-DDTHH:MM:SSOFFSET
Ersetzen Sie Folgendes:
YYYY-MM-DD
: ein Datum, formatiert als vierstelliges Jahr, zweistelliger Monat und zweistelliger Tag des Monats und durch Bindestriche (-
) getrennt.HH:MM:SS
: eine Uhrzeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minuten und zweistellige Sekunden formatiert und durch Doppelpunkte getrennt (:
) ist.OFFSET
: die Zeitzone, formatiert als Versatz von der koordinierten Weltzeit (Coordinated Universal Time, UTC). Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, geben Sie-08:00
an. Wenn Sie keinen Versatz verwenden möchten, geben SieZ
an.
Wenn Sie die Reservierung nach einer bestimmten Dauer löschen möchten, senden Sie eine
POST
-Anfrage an die Methodebeta.reservations.insert
. Geben Sie im Anfragetext das FelddeleteAfterDuration
an.Wenn Sie beispielsweise eine Reservierung erstellen, indem Sie eine Instanzvorlage angeben, die Reservierung nach einer bestimmten Dauer automatisch löschen und die Reservierung für zwei Nutzerprojekte freigeben möchten, stellen Sie eine Anfrage wie die folgende:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Ersetzen Sie
DELETE_AFTER_DURATION
durch die Dauer in Sekunden. Geben Sie beispielsweise86400
für 86.400 Sekunden (1 Tag) an.
Eine Instanzvorlage auf diese Weise erstellen und verwenden:
Erstellen Sie eine Instanzvorlage basierend auf der Referenz-VM, ohne die Eigenschaften der Referenz-VM zu überschreiben.
Erstellen Sie VMs mit der neu erstellten Vorlage, indem Sie eine oder beide der folgenden Aktionen ausführen:
Erstellen Sie eine VM mit Eigenschaften, die genau mit der Referenz-VM übereinstimmen:
Erstellen Sie im Inhaberprojekt eine VM basierend auf der Referenz-VM, ohne die Attribute der zu erstellenden VM zu ändern.
Erstellen Sie in den Nutzerprojekten eine VM und achten Sie dabei darauf, dass ihre Attribute mit den Attributen der Referenz-VM übereinstimmen.
Öffnen Sie in der Google Cloud Console die Seite Reservierungen.
Klicken Sie auf dem Tab On-Demand-Reservierungen (Standard) auf
Reservierung erstellen.Die Seite Reservierung erstellen wird geöffnet.
Geben Sie unter Name einen Namen für die Reservierung ein.
Wählen Sie unter Region und Zone aus, wo Sie Ressourcen reservieren möchten.
Führen Sie im Abschnitt Freigabetyp folgende Schritte aus:
Wählen Sie Freigegeben aus, um eine freigegebene Reservierung anzugeben.
Klicken Sie auf
Projekte hinzufügen und wählen Sie die Projekte aus der Organisation des aktuellen Projekts aus, für die Sie die Reservierung freigeben möchten. Sie können bis zu 100 Nutzerprojekte auswählen.
Wählen Sie im Abschnitt Mit VM-Instanz verwenden eine der folgenden Optionen:
Damit übereinstimmende VMs diese Reservierung automatisch verwenden können, wählen Sie Reservierung automatisch verwenden aus, falls diese Option noch nicht ausgewählt ist.
Wenn Sie die Ressourcen der Reservierung nur zum Erstellen übereinstimmender VMs verbrauchen möchten, die ausdrücklich namentlich auf diese Reservierung abzielen, klicken Sie auf Spezifische Reservierung auswählen.
Geben Sie unter Anzahl der VM-Instanzen die Anzahl der VMs ein, die Sie reservieren möchten.
Führen Sie im Abschnitt Maschinenkonfiguration die folgenden Schritte aus:
Wählen Sie Vorhandene VM verwenden aus.
Wählen Sie unter Vorhandene VM die VM mit den Attributen aus, die Sie zum Erstellen der Reservierung verwenden möchten.
Im Abschnitt Automatisch löschen können Sie die Option zum automatischen Löschen aktivieren, damit Compute Engine die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit automatisch löscht. Das automatische Löschen von Reservierungen kann nützlich sein, um unnötige Gebühren zu vermeiden, wenn Sie die Reservierung nicht mehr nutzen.
Klicken Sie zum Erstellen der Reservierung auf Erstellen.
Die Seite Reservierungen wird geöffnet. Das Erstellen der Reservierung kann bis zu einer Minute dauern.
Öffnen Sie in der Google Cloud Console die Seite Reservierungen.
Klicken Sie auf dem Tab On-Demand-Reservierungen (Standard) auf
Reservierung erstellen.Klicken Sie auf
Reservierung erstellen.Die Seite Reservierung erstellen wird angezeigt.
Geben Sie unter Name einen Namen für die Reservierung ein.
Wählen Sie unter Region und Zone aus, wo Sie Ressourcen reservieren möchten.
Führen Sie im Abschnitt Freigabetyp folgende Schritte aus:
Wählen Sie Freigegeben aus, um eine freigegebene Reservierung anzugeben.
Klicken Sie auf
Projekte hinzufügen und wählen Sie die Projekte aus der Organisation des aktuellen Projekts aus, für die Sie die Reservierung freigeben möchten. Sie können bis zu 100 Nutzerprojekte auswählen.
Optional: Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, wählen Sie im Abschnitt Google Cloud-Dienste die Option Reservierung freigeben aus.
Wählen Sie im Abschnitt Mit VM-Instanz verwenden eine der folgenden Optionen:
Klicken Sie auf Reservierung automatisch verwenden (Standardeinstellung), damit übereinstimmende VMs diese Reservierung automatisch verwenden können.
Wenn Sie die Ressourcen der Reservierung nur zum Erstellen übereinstimmender VMs verbrauchen möchten, die ausdrücklich namentlich auf diese Reservierung abzielen, klicken Sie auf Spezifische Reservierung auswählen.
Geben Sie unter Anzahl der VM-Instanzen die Anzahl der VMs ein, die Sie reservieren möchten.
Wählen Sie im Abschnitt Maschinenkonfiguration die Option Maschinentyp angeben aus und geben Sie Folgendes an:
Wählen Sie unter Maschinenfamilie, Reihe und Maschinentyp eine Maschinenfamilie, eine Reihe und einen Maschinentyp aus.
Optional: So geben Sie eine Mindest-CPU-Plattform an oder binden GPUs an N1-VMs an:
Klicken Sie zum Erweitern des Abschnitts CPU-Plattform und GPU auf den Erweiterungspfeil
.Optional: Wählen Sie unter CPU-Formular eine Option aus, um eine Minimalanforderung für die CPU-Plattform anzugeben.
Optional: Wenn Sie GPUs an N1-VMs anhängen möchten, klicken Sie auf
GPU hinzufügen. Wählen Sie dann unter GPU-Typ und Anzahl der GPUs den Typ und die Anzahl der GPUs aus, die an jede N1-VM angehängt werden sollen.
Optional: So fügen Sie lokale SSD-Laufwerke hinzu:
Wählen Sie unter Anzahl der Laufwerke die Anzahl der lokalen SSD-Laufwerke für jede VM aus.
Wählen Sie unter Schnittstellentyp die Schnittstelle für die lokalen SSD-Laufwerke aus.
Im Abschnitt Automatisch löschen können Sie die Option zum automatischen Löschen aktivieren, damit Compute Engine die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit automatisch löscht. Das automatische Löschen von Reservierungen kann nützlich sein, um unnötige Gebühren zu vermeiden, wenn Sie die Reservierung nicht mehr nutzen.
Klicken Sie zum Erstellen der Reservierung auf Erstellen.
Die Seite Reservierungen wird geöffnet. Das Erstellen der freigegebenen Reservierung kann bis zu einer Minute dauern.
RESERVATION_NAME
: der Name der Reservierung, die erstellt werden soll.MACHINE_TYPE
ist ein für jede VM zu verwendender Maschinentyp. Wenn Sie einen A3-Maschinentyp angeben, müssen Sie das Flag--require-specific-reservation
einfügen. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können. Weitere Informationen finden Sie unter VMs aus einer bestimmten Reservierung nutzen.CONSUMER_PROJECT_IDS
: eine durch Kommas getrennte Liste von IDs von Projekten, die diese Reservierung nutzen können, z. B.project-1,project-2
. Sie können bis zu 100 Nutzerprojekte hinzufügen. Diese Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Standardmäßig darf diese Reservierung bereits genutzt werden.NUMBER_OF_VMS
: die Anzahl der zu reservierenden VMs.ZONE
: die Zone, in der Ressourcen reserviert werden sollen.Fügen Sie das Flag
--accelerator
ein, um Ihren reservierten N1-VMs GPUs hinzuzufügen.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie Folgendes:
NUMBER_OF_ACCELERATORS
: die Anzahl der GPUs, die pro reservierter VM hinzugefügt werden sollen.ACCELERATOR_TYPE
: Ein unterstütztes GPU-Modell für N1-VMs. Achten Sie darauf, dass das ausgewählte GPU-Modell in der Zone verfügbar ist, in der Sie Ressourcen reservieren möchten. Andernfalls schlägt das Erstellen der Reservierung fehl.
Fügen Sie ein oder mehrere
--local-ssd
-Flags hinzu, um jeder reservierten VM ein oder mehrere lokale SSD-Laufwerke hinzuzufügen. Sie können bis zu 24 lokale SSD-Laufwerke angeben. Jede lokale SSD ist 375 GB groß.Wenn Sie beispielsweise beim Erstellen einer freigegebenen Reservierung zwei lokale SSDs angeben möchten, fügen Sie zwei
--local-ssd
-Flags hinzu:gcloud compute reservations create RESERVATION_NAME \ --local-ssd=size=375,interface=INTERFACE_1 \ --local-ssd=size=375,interface=INTERFACE_2 \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
INTERFACE_1
undINTERFACE_2
durch den Schnittstellentyp, den jedes lokale SSD-Laufwerk verwenden soll. Geben Sie einen der folgenden Werte an:NVME-Laufwerksschnittstellen:
nvme
SCSI-Laufwerksschnittstellen:
scsi
Achten Sie darauf, dass der Maschinentyp, den Sie für die reservierten VMs angeben, die ausgewählten Laufwerksschnittstellen unterstützt. Andernfalls schlägt das Erstellen der Reservierung fehl. Weitere Informationen finden Sie unter Laufwerksschnittstelle auswählen.
Damit die reservierten VMs eine bestimmte Mindest-CPU-Plattform anstelle der Standard-CPU-Plattform der Zone verwenden, fügen Sie das Flag
--min-cpu-platform
ein.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
MIN_CPU_PLATFORM
durch eine Mindest-CPU-Plattform. Um sicherzustellen, dass eine CPU-Plattform in der Zone verfügbar ist, in der Sie Ressourcen reservieren, rufen Sie die verfügbaren CPU-Plattformen nach Zone auf.Wenn Sie angeben möchten, dass nur VMs, die speziell auf diese Reservierung abzielen, sie verbrauchen können, fügen Sie das Flag
--require-specific-reservation
ein.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--reservation-sharing-policy=ALLOW_ALL
.gcloud beta compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Wählen Sie eine der folgenden Methoden aus, damit Compute Engine die Reservierung automatisch löschen kann:
Verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--delete-at-time
, um die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit zu löschen.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
DELETE_AT_TIME
durch einen RFC 3339-Zeitstempel für Datum und Uhrzeit, der so aussehen muss:YYYY-MM-DDTHH:MM:SSOFFSET
Ersetzen Sie Folgendes:
YYYY-MM-DD
: ein Datum, formatiert als vierstelliges Jahr, zweistelliger Monat und zweistelliger Tag des Monats und durch Bindestriche (-
) getrennt.HH:MM:SS
: eine Uhrzeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minuten und zweistellige Sekunden formatiert und durch Doppelpunkte getrennt (:
) ist.OFFSET
: die Zeitzone, formatiert als Versatz von der koordinierten Weltzeit (Coordinated Universal Time, UTC). Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, geben Sie-08:00
an. Wenn Sie keinen Versatz verwenden möchten, geben SieZ
an.
Verwenden Sie den Befehl
gcloud beta compute reservations create
mit dem Flag--delete-after-duration
, um die Reservierung nach einer bestimmten Dauer zu löschen.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie
DELETE_AFTER_DURATION
durch eine Dauer in Tagen, Stunden, Minuten oder Sekunden. Geben Sie beispielsweise30m
für 30 Minuten oder1d2h3m4s
für 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an.
- Setzen Sie das Feld
share_type
aufSPECIFIC_PROJECTS
. - Geben Sie im
project_map
-Block die Projekt-IDs der Projekte an, für die Sie diese Reservierung freigeben möchten. Das Feld
projectMap
.Das Feld
shareType
ist aufSPECIFIC_PROJECTS
gesetzt.PROJECT_ID
: die ID des Projekts, in dem Sie Ressourcen reservieren möchten.ZONE
: die Zone, in der Ressourcen reserviert werden sollen.RESERVATION_NAME
: der Name der Reservierung, die erstellt werden soll.CONSUMER_PROJECT_ID_1
undCONSUMER_PROJECT_ID_2
: die IDs von Projekten, die diese Reservierung verwenden können. Sie können bis zu 100 Nutzerprojekte hinzufügen. Diese Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Standardmäßig darf diese Reservierung bereits genutzt werden.NUMBER_OF_VMS
: die Anzahl der zu reservierenden VMs.MACHINE_TYPE
ist ein für jede VM zu verwendender Maschinentyp. Wenn Sie einen A3-Maschinentyp angeben, müssen Sie das FeldspecificReservationRequired
in den Anfragetext einfügen und das Feld auftrue
setzen. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können.Wenn Sie GPUs an Ihre reservierten N1-VMs anhängen möchten, fügen Sie das Feld
guestAccelerators
in den Anfragetext ein.Wenn Sie beispielsweise eine Reservierung erstellen möchten, die für zwei Nutzerprojekte freigegeben ist, und GPUs an alle reservierten N1-VMs anhängen möchten, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
Ersetzen Sie Folgendes:
NUMBER_OF_ACCELERATORS
: die Anzahl der GPUs, die pro reservierter VM hinzugefügt werden sollen.ACCELERATOR_TYPE
: Ein unterstütztes GPU-Modell für N1-VMs. Achten Sie darauf, dass das ausgewählte GPU-Modell in der Zone verfügbar ist, in der Sie Ressourcen reservieren möchten. Andernfalls schlägt das Erstellen der Reservierung fehl.
Wenn Sie jeder reservierten VM ein oder mehrere lokale SSD-Laufwerke hinzufügen möchten, fügen Sie das Feld
localSsds
im Anfragetext ein. Sie können bis zu 24 lokale SSD-Laufwerke angeben. Jede lokale SSD ist 375 GB groß.Wenn Sie beispielsweise eine freigegebene Reservierung erstellen und dabei zwei lokale SSD-Laufwerke und zwei Nutzerprojekte angeben möchten, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_1" }, { "diskSizeGb": "375", "interface": "INTERFACE_2" } ], "machineType": "MACHINE_TYPE" } } }
Ersetzen Sie
INTERFACE_1
undINTERFACE_2
durch den Schnittstellentyp, den jedes lokale SSD-Laufwerk verwenden soll. Geben Sie einen der folgenden Werte an:NVME-Laufwerksschnittstellen:
NVME
SCSI-Laufwerksschnittstellen:
SCSI
Achten Sie darauf, dass der Maschinentyp, den Sie für die reservierten VMs angeben, die ausgewählten Laufwerksschnittstellen unterstützt. Andernfalls schlägt das Erstellen der Reservierung fehl. Weitere Informationen finden Sie unter Laufwerksschnittstelle auswählen.
Damit die reservierten VMs eine bestimmte Mindest-CPU-Plattform anstelle der Standard-CPU-Plattform der Zone verwenden, fügen Sie das Feld
minCpuPlatform
im Anfragetext ein.Wenn Sie beispielsweise eine freigegebene Reservierung erstellen und dabei eine Mindest-CPU-Plattform und zwei Nutzerprojekte angeben möchten, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
Ersetzen Sie
MIN_CPU_PLATFORM
durch eine Mindest-CPU-Plattform. Um sicherzustellen, dass eine CPU-Plattform in der Zone verfügbar ist, in der Sie Ressourcen reservieren, rufen Sie die verfügbaren CPU-Plattformen nach Zone auf.Wenn Sie angeben möchten, dass nur VMs, die ausdrücklich auf diese Reservierung abzielen, diese verbrauchen können, fügen Sie das Feld
specificReservationRequired
im Anfragetext ein und legen Sie dafür das Feld auftrue
fest.Wenn Sie beispielsweise eine bestimmte Reservierung erstellen und für zwei Nutzerprojekte freigeben möchten, stellen Sie eine Anfrage wie die folgende:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Wenn Sie zulassen möchten, dass eine Reservierung von A2- oder A3-VMs von benutzerdefinierten Trainingsjobs oder Vorhersagejobs in Vertex AI genutzt wird, senden Sie eine
POST
-Anfrage an diebeta.reservations.insert
-Methode. Fügen Sie im Anfragetext das FeldserviceShareType
ein und legen Sie es aufALLOW_ALL
fest.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Wählen Sie eine der folgenden Methoden aus, damit Compute Engine die Reservierung automatisch löschen kann:
Wenn Sie die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit löschen möchten, stellen Sie eine
POST
-Anfrage an die Methodebeta.reservations.insert
. Geben Sie im Anfragetext das FelddeleteAtTime
an.Wenn Sie beispielsweise eine Reservierung erstellen und dabei ein Datum und eine Uhrzeit für das Löschen der Reservierung angeben und die Reservierung für zwei Nutzerprojekte freigeben möchten, stellen Sie eine Anfrage wie die folgende:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Ersetzen Sie
DELETE_AT_TIME
durch einen RFC 3339-Zeitstempel für Datum und Uhrzeit, der so aussehen muss:YYYY-MM-DDTHH:MM:SSOFFSET
Ersetzen Sie Folgendes:
YYYY-MM-DD
: ein Datum, formatiert als vierstelliges Jahr, zweistelliger Monat und zweistelliger Tag des Monats und durch Bindestriche (-
) getrennt.HH:MM:SS
: eine Uhrzeit, die als zweistellige Stundenzahl im 24-Stunden-Format, zweistellige Minuten und zweistellige Sekunden formatiert und durch Doppelpunkte getrennt (:
) ist.OFFSET
: die Zeitzone, formatiert als Versatz von der koordinierten Weltzeit (Coordinated Universal Time, UTC). Wenn Sie beispielsweise Pacific Standard Time (PST) verwenden möchten, geben Sie-08:00
an. Wenn Sie keinen Versatz verwenden möchten, geben SieZ
an.
Wenn Sie die Reservierung nach einer bestimmten Dauer löschen möchten, senden Sie eine
POST
-Anfrage an die Methodebeta.reservations.insert
. Geben Sie im Anfragetext das FelddeleteAfterDuration
an.Wenn Sie beispielsweise eine Reservierung erstellen möchten, die von der Compute Engine nach einer bestimmten Dauer gelöscht wird, und die Reservierung für zwei Nutzerprojekte freigeben möchten, stellen Sie so eine Anfrage:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Ersetzen Sie
DELETE_AFTER_DURATION
durch die Dauer in Sekunden. Geben Sie beispielsweise86400
für 86.400 Sekunden (1 Tag) an.
Terraform
Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von freigegebenen Reservierungen benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen freigegebener Reservierungen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen freigegebener Reservierungen erforderlich:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Best Practices
Beim Erstellen freigegebener Reservierungen werden die folgenden Best Practices empfohlen. Befolgen Sie diese, um die Verwaltung und Auslastung freigegebener Reservierungen in Ihrer Organisation zu optimieren.
Erstellen und Ändern von freigegebenen Reservierungen für Projekte zulassen und beschränken
Standardmäßig können freigegebene Reservierungen in einer Organisation nicht für einzelne Projekte erstellt oder geändert werden. Fügen Sie der Organisationsrichtlinieneinschränkung für Inhaberprojekte für freigegebene Reservierungen (
compute.sharedReservationsOwnerProjects
) die Projekte hinzu, denen für die freigegebene Reservierungen erstellt oder geändert werden sollen. Weitere Informationen zu Organisationsrichtlinieneinschränkungen finden Sie unter Einführung in den Organisationsrichtliniendienst.Führen Sie die folgenden Schritte aus, um die Organisationsrichtlinieneinschränkung für Inhaberprojekte für freigegebene Reservierungen (
compute.sharedReservationsOwnerProjects
) aufzurufen und zu bearbeiten.Organisationsrichtlinieneinschränkung für freigegebene Reservierungen aufrufen
Mit der Google Cloud Console oder mit der gcloud CLI können Sie feststellen, für welche Projekte freigegebene Reservierungen erstellt und geändert werden können.
Console
Führen Sie die Schritte unter Organisationsrichtlinien aufrufen aus, um die Einschränkung für Inhaberprojekte für freigegebene Reservierungen zu verwenden.
gcloud
So ermitteln Sie, für welche Projekte die Einschränkung
compute.sharedReservationsOwnerProjects
das Erstellen und Ändern freigegebener Reservierungen zulässt:Organisationsrichtlinieneinschränkung für freigegebene Reservierungen bearbeiten
Mit der Google Cloud Console oder der gcloud CLI können Sie festlegen, für welche Projekte freigegebene Reservierungen erstellt und geändert werden können.
Console
Führen Sie die Schritte unter Richtlinien für Listeneinschränkungen anpassen mit der Einschränkung Inhaberprojekte für freigegebene Reservierungen aus.
gcloud
Mit einer der folgenden Methoden können Sie bearbeiten, für welche Projekte die Einschränkung
compute.sharedReservationsOwnerProjects
das Erstellen und Ändern freigegebener Reservierungen zulässt:Es kann einige Minuten dauern, bis die Änderung wirksam wird.
Freigegebene Reservierung erstellen
In diesem Abschnitt wird erläutert, wie Sie freigegebene Reservierungen erstellen. Nachdem Sie eine freigegebene Reservierung erstellt haben, kann diese nur für das Inhaberprojekt geändert werden, die Ressourcen für eine freigegebene Reservierung können jedoch vom Inhaberprojekt oder von Nutzerprojekten verwendet werden.
Zum Verarbeiten einer Reservierung muss eine VM Attribute haben, die genau mit dieser Reservierung übereinstimmen. Wählen Sie einen der folgenden Abschnitte in diesem Dokument aus, um die Attribute der VMs anzugeben, die Sie reservieren möchten:
Standardmäßig kann eine Reservierung automatisch von allen VMs mit Attributen genutzt werden, die mit der Reservierung übereinstimmen. Wenn Sie die Nutzung von Reservierungen steuern möchten, haben Sie folgende Möglichkeiten:
Instanzvorlage angeben
Achten Sie vor dem Erstellen einer Reservierung durch Angabe einer Instanzvorlage auf Folgendes:
Wählen Sie eine der folgenden Optionen aus, um eine freigegebene Reservierung durch Angabe einer Instanzvorlage zu erstellen:
Console
gcloud
Verwenden Sie zum Erstellen einer freigegebenen Reservierung den Befehl
gcloud compute reservations create
mit den Flags--share-setting=projects
und--share-with
.Führen Sie den folgenden Befehl aus, um eine freigegebene Reservierung durch Angabe einer Instanzvorlage ohne optionale Flags zu erstellen:
gcloud compute reservations create RESERVATION_NAME \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie Folgendes:
Wenn Sie beispielsweise eine Reservierung durch Angabe einer globalen Instanzvorlage in Zone
us-central1-a
erstellen möchten, geben Sie die Reservierung für die Projekteproject-1
undproject-2
frei und reservieren Sie zehn VMs, die jeweils einen N2-vordefinierten Maschinentyp mit 4 vCPUs verwenden. Führen Sie den folgenden Befehl aus:gcloud compute reservations create my-reservation \ --share-setting=projects \ --share-with=project-1,project-2 \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
Optional können Sie eine oder mehrere der folgenden Optionen angeben:
REST
Senden Sie zum Erstellen einer freigegebenen Reservierung eine
POST
-Anfrage an die Methodereservations.insert
. Geben Sie im Anfragetext Folgendes an:Wenn Sie beispielsweise eine freigegebene Reservierung erstellen möchten, indem Sie eine Instanzvorlage ohne optionale Felder angeben und die Reservierung für zwei Nutzerprojekte freigeben, stellen Sie die folgende
POST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Ersetzen Sie Folgendes:
So erstellen Sie beispielsweise eine Reservierung für zehn VMs in Zone
us-central1-a
, indem Sie eine globale Instanzvorlage angeben und die Reservierung für Projekteproject-1
undproject-2
freigeben. Nehmen Sie folgendePOST
-Anfrage vor:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
Optional können Sie eine oder mehrere der folgenden Optionen angeben:
Vorhandene VM angeben
Sie können eine freigegebene Reservierung nur auf der Grundlage einer vorhandenen VM im selben Projekt und in derselben Zone wie die VM erstellen.
Nachdem Sie die Reservierung erstellt haben, können Sie sie nutzen, indem Sie VMs mit Attributen erstellen, die mit der Referenz-VM übereinstimmen. Dazu können Sie eines der folgenden Dinge tun:
So erstellen Sie eine freigegebene Reservierung, die die Attribute einer vorhandenen VM verwendet:
VM-Attribute direkt angeben
Wählen Sie eine der folgenden Optionen aus, um eine freigegebene Reservierung durch direkte Angabe von Attributen zu erstellen:
Console
gcloud
Verwenden Sie zum Erstellen einer freigegebenen Reservierung den Befehl
gcloud compute reservations create
mit den Flags--share-setting=projects
und--share-with
.Führen Sie den folgenden Befehl aus, um eine freigegebene Reservierung durch direkte Angabe von Attributen und ohne optionale Flags zu erstellen:
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Ersetzen Sie Folgendes:
Um beispielsweise eine Reservierung in der Zone
us-central1-a
für zehn VMs zu erstellen, die jeweils einen vordefinierten Maschinentyp N2 mit 4 vCPUs verwenden, und die Reservierung mit den Projektenproject-1
undproject-2
zu teilen, führen Sie den folgenden Befehl aus:gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --share-setting=projects \ --share-with=project-1,project-2 \ --vm-count=10 \ --zone=us-central1-a
Optional können Sie eine oder mehrere der folgenden Optionen angeben:
Terraform
Verwenden Sie zum Erstellen einer Reservierung die Terraform-Ressource
google_compute_reservation
. Definieren Sie den Blockshare_settings
, um eine freigegebene Reservierung anzugeben:Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform mit Google Cloud verwenden.
REST
Senden Sie zum Erstellen einer freigegebenen Reservierung eine
POST
-Anfrage an die Methodereservations.insert
. Geben Sie im Anfragetext Folgendes an:Wenn Sie beispielsweise eine freigegebene Reservierung ohne optionale Felder erstellen und die Reservierung für zwei Nutzerprojekte freigeben möchten, stellen Sie die folgende
POST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "CONSUMER_PROJECT_ID_1": { "projectId": "CONSUMER_PROJECT_ID_1" }, "CONSUMER_PROJECT_ID_2": { "projectId": "CONSUMER_PROJECT_ID_2" } } }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Ersetzen Sie Folgendes:
Wenn Sie beispielsweise eine Reservierung durch Angabe einer globalen Instanzvorlage in Zone
us-central1-a
erstellen möchten, geben Sie die Reservierung für die Projekteproject-1
undproject-2
frei und reservieren Sie zehn VMs, die jeweils einen N2-vordefinierten Maschinentyp mit 4 vCPUs verwenden. Stellen Sie folgendePOST
-Anfrage:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "shareSettings": { "shareType": "SPECIFIC_PROJECTS", "projectMap": { "project-1": { "projectId": "project-1" }, "project-2": { "projectId": "project-2" } } }, "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
Optional können Sie eine oder mehrere der folgenden Optionen angeben:
Fehlerbehebung
Fehlerbehebung beim Erstellen von Reservierungen.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-25 (UTC).
-