Freigegebene Reservierung erstellen


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 Anforderungen und Einschränkungen für 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.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    Terraform

    Wenn Sie die Terraform-Beispiele auf dieser Seite aus einer lokalen Entwicklungsumgebung heraus verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

    1. Installieren Sie die Google Cloud CLI.
    2. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

      gcloud init
    3. Erstellen Sie lokale Anmeldedaten zur Authentifizierung für Ihr Google-Konto:

      gcloud auth application-default login

    Weitere Informationen: Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen freigegebener Reservierungen benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff 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:

  • 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

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.

  • 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.
    • Das Inhaberprojekt muss ein ausreichendes Kontingent für doppelte Ressourcen haben, die reserviert werden sollen. Weitere Informationen finden Sie unter Zusätzliche Anforderungen 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.

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:

  1. Laden Sie die Richtlinie für Ihre Organisation als Datei mit dem Namen policy.yaml mithilfe des Befehls gcloud 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.

  2. Öffnen Sie die Datei policy.yaml mit einem Texteditor und rufen Sie die Einschränkung compute.sharedReservationsOwnerProjects auf. Die Projekte, für die freigegebene Reservierungen erstellt und geändert werden können, werden unter den zugehörigen allowedValues 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.

  3. 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
      

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:

  • 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:

    1. Laden Sie die Richtlinie für Ihre Organisation als Datei mit dem Namen policy.yaml mithilfe des Befehls gcloud 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.

    2. Verwenden Sie einen Texteditor, um die Datei policy.yaml so zu ändern, dass die Einschränkung compute.sharedReservationsOwnerProjects unter allowedValues 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.

    3. Speichern Sie die Datei policy.yaml und schließen Sie den Editor.

    4. 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.

    5. 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
        

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:

  • 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.

  • Attribute direkt angeben

    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.

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

Zum Erstellen einer freigegebenen Reservierung durch Angabe einer Instanzvorlage können Sie die Google Cloud Console, die gcloud CLI oder REST verwenden.

Console

So erstellen Sie eine freigegebene Reservierung durch Angabe einer Instanzvorlage:

  1. Öffnen Sie in der Google Cloud Console die Seite Reservierungen.

    Zu „Reservierungen“

    Die Seite Reservierungen wird angezeigt.

  2. Klicken Sie auf Reservierung erstellen.

    Die Seite Reservierung erstellen wird angezeigt.

  3. Geben Sie im Feld Name einen Namen für die Reservierung ein.

  4. Wählen Sie die Region und die Zone aus, in der Sie Ressourcen reservieren möchten.

  5. Führen Sie im Abschnitt Freigabetyp folgende Schritte aus:

    1. Klicken Sie auf Freigegeben, um eine freigegebene Reservierung anzugeben.

    2. 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.

  6. Wählen Sie im Abschnitt Mit VM-Instanz verwenden eine der folgenden Optionen:

    • Klicken Sie auf Reservierung automatisch verwenden (Standardeinstellung), damit übereinstimmende VM-Instanzen 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.

  7. Geben Sie im Feld Anzahl der VM-Instanzen die Anzahl der VMs ein, die Sie reservieren möchten.

  8. Führen Sie im Abschnitt Maschinenkonfiguration die folgenden Schritte aus:

    1. Wählen Sie Instanzvorlage verwenden aus, um die Attribute Ihrer VMs aus einer vorhandenen Instanzvorlage anzugeben.

    2. Wählen Sie im Feld Instanzvorlage die gewünschte Vorlage aus. Wenn Sie eine regionale Instanzvorlage auswählen, können Sie Ressourcen nur innerhalb der Region der Instanzvorlage reservieren.

  9. 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.

  10. Klicken Sie zum Erstellen der Reservierung auf Erstellen.

    Das Erstellen der freigegebenen Reservierung kann einige Zeit dauern. Diese Aktion leitet Sie auf die Seite Reservierungen weiter.

gcloud

Verwenden Sie den Befehl gcloud compute reservations create, um eine freigegebene Reservierung durch Angabe einer Instanzvorlage zu erstellen.

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 \
    --project=PROJECT_ID \
    --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:

  • 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 die Instanzvorlage vorhanden ist.

  • 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.

  • 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 Sie REGION durch die Region, in der sich die Instanzvorlage befindet. Wenn Sie eine regionale Instanzvorlage angeben, können Sie nur VMs innerhalb der Region der Instanzvorlage reservieren.

  • INSTANCE_TEMPLATE_NAME: der Name einer vorhandenen Instanzvorlage. Wenn Sie eine Instanzvorlage angeben, können Sie beim Erstellen der Reservierung keines ihrer Attribute überschreiben. Andernfalls treten -Fehler auf.

  • NUMBER_OF_VMS: die Anzahl der zu reservierenden VMs.

  • ZONE: die Zone, in der Ressourcen reserviert werden sollen.

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 Projekte project-1 und project-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 \
    --project=example-project \
    --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:

  • Wenn Sie angeben möchten, dass nur VMs, die speziell auf diese Reservierung abzielen, sie nutzen können, fügen Sie das Flag --require-specific-reservation ein.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • 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 und fügen Sie das Flag --delete-at-time ein, um die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit zu löschen.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      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 Sie Z an.

    • Verwenden Sie den Befehl gcloud beta compute reservations create und fügen Sie das Flag --delete-after-duration ein, um die Reservierung nach einer bestimmten Dauer zu löschen.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Ersetzen Sie DELETE_AFTER_DURATION durch eine Dauer in Tagen, Stunden, Minuten oder Sekunden. Geben Sie beispielsweise 30m für 30 Minuten oder 1d2h3m4s für 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an.

REST

Zum Erstellen einer freigegebenen Reservierung durch Angabe einer Instanzvorlage stellen Sie eine POST-Anfrage an die Methode reservations.insert.

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:

  • PROJECT_ID: die ID des Projekts, in dem Sie Ressourcen reservieren möchten und in dem die Instanzvorlage vorhanden ist.

  • ZONE: die Zone, in der Ressourcen reserviert werden sollen.

  • RESERVATION_NAME: der Name der Reservierung, die erstellt werden soll.

  • CONSUMER_PROJECT_ID_1 und CONSUMER_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 Sie REGION durch die Region, in der sich die Instanzvorlage befindet. Wenn Sie eine regionale Instanzvorlage angeben, können Sie nur VMs innerhalb der Region der Instanzvorlage reservieren.

  • INSTANCE_TEMPLATE_NAME: der Name einer vorhandenen Instanzvorlage. Wenn Sie eine Instanzvorlage angeben, können Sie beim Erstellen der Reservierung keines ihrer Attribute überschreiben. Andernfalls treten -Fehler auf.

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 Projekte project-1 und project-2 freigeben. Nehmen Sie folgende POST-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:

  • Wenn Sie angeben möchten, dass nur VMs, die speziell auf diese Reservierung abzielen, sie nutzen können, fügen Sie das Feld specificReservationRequired in den Anfragetext ein und legen Sie dafür true fest.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • 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 Methode beta.reservations.insert. Geben Sie im Anfragetext das Feld deleteAtTime an.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      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 Sie Z an.

    • Wenn Sie die Reservierung nach einer bestimmten Dauer löschen möchten, senden Sie eine POST-Anfrage an die Methode beta.reservations.insert. Geben Sie im Anfragetext das Feld deleteAfterDuration an.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Ersetzen Sie DELETE_AFTER_DURATION durch die Dauer in Sekunden. Geben Sie beispielsweise 86400 für 86.400 Sekunden (1 Tag) an.

VM-Attribute direkt angeben

Verwenden Sie zum Erstellen einer freigegebenen Reservierung durch direkte Angabe von Attributen die Google Cloud Console, die gcloud CLI, Terraform oder REST.

Console

So erstellen Sie eine freigegebene Reservierung:

  1. Öffnen Sie in der Google Cloud Console die Seite Reservierungen.

    Zu „Reservierungen“

    Die Seite Reservierungen wird angezeigt.

  2. Klicken Sie auf Reservierung erstellen.

    Die Seite Reservierung erstellen wird angezeigt.

  3. Geben Sie im Feld Name einen Namen für die Reservierung ein.

  4. Wählen Sie die Region und die Zone aus, in der Sie Ressourcen reservieren möchten.

  5. Führen Sie im Abschnitt Freigabetyp folgende Schritte aus:

    1. Klicken Sie auf Freigegeben, um eine freigegebene Reservierung anzugeben.

    2. 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.

  6. 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.

  7. Geben Sie im Feld Anzahl der VM-Instanzen die Anzahl der VMs ein, die Sie reservieren möchten.

  8. Wählen Sie im Abschnitt Maschinenkonfiguration die Option Maschinentyp angeben aus und geben Sie Folgendes an:

    1. Wählen Sie in den Feldern Maschinenfamilie, Reihe und Maschinentyp eine Maschinenfamilie, eine Reihe und einen Maschinentyp aus.

    2. Optional: So geben Sie eine Mindest-CPU-Plattform und/oder GPUs an:

      1. Klicken Sie zum Erweitern des Abschnitts CPU-Plattform und GPU auf den Erweiterungspfeil .

      2. Optional: Wählen Sie in der Liste CPU-Formular eine Option aus, um eine Minimalanforderung für die CPU-Plattform anzugeben.

      3. Optional: Klicken Sie zum Hinzufügen von GPUs auf GPU hinzufügen. Wählen Sie dann in den Feldern GPU-Typ und Anzahl der GPUs den Typ und die Anzahl der GPUs für jede VM aus.

    3. Optional: So fügen Sie lokale SSDs hinzu:

      1. Wählen Sie im Feld Anzahl der Laufwerke die Anzahl der lokalen SSDs für jede VM aus.

      2. Wählen Sie im Feld Schnittstellentyp die Schnittstelle für die lokalen SSDs aus.

  9. 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.

  10. Klicken Sie zum Erstellen der Reservierung auf Erstellen.

    Das Erstellen der freigegebenen Reservierung kann einige Zeit dauern. Diese Aktion leitet Sie auf die Seite Reservierungen weiter.

gcloud

Verwenden Sie zum Erstellen einer freigegebenen Reservierung den Befehl gcloud compute reservations create.

Führen Sie den folgenden Befehl aus, um eine freigegebene Reservierung ohne optionale Flags zu erstellen:

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID \
    --share-setting=projects \
    --share-with=CONSUMER_PROJECT_IDS \
    --vm-count=NUMBER_OF_VMS \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • RESERVATION_NAME: der Name der Reservierung, die erstellt werden soll.

  • MACHINE_TYPE: ein Maschinentyp, der für jede VM verwendet werden soll. Geben Sie einen der folgenden Werte an:

    • Für einen vordefinierten Maschinentyp: MACHINE_FAMILY-standard-CPUS.

    • Für einen benutzerdefinierten Maschinentyp: MACHINE_FAMILY-custom-CPUS-MEMORY. Lesen Sie die Einschränkungen für VMs mit benutzerdefinierten Maschinentypen, bevor Sie einen benutzerdefinierten Maschinentyp angeben.

    Ersetzen Sie Folgendes:

    • MACHINE_FAMILY ist die Maschinenfamilie.

    • CPUS: die Anzahl der vCPUs.

    • MEMORY: der gesamte Arbeitsspeicher für eine reservierte Instanz. Der Arbeitsspeicher muss ein Vielfaches von 256  MB sein und in MB angegeben werden.

    Wenn Sie beispielsweise einen benutzerdefinierten N2-Maschinentyp mit 4 vCPUs und 5 GB Arbeitsspeicher angeben möchten, also 5.120 MB, geben Sie n2-custom-4-5120 an.

  • PROJECT_ID: die ID des Projekts, in dem Sie Ressourcen reservieren möchten.

  • 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ühren Sie beispielsweise den folgenden Befehl aus, um eine Reservierung für zehn VMs in Zone us-central1-a zu erstellen, indem Sie eine globale Instanzvorlage angeben und die Reservierung für die Projekte project-1 und project-2 freigeben:

gcloud compute reservations create my-reservation \
    --machine-type=n2-standard-4 \
    --project=example-project \
    --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:

  • Fügen Sie das Flag --accelerator hinzu, um jeder reservierten VM Grafikprozessoren (GPUs) hinzuzufügen.

    gcloud compute reservations create my-reservation \
        --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
        ...
    

    Ersetzen Sie Folgendes:

    • NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die pro reservierter VM hinzugefügt werden sollen.

    • ACCELERATOR_TYPE: der GPU-Typ, der den reservierten VMs hinzugefügt werden soll.

    Achten Sie darauf, dass der Maschinentyp, den Sie in der Reservierung angeben, die von Ihnen angegebenen GPU-Typen unterstützt und die GPU in der Zone verfügbar ist, in der Sie Ressourcen reservieren möchten. Andernfalls schlägt das Erstellen der Reservierung fehl.

  • Fügen Sie einer reservierten VM ein oder mehrere --local-ssd-Flags hinzu, um jeder reservierten VM eine oder mehrere lokale SSDs hinzuzufügen. Sie können bis zu 24 lokale SSDs angeben. Jede lokale SSD ist 375 GB groß.

    Wenn Sie beispielsweise zwei lokale SSDs beim Erstellen einer Reservierung angeben möchten, fügen Sie zwei --local-ssd-Flags ein.

    gcloud compute reservations create my-reservation \
        --local-ssd=size=375,interface=INTERFACE_1 \
        --local-ssd=size=375,interface=INTERFACE_2 \
        ...
    

    Ersetzen Sie INTERFACE_1 und INTERFACE_2 durch den Schnittstellentyp, den die einzelnen lokalen SSDs verwenden sollen. Geben Sie einen der folgenden Werte an:

    • Für NVME-Laufwerksschnittstellen: nvme.

    • Für 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 my-reservation \
        --min-cpu-platform="MIN_CPU_PLATFORM" \
        ...
    

    Ersetzen Sie MIN_CPU_PLATFORM durch eine Mindest-CPU-Plattform. Um eine CPU-Plattform in der Zone verfügbar zu machen, 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 nutzen können, fügen Sie das Flag --require-specific-reservation ein.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • 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 und fügen Sie das Flag --delete-at-time ein, um die Reservierung zu einem bestimmten Datum und einer bestimmten Uhrzeit zu löschen.

      gcloud beta compute reservations create reservation-example \
          --delete-at-time=DELETE_AT_TIME \
          ...
      

      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 Sie Z an.

    • Verwenden Sie den Befehl gcloud beta compute reservations create und fügen Sie das Flag --delete-after-duration ein, um die Reservierung nach einer bestimmten Dauer zu löschen.

      gcloud beta compute reservations create reservation-example \
          --delete-after-duration=DELETE_AFTER_DURATION \
          ...
      

      Ersetzen Sie DELETE_AFTER_DURATION durch eine Dauer in Tagen, Stunden, Minuten oder Sekunden. Geben Sie beispielsweise 30m für 30 Minuten oder 1d2h3m4s für 1 Tag, 2 Stunden, 3 Minuten und 4 Sekunden an.

Terraform

Verwenden Sie zum Erstellen einer Reservierung die Terraform-Ressource google_compute_reservation. Definieren Sie den Block share_settings, um eine freigegebene Reservierung anzugeben:

  • Setzen Sie das Feld share_type auf SPECIFIC_PROJECTS.
  • Geben Sie im project_map-Block die Projekt-IDs der Projekte an, für die Sie diese Reservierung freigeben möchten.

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 Methode reservations.insert.

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:

  • 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 und CONSUMER_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: ein Maschinentyp, der für jede VM verwendet werden soll. Geben Sie einen der folgenden Werte an:

    • Für einen vordefinierten Maschinentyp: MACHINE_FAMILY-standard-CPUS.

    • Für einen benutzerdefinierten Maschinentyp: MACHINE_FAMILY-custom-CPUS-MEMORY. Lesen Sie die Einschränkungen für VMs mit benutzerdefinierten Maschinentypen, bevor Sie einen benutzerdefinierten Maschinentyp angeben.

    Ersetzen Sie Folgendes:

    • MACHINE_FAMILY ist die Maschinenfamilie.

    • CPUS: die Anzahl der vCPUs.

    • MEMORY: der gesamte Arbeitsspeicher für eine reservierte Instanz. Der Arbeitsspeicher muss ein Vielfaches von 256  MB sein und in MB angegeben werden.

    Wenn Sie beispielsweise einen benutzerdefinierten N2-Maschinentyp mit 4 vCPUs und 5 GB Arbeitsspeicher angeben möchten, also 5.120 MB, geben Sie n2-custom-4-5120 an.

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 Projekte project-1 und project-2 frei und reservieren Sie zehn VMs, die jeweils einen N2-vordefinierten Maschinentyp mit 4 vCPUs verwenden. Stellen Sie folgende POST-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:

  • Fügen Sie das Feld guestAccelerators in den Anfragetext ein, um jeder reservierten VM Grafikprozessoren (GPUs) hinzuzufügen.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "guestAccelerators": [
            {
              "acceleratorCount": NUMBER_OF_ACCELERATORS,
              "acceleratorType": "ACCELERATOR_TYPE"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Ersetzen Sie Folgendes:

    • NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die pro reservierter VM hinzugefügt werden sollen.

    • ACCELERATOR_TYPE: der GPU-Typ, der den reservierten VMs hinzugefügt werden soll.

    Achten Sie darauf, dass der Maschinentyp, den Sie in der Reservierung angeben, die von Ihnen angegebenen GPU-Typen unterstützt und die GPU 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 eine oder mehrere lokale SSDs hinzufügen möchten, fügen Sie das Feld localSsds in den Anfragetext ein. Sie können bis zu 24 lokale SSDs angeben. Jede lokale SSD ist 375 GB groß.

    Wenn Sie beispielsweise beim Erstellen einer Reservierung zwei lokale SSDs angeben möchten, geben Sie Folgendes an:

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "localSsds": [
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "INTERFACE_2"
            }
          ],
          ...
        },
        ...
      }
    }
    

    Ersetzen Sie INTERFACE_1 und INTERFACE_2 durch den Schnittstellentyp, den die einzelnen lokalen SSDs verwenden sollen. Geben Sie einen der folgenden Werte an:

    • Für NVME-Laufwerksschnittstellen: NVME.

    • Für 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 in den Anfragetext ein.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservation": {
        "instanceProperties": {
          "minCpuPlatform": "MIN_CPU_PLATFORM",
          ...
        },
        ...
      }
    }
    

    Ersetzen Sie MIN_CPU_PLATFORM durch eine Mindest-CPU-Plattform. Um eine CPU-Plattform in der Zone verfügbar zu machen, 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 nutzen können, fügen Sie das Feld specificReservationRequired in den Anfragetext ein und legen Sie dafür true fest.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "specificReservationRequired": true,
      ...
    }
    
  • 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 Methode beta.reservations.insert. Geben Sie im Anfragetext das Feld deleteAtTime an.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAtTime": "DELETE_AT_TIME",
        ...
      }
      

      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 Sie Z an.

    • Wenn Sie die Reservierung nach einer bestimmten Dauer löschen möchten, senden Sie eine POST-Anfrage an die Methode beta.reservations.insert. Geben Sie im Anfragetext das Feld deleteAfterDuration an.

      POST https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/reservations
      
      {
        "name": "example-reservation",
        "deleteAfterDuration": {
          "seconds": "DELETE_AFTER_DURATION"
        },
        ...
      }
      

      Ersetzen Sie DELETE_AFTER_DURATION durch die Dauer in Sekunden. Geben Sie beispielsweise 86400 für 86.400 Sekunden (1 Tag) an.

Fehlerbehebung

Fehlerbehebung beim Erstellen von Reservierungen.

Nächste Schritte