Reservierung für ein Einzelprojekt erstellen


In diesem Dokument wird beschrieben, wie Sie eine Reservierung für ein einzelnes Projekt erstellen, die nur von VM-Instanzen im selben Projekt genutzt werden kann. 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. 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 von mehreren Projekten verwendet werden kann, finden Sie unter Freigegebene Reservierung erstellen.

Hinweise

  • Informationen zu den Anforderungen und Einschränkungen für Reservierungen
  • 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 IAM-Rolle Compute-Administrator (roles/compute.admin) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von Reservierungen für ein einzelnes Projekt benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen von Reservierungen für ein Einzelprojekt erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen von Reservierungen für ein einzelnes Projekt erforderlich:

  • compute.reservations.create für das Projekt
  • 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.

Reservierung für ein einzelnes Projekt erstellen

In diesem Abschnitt wird erläutert, wie Sie Reservierungen für ein einzelnes Projekt erstellen.

Zum Verarbeiten einer Reservierung muss eine VM Attribute, 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 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.

  • Attribute direkt angeben

    In diesem Abschnitt wird erläutert, wie Sie die Attribute einer 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:

Außerdem können Sie beim Erstellen einer Reservierung für ein einzelnes Projekt eine Richtlinie für kompakte Platzierungen angeben. Eine Richtlinie für kompakte Platzierung gibt an, dass sich VMs so nahe wie möglich beieinander befinden sollen, um die Netzwerklatenz zu reduzieren.

Instanzvorlage angeben

Verwenden Sie die Google Cloud Console, die gcloud CLI oder REST, um eine Einzelprojektreservierung durch Angabe einer Instanzvorlage zu erstellen.

Console

So erstellen Sie eine Reservierung für ein einzelnes Projekt durch Angabe einer Instanzvorlage:

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

    Zu „Reservierungen“

  2. Klicken Sie auf Reservierung erstellen.

    Die Seite Reservierung erstellen wird geöffnet.

  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. Klicken Sie im Abschnitt Freigabetyp auf Lokal (Standardeinstellung).

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

    Die Seite Reservierungen wird geöffnet. Das Erstellen der Reservierung für ein einzelnes Projekt kann bis zu einer Minute dauern.

gcloud

Verwenden Sie den Befehl gcloud compute reservations create, um eine Reservierung für ein einzelnes Projekt durch Angabe einer Instanzvorlage zu erstellen.

Führen Sie den folgenden Befehl aus, um eine Reservierung für ein einzelnes Projekt durch Angabe einer Instanzvorlage ohne optionale Flags zu erstellen:

gcloud compute reservations create RESERVATION_NAME \
    --project=PROJECT_ID \
    --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.

  • 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 mit einer Richtlinie für kompakte Platzierung angeben, müssen Sie das Flag --require-specific-reservation angeben. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können.

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

gcloud compute reservations create my-reservation \
    --project=example-project \
    --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 durchführen:

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

Wenn Sie eine Reservierung für ein einzelnes Projekt durch Angabe einer Instanzvorlage erstellen möchten, senden Sie eine POST-Anfrage an die Methode reservations.insert.

Wenn Sie eine Reservierung für ein einzelnes Projekt erstellen möchten, indem Sie eine Instanzvorlage ohne optionale Flags angeben, stellen Sie die folgende POST-Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "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.

  • 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 mit einer Richtlinie für kompakte Platzierung angeben, müssen Sie das Feld specificReservationRequired im Anfragetext angeben und auf true festlegen. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie verbrauchen können.

Wenn Sie beispielsweise eine Reservierung für zehn VMs in Zone us-central1-a erstellen möchten, indem Sie eine globale Instanzvorlage angeben, stellen Sie die folgende POST-Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template"
  }
}

Optional können Sie eine oder mehrere der folgenden Optionen durchführen:

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

Attribute direkt angeben

Zum Erstellen einer Reservierung für ein einzelnes Projekt können Sie Attribute direkt mit der Cloud Console, der gcloud CLI, Terraform oder REST festlegen.

Console

So erstellen Sie eine Reservierung für ein einzelnes Projekt:

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

    Zu „Reservierungen“

  2. Klicken Sie auf Reservierung erstellen.

    Die Seite Reservierung erstellen wird geöffnet.

  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. Klicken Sie im Abschnitt Freigabetyp auf Lokal (Standardeinstellung).

  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.

    4. Optional: Geben Sie eine Richtlinie für kompakte Platzierungen für eine Reservierung an, die die Anforderungen erfüllt. Klicken Sie dazu auf die Liste Richtlinie für die Gruppenplatzierung auswählen oder erstellen und führen Sie einen der folgenden Schritte aus:

      • So erstellen Sie eine Richtlinie für kompakte Platzierungen für diese Reservierung:

        1. Klicken Sie auf Gruppenplatzierungsrichtlinie erstellen.

          Der Bereich Gruppenplatzierungsrichtlinie erstellen wird angezeigt.

        2. Geben Sie im Feld Richtlinienname einen Namen für die Richtlinie ein.

        3. Klicken Sie auf Erstellen.

          Das Erstellen der Richtlinie für kompakte Platzierung kann einige Sekunden dauern.

      • Wählen Sie andernfalls eine vorhandene Richtlinie für kompakte Platzierungen.

  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 Reservierung für ein einzelnes Projekt kann einige Zeit dauern. Diese Aktion leitet Sie auf die Seite Reservierungen weiter.

gcloud

Verwenden Sie zum Erstellen einer Reservierung für ein einzelnes Projekt den Befehl gcloud compute reservations create.

Führen Sie den folgenden Befehl aus, um eine Reservierung für ein einzelnes Projekt ohne optionale Flags zu erstellen:

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID \
    --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: 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.

  • 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 in der Zone us-central1-a eine Reservierung für zehn VMs zu erstellen, die jeweils einen vordefinierten N2-Maschinentyp mit 4 vCPUs verwenden:

gcloud compute reservations create my-reservation \
    --machine-type=n2-standard-4 \
    --project=example-project \
    --vm-count=10 \
    --zone=us-central1-a

Optional können Sie eine oder mehrere der folgenden Optionen durchführen:

  • 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 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 lokale SSD verwenden soll. 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 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 nutzen können, fügen Sie das Flag --require-specific-reservation ein.

    gcloud compute reservations create example-reservation \
        --require-specific-reservation \
        ...
    
  • Wenn Sie eine Richtlinie für kompakte Platzierung angeben möchten, um die Netzwerklatenz zwischen VMs zu verringern, fügen Sie das Flag --resource-policies=policy ein.

    gcloud compute reservations create example-reservation \
        --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \
        --require-specific-reservation \
        ...
    

    Ersetzen Sie COMPACT_PLACEMENT_POLICY_NAME durch den Namen einer vorhandenen Richtlinie für kompakte Platzierung. Außerdem sollten Sie Folgendes angeben, um Fehler beim Erstellen einer Reservierung für ein einzelnes Projekt zu vermeiden, die eine Richtlinie für kompakte Platzierung angibt.

    • Ein unterstützter Maschinentyp für Richtlinien für kompakte Platzierung.

    • Eine Zone innerhalb der Region, in der sich die Richtlinie für kompakte Platzierung befindet.

    • Das Flag --require-specific-reservation. Dies bedeutet, dass nur VMs, die spezifisch auf diese Reservierung abzielen, sie nutzen können.

  • 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 für ein einzelnes Projekt die Terraform-Ressource google_compute_reservation.


resource "google_compute_reservation" "default" {
  name = "gce-reservation-local"
  zone = "us-central1-a"

  /**
   * To specify a single-project reservation, omit the share_settings block
   * (default) or set the share_type field to LOCAL.
   */
  share_settings {
    share_type = "LOCAL"
  }

  specific_reservation {
    count = 1
    instance_properties {
      machine_type = "n2-standard-2"
    }
  }

  /**
   * To let VMs with affinity for any reservation consume this reservation, omit
   * the specific_reservation_required field (default) or set it to false.
   */
  specific_reservation_required = false
}

Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform mit Google Cloud verwenden.

REST

Zum Erstellen einer Reservierung für ein einzelnes Projekt senden Sie eine POST-Anfrage an die Methode reservations.insert.

Wenn Sie eine Reservierung für ein einzelnes Projekt ohne optionale Felder erstellen möchten, senden Sie die folgende POST-Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "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.

  • 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: 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 in der Zone us-central1-a eine Reservierung für zehn VMs erstellen möchten, die jeweils einen vordefinierten N2-Maschinentyp mit 4 vCPUs verwenden, stellen Sie die folgende POST-Anfrage:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations

{
  "name": "my-reservation",
  "specificReservation": {
    "count": "10",
    "instanceProperties": {
      "machineType": "n2-standard-4",
    }
  }
}

Optional können Sie eine oder mehrere der folgenden Optionen durchführen:

  • Fügen Sie das Feld guestAccelerators im 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 im 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 im 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 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 eine Richtlinie für kompakte Platzierung angeben möchten, um die Netzwerklatenz zwischen Ihren reservierten VMs zu reduzieren, fügen Sie das Feld resourcePolicies in den Anfragetext ein.

    POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations
    
    {
      "name": "example-reservation",
      "resourcePolicies": {
        "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME"
      },
      "specificReservationRequired": true,
      ...
    }
    

    Ersetzen Sie Folgendes:

    • REGION: die Region, in der sich die Richtlinie für kompakte Platzierung befindet. Sie müssen Ressourcen innerhalb derselben Region der Platzierungsrichtlinie reservieren. Andernfalls schlägt das Erstellen der Reservierung fehl.

    • COMPACT_PLACEMENT_POLICY_NAME ist der Name einer vorhandenen Richtlinie für kompakte Platzierungen.

    Außerdem sollten Sie Folgendes angeben, um Fehler beim Erstellen einer Reservierung für ein einzelnes Projekt zu vermeiden, die eine Richtlinie für kompakte Platzierung angibt.

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