Reservierungen nutzen und verwalten

In diesem Dokument wird beschrieben, wie Reservierungen für zonale Compute Engine-Ressourcen genutzt und verwaltet werden. Reservierungen bieten ein sehr hohes Maß an Sicherheit beim Beschaffen von Kapazitäten für zonale Ressourcen von Compute Engine. Informationen zu Reservierungen finden Sie unter Reservierungen für zonale Ressourcen von Compute Engine. Informationen zum Erstellen von Reservierungen finden Sie unter Reservierung für ein einzelnes Projekt erstellen oder Freigegebene Reservierung erstellen.

Hinweis

Reservierte Instanzen nutzen

Legen Sie beim Erstellen einer VM-Instanz mithilfe des Flags für Reservierungsaffinität der Instanz fest, ob die Instanz eine verfügbare übereinstimmende Reservierung (Standard), eine bestimmte Reservierung oder gar keine Reservierung verwendet. Damit eine Instanz eine bestimmte Reservierung nutzt, muss diese Reservierung mit dem entsprechenden Flag erstellt werden, das angibt, dass eine bestimmte Reservierung erforderlich ist.

Auf jeden Fall kann eine VM-Instanz eine Reservierung nur dann nutzen, wenn ihre Attribute genau mit den Instanzattributen der Reservierung übereinstimmen:

  • Zone
  • Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher)
  • Mindest-CPU-Plattform
  • GPU-Typ
  • GPU-Anzahl
  • Lokale SSD-Schnittstelle
  • Anzahl lokaler SSDs

Weitere Informationen finden Sie unter Funktionsweise von Reservierungen.

Instanzen einer übereinstimmenden Reservierung nutzen

In diesem Modell gelten vorhandene und neue Instanzen automatisch für die Reservierung, wenn die Attribute dieser Instanz mit den Attributen der reservierten Instanz übereinstimmen. Dieses Modell ist nützlich, wenn Sie viele VMs erstellen und löschen sowie die Reservierungen nach Möglichkeit verwenden möchten.

Bei Verwendung dieses Nutzungsmodells priorisieren Instanzen zuerst die übereinstimmenden Reservierungen für ein einzelnes Projekt, bevor sie die gleichen freigegebenen Reservierungen nutzen, da diese allgemein verfügbar sind. Weitere Informationen zur automatischen Nutzung von Instanzen finden Sie unter Nutzungsreihenfolge.

Um dieses Modell zu verwenden, schließen Sie beim Erstellen Ihrer Reservierungen das Flag --require-specific-reservation aus, damit übereinstimmende Instanzen diese Reservierungen automatisch nutzen können.

Console

  1. Erstellen Sie eine offene Reservierung.

    1. Öffnen Sie in der Cloud Console die Seite Rabatte für zugesicherte Nutzung.

      Zur Seite "Rabatte für zugesicherte Nutzung"

    2. Klicken Sie auf Reservierung erstellen, um eine eigenständige Reservierung zu erstellen, für die keine übergeordnete Nutzungszusicherung besteht.

    3. Benennen Sie Ihre Reservierung. Beispiel: reservation-01.

    4. Wählen Sie unter Mit VM-Instanz verwenden die Option Reservierung automatisch verwenden aus, damit alle übereinstimmenden Instanzen diese Reservierung automatisch verwenden können.

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

    6. Geben Sie die Anzahl der VM-Instanzen an, die Sie reservieren möchten.

    7. Geben Sie die Ressourcen an, die die einzelnen Instanzen haben sollen:

      • Anzahl der vCPUs
      • Mindest-CPU-Plattform
      • Arbeitsspeichermenge
      • GPUs
      • Lokale SSD (falls erforderlich)
    8. Klicken Sie auf Erstellen, um die Reservierung zu erstellen.

  2. Erstellen Sie eine VM-Instanz, die auf eine beliebige offene Reservierung abzielt und deren Attribute mit den Instanzattributen von reservation-01 übereinstimmen, einschließlich jener für Zone, Maschinentyp (Maschinenfamilie, vCPUs und Speicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie lokale SSD-Anzahl und -Schnittstelle.

    1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

      Zur Seite „Instanz erstellen“

    2. Geben Sie einen Namen für Ihre VM an.

    3. Geben Sie im Abschnitt Maschinentyp eine Maschine an, die den Attributen von reservation-01 entspricht. Wenn Sie in der Reservierung beispielsweise eine Mindest-CPU-Plattform oder GPUs angegeben haben, müssen Sie die VM an die Reservierung anpassen, um die Reservierung nutzen zu können.

    4. Maximieren Sie den Bereich Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten und gehen Sie so vor:

      1. Erweitern Sie den Abschnitt Laufwerke.
      2. Wenn Ihre Reservierung lokale SSDs enthält, um lokale SSDs hinzuzufügen, die der lokalen SSD-Schnittstelle und -Anzahl der Reservierung entsprechen, klicken Sie auf Lokale SSDs hinzufügen.
      3. Maximieren Sie den Bereich Verwaltung.
      4. Klicken Sie in der Liste Reservierungen auf Automatisch erstellte Reservierung verwenden.
    5. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine offene Reservierung mit dem Namen reservation-01.

    gcloud compute reservations create reservation-01 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --vm-count=2 \
        --zone=us-central1-a
    
  2. Erstellen Sie eine VM-Instanz, die auf eine beliebige offene Reservierung abzielt und deren Attribute mit den Instanzattributen von reservation-01 übereinstimmen, einschließlich jener für Zone, Maschinentyp (Maschinenfamilie, vCPUs und Speicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie lokale SSD-Anzahl und -Schnittstelle.

    gcloud compute instances create instance-1 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=any
    

API

  1. Erstellen Sie eine offene Reservierung mit dem Namen reservation-01.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-01",
      "specificReservation":{
        "count":"2",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": false
    }
    
  2. Erstellen Sie eine VM-Instanz, die auf eine beliebige offene Reservierung abzielt und deren Attribute mit den Instanzattributen von reservation-01 übereinstimmen, einschließlich jener für Zone, Maschinentyp (Maschinenfamilie, vCPUs und Speicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie lokale SSD-Anzahl und -Schnittstelle.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-1",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "reservationAffinity":
      {
        "consumeReservationType": "ANY_RESERVATION"
      },
      ...
    }
    

Instanzen einer bestimmten Reservierung nutzen

In diesem Modell nutzen nur neue Instanzen, die namentlich auf eine bestimmte Reservierung abzielen, diese Reservierung, und die Reservierung wird nicht automatisch genutzt. Dieses Modell ist beispielsweise nützlich, wenn Sie bestimmte Kapazitäten für besondere Ereignisse bereithalten möchten.

Geben Sie beim Erstellen der Reservierung an, dass Instanzen auf die spezifische Reservierung abzielen müssen. Verwenden Sie dazu eine der folgenden Methoden:

  • Aktivieren Sie in der Cloud Console das Kästchen Spezifische Reservierung auswählen.
  • Fügen Sie im gcloud-Tool das Flag --require-specific-reservation ein.
  • Legen Sie in der Compute Engine API das Feld specificReservationRequired auf true fest.

Erstellen Sie dann VMs, die ausdrücklich auf diese Reservierung abzielen und dieselben Attribute haben.

Wenn Sie zum Erstellen von VMs in einer regional verwalteten Instanzgruppe Instanzvorlagen verwenden, erstellen Sie in allen zutreffenden Zonen identische Reservierungen mit demselben Namen. Wählen Sie die Reservierungen dann in der Instanzvorlage der Gruppe namentlich aus.

Erstellen Sie beispielsweise eine spezifische Reservierung mit dem Namen reservation-02 und erstellen Sie dann eine übereinstimmende Instanz, die auf diese Reservierung abzielt und mit den Instanzattributen der Reservierung übereinstimmt.

Führen Sie je nach Art der zu verwendenden Instanz die folgenden Schritte aus: Eine bestimmte Reservierung für ein einzelnes Projekt nutzen oder Eine bestimmte freigegebene Reservierung nutzen.

Eine bestimmte Reservierung für ein einzelnes Projekt nutzen

Wenn Sie eine bestimmte Reservierung für ein einzelnes Projekt nutzen möchten, verwenden Sie die Cloud Console, das gcloud-Tool oder die Compute Engine API.

Console

  1. Erstellen Sie eine Reservierung mit Ressourcen, die nur von Instanzen verwendet werden können, die ausdrücklich namentlich auf diese Reservierung abzielen.

    1. Öffnen Sie in der Cloud Console die Seite Rabatte für zugesicherte Nutzung.

      Zur Seite "Rabatte für zugesicherte Nutzung"

    2. Klicken Sie auf Reservierung erstellen, um eine eigenständige Reservierung zu erstellen, für die keine übergeordnete Nutzungszusicherung besteht.

    3. Benennen Sie Ihre Reservierung. Beispiel: reservation-02.

    4. Wählen Sie unter Mit VM-Instanz verwenden die Option Spezifische Reservierung auswählen aus, damit diese Reservierung nur von übereinstimmenden Instanzen verwendet werden kann, die namentlich auf sie abzielen.

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

    6. Geben Sie die Anzahl der VM-Instanzen an, die Sie reservieren möchten.

    7. Geben Sie die Ressourcen an, die die einzelnen Instanzen haben sollen:

      • Anzahl der vCPUs
      • Mindest-CPU-Plattform
      • Arbeitsspeichermenge
      • GPUs
      • Lokale SSD
    8. Klicken Sie auf Erstellen.

  2. Erstellen Sie eine VM-Instanz, für die die jeweilige Reservierung namentlich ausgewählt wird.

    Stellen Sie sicher, dass die Instanzattribute mit den Instanzattributen der jeweiligen Reservierung übereinstimmen, einschließlich Zone, Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typt sowie Schnittstelle und Größe der lokalen SSD.

    1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

      Zur Seite „Instanz erstellen“

    2. Geben Sie einen Namen für Ihre VM an.

    3. Wählen Sie im Abschnitt Maschinentyp eine Maschine aus, die den Attributen von reservation-01 entspricht. Wenn Sie in der Reservierung beispielsweise eine Mindest-CPU-Plattform angegeben haben, müssen Sie die Instanz an die Reservierung anpassen, um die Reservierung nutzen zu können.

    4. Maximieren Sie den Bereich Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten und gehen Sie so vor:

      1. Erweitern Sie den Abschnitt Laufwerke.
      2. Wenn Ihre Reservierung lokale SSDs enthält, um lokale SSDs hinzuzufügen, die der lokalen SSD-Schnittstelle und -Anzahl der Reservierung entsprechen, klicken Sie auf Lokale SSDs hinzufügen.
      3. Maximieren Sie den Bereich Verwaltung.
      4. Wählen Sie in der Liste Reservierungen eine verfügbare Reservierung mit übereinstimmenden Attributen aus, z. B. reservation-02.
    5. Klicken Sie auf Erstellen, um die VM zu erstellen.

gcloud

  1. Erstellen Sie mit dem Flag --require-specific-reservation eine Reservierung mit dem Namen reservation-02. Diese reservierten Ressourcen können nur von Instanzen verwendet werden, die ausdrücklich namentlich auf diese Reservierung abzielen.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --require-specific-reservation
    
  2. Erstellen Sie mit den Flags --reservation-affinity und --reservation eine VM-Instanz, die namentlich auf reservation-02 abzielt.

    Achten Sie darauf, dass die Instanzattribute mit den Instanzattributen der Reservierung übereinstimmen, einschließlich Zone, Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie Schnittstelle und Größe der lokalen SSD.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=reservation-02
    

API

  1. Erstellen Sie mit dem auf true festgelegten Feld specificReservationRequired eine Reservierung mit dem Namen reservation-02.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "specificReservationRequired": true
    }
  2. Erstellen Sie mit Feld reservationAffinity eine VM-Instanz, die namentlich auf reservation-02 abzielt.

    Achten Sie darauf, dass die Instanzattribute mit den Instanzattributen der Reservierung übereinstimmen, einschließlich Zone, Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie Schnittstelle und Größe der lokalen SSD.

    POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        ["reservations/reservation-02"
        ]
      },
      ...
    }

Eine bestimmte freigegebene Reservierung nutzen

Wenn Sie eine bestimmte Reservierung für ein einzelnes Projekt verwenden möchten, können Sie das gcloud-Tool oder die Compute Engine API verwenden.

gcloud

  1. Erstellen Sie mit dem Flag --require-specific-reservation eine Reservierung mit dem Namen reservation-02. Diese reservierten Ressourcen können nur von Instanzen verwendet werden, die ausdrücklich namentlich auf diese Reservierung abzielen.

    gcloud compute reservations create reservation-02 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --vm-count=10 \
        --zone=us-central1-a \
        --project=my-owner-project \
        --share-setting=projects \
        --share-with=project-1,project-2 \
        --require-specific-reservation
    
  2. Erstellen Sie mit den Flags --reservation-affinity und --reservation eine VM-Instanz, die namentlich auf reservation-02 abzielt. Um diese Reservierung von allen Nutzerprojekten zu nutzen, für die diese Reservierung freigegeben wird, müssen Sie auch das Projekt angeben, mit dem die Reservierung erstellt wurde: my-owner-project.

    Achten Sie darauf, dass die Instanzattribute mit den Instanzattributen der Reservierung übereinstimmen, einschließlich Zone, Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie Schnittstelle und Größe der lokalen SSD.

    gcloud compute instances create instance-2 \
        --machine-type=n2-standard-32 \
        --min-cpu-platform "Intel Cascade Lake" \
        --zone=us-central1-a \
        --reservation-affinity=specific \
        --reservation=projects/my-owner-project/reservations/reservation-02
    

API

  1. Erstellen Sie mit dem auf true festgelegten Feld specificReservationRequired eine Reservierung mit dem Namen reservation-02.

    POST https://compute.googleapis.com/compute/v1/projects/my-owner-project/zones/us-central1-a/reservations
    
    {
      "name":"reservation-02",
      "specificReservation":{
        "count":"10",
        "instanceProperties":{
          "machineType":"n2-standard-32",
          "minCpuPlatform": "Intel Cascade Lake",
        }
      },
      "shareSettings": {
        "shareType": "SPECIFIC_PROJECTS",
        "projects": ["project-1", "project-2"],
      }
      "specificReservationRequired": true
    }
  2. Erstellen Sie mit Feld reservationAffinity eine VM-Instanz, die namentlich auf reservation-02 abzielt. Um diese Reservierung von allen Nutzerprojekten zu nutzen, für die diese Reservierung freigegeben wird, müssen Sie auch das Projekt angeben, mit dem die Reservierung erstellt wurde: my-owner-project.

    Achten Sie darauf, dass die Instanzattribute mit den Instanzattributen der Reservierung übereinstimmen, einschließlich Zone, Maschinentyp (Maschinenfamilie, vCPUs und Arbeitsspeicher), Mindest-CPU-Plattform, GPU-Anzahl und -Typ sowie Schnittstelle und Größe der lokalen SSD.

    POST https://compute.googleapis.com/compute/v1/projects/project-2/zones/us-central1-a/instances
    
    {
      "name": "instance-2",
      "machineType": "zones/us-central1-a/machineTypes/n2-standard-32",
      "minCpuPlatform": "Intel Cascade Lake",
      "reservationAffinity":
      {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values":
        ["projects/my-owner-project/reservations/reservation-02"
        ]
      },
      ...
    }

Instanzen ohne Nutzung von Reservierungen erstellen

Wenn Sie explizit vermeiden möchten, dass Ressourcen einer Reservierung genutzt werden, setzen Sie beim Erstellen der VM das Reservierungsaffinitäts-Flag auf "none". Sie können auch implizit vermeiden, dass Ihre Reservierungen verwendet werden, indem Sie eine Instanz erstellen, die nicht mit den Instanzattributen Ihrer Reservierungen übereinstimmt.

Console

  1. Erstellen Sie eine VM, die explizit keine Reservierung nutzt.

    1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

      Zur Seite „Instanz erstellen“

    2. Erstellen Sie eine VM. Weitere Informationen finden Sie unter VM-Instanz erstellen und starten.

    3. Maximieren Sie den Bereich Netzwerk, Laufwerke, Sicherheit, Verwaltung, einzelne Mandanten und gehen Sie so vor:

      1. Maximieren Sie den Bereich Verwaltung.
      2. Damit diese VM keine vorhandenen Reservierungen nutzt, wählen Sie in der Liste Reservierungen die Option Nicht verwenden aus.
    4. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie eine Instanz, die explizit keine Reservierung nutzt.

gcloud compute instances create instance-3 --reservation-affinity=none

Oder erstellen Sie eine Instanz, die nicht mit den Instanzattributen Ihrer Reservierungen übereinstimmt. Informationen zum Überprüfen Ihrer Reservierungsattribute finden Sie unter Reservierungen auflisten und beschreiben.

API

Erstellen Sie eine Instanz, die explizit keine Reservierung nutzt.

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

{
  "machineType": "zones/us-central1-a/machineTypes/n2-standard-16",
  "name": "instance-3",
  "reservationAffinity":
  {
    "consumeReservationType": "NO_RESERVATION"
  },
  ...
}

Oder erstellen Sie eine Instanz, die nicht mit den Instanzattributen Ihrer Reservierungen übereinstimmt. Informationen zum Überprüfen Ihrer Reservierungsattribute finden Sie unter Reservierungen auflisten und beschreiben.

Nutzung von Reservierungen sicherstellen

Wenn Sie Ihre reservierten Ressourcen nicht nutzen können, prüfen Sie, ob Ihre Reservierungs- und Instanzeinstellungen korrekt sind und ob Ihre Reservierungen noch Instanzen haben, die aktuell nicht verwendet werden. Prüfen Sie dazu, ob die Instanzattribute der Reservierung mit den Attributen der Instanz übereinstimmen und ob die Reservierung weiterhin Instanzen enthält, die derzeit nicht verwendet werden. Alternativ können Sie eine bestimmte Reservierung erstellen und dann eine Instanz erstellen, die auf diese Reservierung abzielt, und die resultierenden Fehler prüfen.

Reservierungsattribute überprüfen

Die Instanzattribute der Reservierung müssen mit den Attributen im Befehl zur Instanzerstellung übereinstimmen. So nehmen Sie eine Bestätigung vor:

  1. Beschreiben Sie die Reservierung. Wenn alle Instanzen für die Reservierung derzeit von anderen Instanzen verwendet werden, müssen Sie die Größe der Reservierung ändern, damit zusätzliche Kapazitäten reserviert werden können. Prüfen Sie andernfalls die Instanzattribute der Reservierung speziell für:

    • zone
    • specificReservationRequired
      • Wenn der Wert auf true gesetzt ist, muss der Befehl zur Instanzerstellung auf diese Reservierung namentlich abzielen.
    • machineType
    • guestAccelerators.acceleratorType
    • guestAccelerators.acceleratorCount
    • minCpuPlatform
      • Wenn Sie eine VM-Instanz mit einer minCpuPlatform haben und eine Reservierung erstellen möchten, die diese Instanz verwendet, erstellen Sie die Reservierung mit übereinstimmenden Attributen, einschließlich einer passenden minCpuPlatform.
      • Wenn Sie eine Reservierung mit einer minCpuPlatform haben und eine Instanz erstellen möchten, die diese Reservierung verwendet, erstellen Sie die Instanz mit übereinstimmenden Attributen, einschließlich einer passenden minCpuPlatform.
    • localSsds.interface
      • Wenn Sie eine Reservierung für eine VM-Instanz mit mehreren lokalen SSDs haben, muss die VM-Instanz, die die Reservierung nutzt, die gleiche Anzahl von lokalen SSDs mit einer localSsds.interface für jede lokale SSD haben.
  2. Erstellen Sie eine Instanz, die diesen Attributen entspricht.

  3. Beschreiben Sie die Instanz, um zu überprüfen, ob ihre Attribute mit den Instanzattributen der Reservierung übereinstimmen. Verwenden Sie beispielsweise den Befehl instances describe des gcloud-Tools.

  4. Beschreiben Sie Ihre Reservierung, um zu überprüfen, ob inUseCount erhöht wurde.

    • Wenn sich inUseCount nicht geändert hat, stimmen die Attribute nicht überein.
    • Wenn inUseCount erhöht wurde, wird Ihre Reservierung verwendet.

Wenn Sie nach dem Prüfen der Kapazitäts- und Instanzattribute der Reservierung immer noch keine Reservierung erstellen können, wird der Fehler möglicherweise durch die Ressourcenverfügbarkeit verursacht. Fehlerbehebung bei Ressourcenverfügbarkeit.

Eine bestimmte Reservierung namentlich auswählen

Wenn Sie versuchen, eine Instanz zu erstellen, für die eine bestimmte Reservierung namentlich ausgewählt wurde, kann die Instanz nur erstellt werden, wenn sie mit den Attributen der Reservierung übereinstimmt. Verwenden Sie diese Methode, um zu prüfen, ob Sie die richtigen Instanzattribute haben.

  1. Erstellen Sie eine Reservierung mit der Option specificReservationRequired.
  2. Erstellen Sie eine Instanz, die explizit mit den Instanzattributen der Reservierung übereinstimmt und über das Reservierungsaffinitätsattribut namentlich auf die Reservierung abzielt.
    • Wenn die Instanzattribute nicht übereinstimmen, wird ein Fehler angezeigt.
    • Wenn die Instanzattribute übereinstimmen, wird Ihre Reservierung verwendet.

Wenn Sie nach dem Prüfen der Kapazitäts- und Instanzattribute der Reservierung immer noch keine Reservierung erstellen können, wird der Fehler möglicherweise durch die Ressourcenverfügbarkeit verursacht. Fehlerbehebung bei Ressourcenverfügbarkeit.

Reservierungen auflisten und beschreiben

Mit der Console, dem gcloud-Tool oder der API können Sie Details zu Ihrer Reservierung auflisten und anzeigen lassen.

Console

  1. Öffnen Sie in der Cloud Console die Seite Rabatte für zugesicherte Nutzung.

    Zur Seite "Rabatte für zugesicherte Nutzung"

  2. Klicken Sie auf Reservierungen.

Die Liste der Reservierungen enthält Details zu jeder Reservierung. In der Spalte Verwendete Maschinen (gesamt) wird die Auslastung jeder Reservierung beschrieben. Eine Reservierung mit der Anzeige 25 (50) ist beispielsweise eine Reservierung für 50 Instanzen. 25 dieser Instanzen wurden genutzt und werden derzeit verwendet.

gcloud

Listen Sie Ihre Reservierungen mit dem Befehl gcloud compute reservations list auf:

gcloud compute reservations list [--filter="zone:('ZONE')"]

NAME             IN_USE_COUNT   COUNT   ZONE
reservation-04   25             50      us-central1-a
reservation-05   0              100     us-central1-b

Beschreiben Sie Ihre Reservierungen mit dem Befehl gcloud compute reservations describe:

gcloud compute reservations describe RESERVATION_NAME --zone=ZONE

kind: compute#reservation
name: reservation-05
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-04
specificReservation:
  count: '50'
  inUseCount: '25'
  instanceProperties:
    guestAccelerators:
    - acceleratorCount: 1
      acceleratorType: nvidia-tesla-k80
    localSsds:
    - diskSizeGb: '375'
      interface: SCSI
    machineType: n1-standard-2
    minCpuPlatform: Any CPU Platform
specificReservationRequired: false
status: READY
zone: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d    

Sie können die Werte count und inUseCount verwenden, um die Nutzung der einzelnen Reservierungen zu bestimmen. In diesem Beispiel sind 50 Instanzen für Reservierung-04 reserviert. 25 dieser Instanzen wurden aus der Reservierung genutzt und werden derzeit verwendet.

Um eine Instanz zu erstellen, die diese Reservierung verwendet, denken Sie daran, die Instanzattribute der Reservierung abzugleichen. Beispiel:

gcloud compute instances create my-instance \
    --accelerator=type=nvidia-tesla-k80,count=1 \
    --maintenance-policy terminate \
    --local-ssd=size=375,interface=scsi \
    --machine-type n1-standard-2 \
    --zone us-east1-d 

API

Geben Sie in der API Ihre Reservierungen an, indem Sie eine GET-Anfrage an die Methode reservations.list stellen.

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

{
  "id": "4100668622331754141",
  "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-03",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
  "name": "reservation-03",
  "specificReservation": {
    "instanceProperties": {
      "machineType": "n1-standard-2"
    },
    "count": "100",
    "inUseCount": "0"
  },
  "specificReservationRequired": false,
  "status": "READY",
  "kind": "compute#reservation"
},
{
  "id": "2533514314332214789",
  "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-04",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
  "name": "reservation-04",
  "specificReservation": {
    "instanceProperties": {
      "machineType": "n1-standard-2",
      "guestAccelerators": [
        {
          "acceleratorType": "nvidia-tesla-k80",
          "acceleratorCount": 1
        }
      ],
      "minCpuPlatform": "Any CPU Platform",
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    },
    "count": "50",
    "inUseCount": "25"
  },
  "specificReservationRequired": false,
  "status": "READY",
  "kind": "compute#reservation"
}

Beschreiben Sie eine Reservierung, indem Sie die Methode reservations.get aufrufen.

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

{
  "id": "2533514314332214789",
  "creationTimestamp": "2019-09-27T08:21:14.707-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d/reservations/reservation-04",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-east1-d",
  "name": "reservation-04",
  "specificReservationRequired": false,
  "status": "READY",
  "kind": "compute#reservation",
  "specificReservation": {
    "instanceProperties": {
      "machineType": "n1-standard-2",
      "guestAccelerators": [
        {
          "acceleratorType": "nvidia-tesla-k80",
          "acceleratorCount": 1
        }
      ],
      "minCpuPlatform": "Any CPU Platform",
      "localSsds": [
        {
          "diskSizeGb": "375",
          "interface": "SCSI"
        }
      ]
    },
    "count": "50",
    "inUseCount": "25"
  }
}

Sie können die Werte count und inUseCount verwenden, um die Nutzung der einzelnen Reservierungen zu bestimmen. In diesem Beispiel sind 50 Instanzen reserviert. 25 dieser Instanzen wurden aus der Reservierung genutzt und werden derzeit verwendet.

Reservierungen ändern

Passen Sie die Größe einer Reservierung an, wenn Sie die Anzahl der reservierten VMs ändern möchten. Löschen Sie eine Reservierung, wenn Sie sie nicht mehr benötigen.

Sie können die Größe einer Reservierung ändern oder die Reservierung löschen, wenn sie mit keiner Zusicherung verbunden ist.

Größe einer Reservierung ändern

Sie können die Größe der VMs in einer Reservierung, die nicht an eine Zusicherung gebunden sind, mithilfe desgcloud-Tools oder der API anpassen.

gcloud

Ändern Sie die Größe Ihrer Reservierung mit dem Befehl gcloud compute reservations update. Beispiel:

Erstellen Sie eine Reservierung für zwei VM-Instanzen:

gcloud compute reservations create reservation-01 \
    --machine-type=n2-standard-32 \
    --zone=us-central1-a \
    --vm-count=2

Ändern Sie die Größe der Reservierung von zwei in zehn VM-Instanzen:

gcloud compute reservations update reservation-01 \
    --zone=us-central1-a \
    --vm-count=10

API

Erstellen Sie mit der API eine POST-Anfrage an die Methode reservations.resize und schließen Sie den neuen specificSkuCount in den Anfragetext ein. Der folgende Anfragetext aktualisiert die VM-Anzahl der Reservierung auf 10:

POST https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/zones/<var>ZONE</var>/reservations/<var>RESERVATION_NAME</var>/resize

{"specificSkuCount": "10"}

Die Aktualisierungsanfrage ist erfolgreich, wenn zum Zeitpunkt der Anfrage genügend Ressourcen in der Zielzone und ausreichend Kontingent in der Zielregion vorhanden sind.

Reservierung löschen

Sie können Reservierungen, die nicht an eine Nutzungszusicherung gebunden sind, über das gcloud-Befehlszeilentool oder die API löschen.

Console

  1. Öffnen Sie in der Cloud Console die Seite Rabatte für zugesicherte Nutzung.

    Zur Seite "Rabatte für zugesicherte Nutzung"

  2. Klicken Sie auf Reservierungen, um eine Liste Ihrer Reservierungen anzusehen.

  3. Klicken Sie das Kästchen neben jeder Reservierung an, die Sie löschen möchten.

  4. Klicken Sie auf Reservierung löschen.

gcloud

Sie können Reservierungen mithilfe des Befehls delete freigeben:

gcloud compute reservations delete <var>RESERVATION_NAME</var> --zone <var>ZONE</var>

API

Erstellen Sie mit der API eine DELETE-Anfrage an die Methode reservation.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/zones/<var>ZONE</var>/reservations/<var>RESERVATION_NAME</var>

Sobald der Löschbefehl erfolgreich ausgeführt wurde, wird Ihnen die Reservierung nicht mehr in Rechnung gestellt und die Ressourcen sind nicht mehr für Sie reserviert. Das Löschen einer Reservierung hat keine Auswirkung auf laufende Instanzen, die mit dieser Reservierung verbunden sind. Für diese Instanzen werden Ihnen weiterhin Gebühren berechnet.

Reservierungen mit Rabatten für zugesicherte Nutzung kombinieren

Ein Rabatt für zugesicherte Nutzung ist eine Rabattvereinbarung über ein oder drei Jahre, wobei jedoch keine Kapazität in einer bestimmten Zone reserviert wird. Eine Reservierung stellt sicher, dass die Kapazitäten in einer bestimmten Zone vorhanden sind, selbst wenn die reservierten VMs nicht ausgeführt werden. Wird eine Reservierung mit einer Zusicherung kombiniert, erhalten Sie ermäßigte reservierte Ressourcen.

Standardmäßig werden beim Erstellen einer Reservierung alle anwendbaren Rabatte für zugesicherte Nutzung für Kerne und Arbeitsspeicher automatisch auf Ihre VM-Instanzen angewendet. Sie müssen jedoch beim Kauf der Zusicherung eine Reservierung für diese Ressourcen erstellen, um den Rabatt für zugesicherte Nutzung für GPUs und lokale SSDs zu erhalten.

Sobald Sie eine Nutzungszusicherung erworben haben, können Sie sie nicht mehr widerrufen. Weitere Informationen finden Sie unter Rabatte für zugesicherte Nutzung.

Zusicherung für GPUs oder lokale SSDs kaufen

So erwerben Sie eine Nutzungszusicherung für GPUs oder lokale SSDs:

  • Sie müssen eine allgemeine N1-Zusicherung erwerben. GPUs werden nur mit N1-Maschinentypen unterstützt (mit Ausnahme der A100-GPUs).
  • Sie müssen beim Kauf Ihrer Zusicherung gleichzeitig eine Reservierung erstellen, die entweder GPUs oder lokale SSDs enthält.
  • Sie brauchen sich nicht auf vCPUs oder Arbeitsspeicher festzulegen.

Sie müssen Nutzungszusicherungen für bestimmte GPU-Typen kaufen. Sie können beispielsweise GPUs vom Typ NVIDIA P100 oder NVIDIA V100 kaufen. Sie können jedoch keine Zusicherungen für GPUs vom Typ NVIDIA P100 erwerben und dann auf andere GPU-Typen anwenden.

Die Anzahl der GPUs und lokalen SSDs, die Sie reservieren, muss der Menge entsprechen, deren Nutzung Sie zusichern. Wenn Sie beispielsweise vier V100-GPUs reservieren möchten, müssen Sie auch für vier V100-GPUs die Nutzung zusichern. Die Anzahl der vCPUs und die Menge an Arbeitsspeicher können jedoch unter der von Ihnen zugesicherten Nutzung liegen.

Wenn Sie nur die Nutzung von GPUs oder lokalen SSDs zusichern möchten, können Sie für die Zusicherung für vCPU und Arbeitsspeicher 0 angeben. Die Reservierung, die Sie der Zusicherung beifügen, muss jedoch dieselben GPUs und lokalen SSDs wie die Zusicherung sowie die zu reservierenden Maschinentypen, einschließlich der vCPUs und des Arbeitsspeichers, enthalten.

Sie können eine Zusicherung mit einer angehängten Reservierung über die Cloud Console, das gcloud-Tool oder die API erwerben.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Rabatte für zugesicherte Nutzung.

    Zur Seite "Rabatte für zugesicherte Nutzung"

  2. Klicken Sie auf Zusicherung kaufen, um eine neue Zusicherung zu kaufen.

  3. Geben Sie der Zusicherung einen Namen und wählen Sie die Region aus, auf die sie angewendet werden soll.

  4. Wählen Sie unter Art der Vereinbarung die Option Allgemein aus.

  5. Wählen Sie als Dauer der Zusicherung 1 oder 3 Jahre aus.

  6. Geben Sie die Anzahl der Kerne und den Umfang an Arbeitsspeicher ein, die Sie erwerben möchten. Wenn Sie nur die Nutzung von GPUs oder lokalen SSDs zusichern möchten, nicht aber die von vCPUs und Arbeitsspeicher, geben Sie für die zugesicherte Menge von vCPUs und Arbeitsspeicher 0 an.

  7. Klicken Sie auf GPUs hinzufügen und wählen Sie den GPU-Typ und die Anzahl der GPUs aus, deren Nutzung Sie zusichern möchten.

  8. Klicken Sie auf Lokale SSD hinzufügen und geben Sie die Anzahl der Laufwerke ein, deren Nutzung Sie zusichern möchten.

  9. Klicken Sie auf Neue Reservierung hinzufügen, um eine oder mehrere Reservierungen für Instanzen zu erstellen, die die GPUs und die lokalen SSDs nutzen.

    1. Benennen Sie die Reservierung.
    2. Führen Sie unter Mit VM-Instanz verwenden Folgendes aus:
      • Wenn Sie die Ressourcen der Reservierung nur zum Erstellen übereinstimmender Instanzen verwenden möchten, die ausdrücklich namentlich auf diese Reservierung abzielen, wählen Sie Spezifische Reservierung auswählen aus.
      • Wenn übereinstimmende Instanzen diese Reservierung automatisch verwenden sollen, wählen Sie Reservierung automatisch verwenden aus.
    3. Wählen Sie die Zone aus, in der Sie Ressourcen reservieren möchten.
    4. Geben Sie die Anzahl von VM-Instanzen an, die Sie reservieren möchten.
    5. Geben Sie die Ressourcen an, die Sie für jede Instanz reservieren möchten:
      • Wenn Sie eine Instanzvorlage haben, klicken Sie auf Instanzvorlage verwenden und wählen Sie in der Liste eine Instanzvorlage aus.
      • Klicken Sie andernfalls auf Maschinentyp angeben.
        1. Klicken Sie auf Anpassen, um mit dem Schieberegler die Kerne und den Arbeitsspeicher für Ihren Maschinentyp auszuwählen.
        2. Geben Sie die CPU-Plattform an.
        3. Geben Sie die Anzahl der GPUs und den GPU-Typ ein, um GPUs hinzuzufügen.
        4. Geben Sie optional die Anzahl für Lokale SSDs ein, die Sie den einzelnen Instanzen hinzufügen möchten, und legen Sie den zu verwendenden Schnittstellentyp fest.
    6. Klicken Sie auf Fertig, um die Reservierung zu erstellen.
  10. Klicken Sie auf die Schaltfläche Kaufen, um die Zusicherung zu kaufen.

  11. Lesen Sie die Kaufbedingungen und klicken Sie auf Kaufen, wenn Sie den Kauf der Zusicherung abschließen möchten.

gcloud

Verwenden Sie den Befehl gcloud compute commmitments create, um eine Zusicherung zu kaufen, und Flags, um eine Reservierung hinzuzufügen.

Zum Beispiel umfasst die folgende Zusicherung 4 GPUs und eine neue Reservierung für diese 4 GPUs zur Verwendung auf 2 n1-standard-32-Instanzen in us-central1-a.

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-central1-a \
    --machine-type=n1-standard-16 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

Wenn Sie die Nutzung von GPUs oder lokalen SSDs zusichern möchten, nicht aber die von vCPUs und Arbeitsspeicher, geben Sie für die zugesicherte Menge von vCPUs und Arbeitsspeicher 0 an.

gcloud compute commitments create commitment-01 \
    --region=us-west2 \
    --resources=vcpu=0,memory=0 \
    --resources-accelerator=type=nvidia-tesla-p4,count=1 \
    --plan 12-month \
    --reservation=reservation-01 \
    --reservation-zone=us-west2-b \
    --machine-type=n1-standard-2 \
    --accelerator=type=nvidia-tesla-p4,count=1 \
    --vm-count=1

Wenn Sie beim Erwerb einer Zusicherung mehrere Reservierungen erstellen möchten, verwenden Sie eine YAML-Datei, in der die Reservierungsattribute enthalten sind. Beispiel:

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --resources=vcpu=96,memory=624,local-ssd=750 \
    --resources-accelerator=type=nvidia-tesla-v100,count=1 \
    --plan 12-month \
    --reservations-from-file=YAML_FILE

Die folgende YAML-Datei enthält beispielsweise 2 Reservierungen. Die erste Reservierung res-01 enthält 1 n1-standard-2-Instanz mit 1 GPU. Dies ist eine ausgewählte Reservierung. Das bedeutet, dass Sie diese Reservierung zur Verwendung ihrer reservierten Instanzen ausdrücklich namentlich auswählen müssen. Die zweite Reservierung res-02 enthält 1 VM-Instanz n1-standard-2 mit 2 Arten von angehängten lokalen SSDs.

- reservation: res-01
  reservation_zone: us-central1-a
  require_specific_reservation: true
  vm_count: 1
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-v100
- reservation: res-02
  reservation_zone: us-central1-a
  vm_count: 1
  machine_type: n1-standard-2
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

API

Zum Definieren der Reservierungsattribute können Sie die Methode regionCommitments.insert verwenden und das Feld reservations einfügen. Die folgende Zusicherung umfasst zum Beispiel 4 GPUs und eine Reservierung für die 4 GPUs zur Verwendung auf 2 Instanzen in us-central1-a.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Wenn Sie nur die Nutzung von GPUs oder lokalen SSDs zusichern möchten, nicht aber die von vCPUs und Arbeitsspeicher, geben Sie für die zugesicherte Menge von vCPUs und Arbeitsspeicher 0 an. Beispiel:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 2,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Die Zusicherung wird nur dann erfolgreich erstellt, wenn zum Zeitpunkt der Anfrage in der ausgewählten Zone genügend Ressourcen und ein ausreichendes Kontingent vorhanden sind.

Wenn Sie eine Zusicherung mit einer verbundenen Reservierung erstellen, können Sie die Reservierung während der Dauer der Zusicherung nicht löschen. Wenn Ihre Zusicherung abgelaufen ist, löscht Compute Engine automatisch alle verbundenen Reservierungen.

Wie Sie GPUs oder lokale SSDs zwischen Reservierungen mit Nutzungszusicherung übertragen, erfahren Sie unter Reservierungen ändern, die mit Zusicherungen verbunden sind.

Reservierungen ändern, die mit Zusicherungen verbunden sind

Wenn eine Zusicherung eine oder mehrere Reservierungen für GPUs oder lokale SSDs enthält, können Sie das Tool gcloud oder die API verwenden, um GPUs oder lokale SSDs über diese Reservierungen zu übertragen. Beispielsweise können Sie GPUs von einer Reservierung in eine zweite, neue Reservierung verschieben.

Beschränkungen:

  • Sie können Ressourcen nur zwischen zwei Reservierungen verschieben, wobei eine die Ausgangsreservierung und die andere die Zielreservierung ist. Die Ausgangsreservierung muss bereits vorhanden sein. Die Zielreservierung kann eine bestehende oder eine neue Reservierung sein.
  • Die Ausgangs- und Zielreservierung müssen sich in derselben Zone befinden.
  • Sie können die Ressourcenattribute von bestehenden Reservierungen nicht ändern. Sie können nur bestehende Ressourcen von einer Reservierung auf eine andere übertragen.
  • Die Gesamtanzahl der GPUs und lokalen SSDs muss konstant bleiben.
  • Sie können nur 100 VMs pro Anfrage ändern. Wenn Sie weitere VMs aktualisieren möchten, rufen Sie die API mehrmals auf oder wenden Sie sich an den Google Cloud-Support.
  • Sie können weder vCPUs noch Arbeitsspeicher übertragen noch andere Attribute von angehängten Reservierungen ändern.

gcloud

Führen Sie den Befehl gcloud beta compute commitments update-reservations aus.

Erstellen Sie eine Zusicherung mit einer Reservierung:

  • res-1 hat 4 n1-standard-2-Instanzen mit jeweils 1 P100-GPU (4 vCPUs und 4 P100-GPUs). Die insgesamt reservierten Ressourcen umfassen 4 P100-GPUs.
gcloud beta compute commitments create my-commitment-with-reservations \
    --region=asia-east1 \
    --resources=vcpu=10,memory=32GB \
    --resources-accelerator=type=nvidia-tesla-p100,count=4 \
    --plan 12-month \
    --reservations-from-file=one-reservation.yaml

Die Datei one-reservation.yaml enthält Folgendes:

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 4
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

Aktualisieren Sie die Zusicherung, um einige Ressourcen von res-1 auf eine neue, zweite Reservierung res-2 zu übertragen. Gehen Sie in diesem Beispiel so vor:

  • Ändern Sie die Reservierung res-1 so, dass sie 2 n1-standard-2-Instanzen mit jeweils 2 P100-GPUs (2 vCPUs und 2 P100-GPUs) hat.
  • Fügen Sie die Reservierung res-2 für 2 n1-standard-2-Instanzen mit jeweils 1 P100-GPU (4 vCPUs und 2 P100-GPUs) hinzu.

Die Gesamtanzahl der reservierten GPUs innerhalb der Zusicherung bleibt konstant bei 4.

gcloud beta compute commitments update-reservations my-commitment-with-reservations \
    --region=us-central1 \
    --reservations-from-file=two-reservations.yaml

Die Datei two-reservations.yaml enthält Folgendes:

- reservation: res-1
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100
- reservation: res-2
  reservation_zone: asia-east1-a
  require_specific_reservation: true
  vm_count: 2
  machine_type: n1-standard-2
  accelerator:
  - count: 1
    type: nvidia-tesla-p100

API

Verwenden Sie die Methode regionCommitments.updateReservations.

Erstellen Sie beispielsweise eine Nutzungszusicherung mit der folgenden Reservierung:

  • res-1 hat 4 n1-standard-2-Instanzen mit jeweils 1 nvidia-tesla-p100-GPU (4 vCPUs und 4 P100-GPUs).

In diesem Beispiel beinhalten die insgesamt reservierten Ressourcen 4 P100-GPUs.

POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

{
  "name": "my-commitment-with-reservation",
  "plan": "TWELVE_MONTH",
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "4",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ],
  "resources":
  [
    {
      "amount": "10",
      "type": "VCPU"
    },
    {
      "amount": "32768",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p100",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ]
}

Aktualisieren Sie die Zusicherung, um einige Ressourcen von res-1 auf eine neue, zweite Reservierung res-2 zu übertragen. Gehen Sie in diesem Beispiel so vor:

  • Ändern Sie die Reservierung res-1 so, dass sie 2 n1-standard-2-Instanzen mit jeweils 2 P100-GPUs (2 vCPUs und 2 P100-GPUs) hat.
  • Fügen Sie die Reservierung res-2 für 2 n1-standard-2-Instanzen mit jeweils 1 P100-GPU (4 vCPUs und 2 P100-GPUs) hinzu.

Die Gesamtanzahl der reservierten GPUs innerhalb der Zusicherung bleibt konstant bei 4.

POST https://compute.googleapis.com/compute/beta/projects/my-project/regions/asia-east1/commitments/my-commitment-with-reservation/updateReservations

{
  "reservations":
  [
    {
      "name": "res-1",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    },
    {
      "name": "res-2",
      "specificReservation":
      {
        "count": "2",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-p100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "asia-east1-a"
    }
  ]
}

Nutzungsberichte zu Reservierungen ansehen

Exportieren Sie detaillierte Berichte zur Nutzung von Compute Engine mit dem Exportfeature in einen Cloud Storage-Bucket. Weitere Informationen finden Sie unter Nutzungsberichte ansehen.

Der Nutzungsbericht enthält folgende Angaben:

  • Genutzte reservierte Ressourcen. Diese Einträge werden als normale Ressourcen in Bezug auf vCPUs, Arbeitsspeicher, GPUs und lokale SSDs angezeigt.
  • Ungenutzte reservierte Ressourcen. Diese Einträge haben normale SKU-Namen und Reservierungsressourcen-URIs.
  • Die Gesamtzahl der reservierten Ressourcen. Diese Einträge haben Reservierungs-SKU-Namen und Reservierungsressourcen-URIs. Mit diesen Einträgen sind keine Kosten verbunden. Berechnen Sie anhand dieser Einträge, wie viel von Ihren Reservierungen Sie nutzen.
Messung MeasurementId-Format Resource URI-Format
Genutzte reservierte Ressourcen com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/RESOURCE_TYPE/RESOURCE_NAME.

Beispiel: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance
Ungenutzte reservierte Ressourcen com.google.cloud/services/compute-engine/SKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Beispiel: https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation
Reservierte Ressourcen insgesamt com.google.cloud/services/compute-engine/ReservationSKU_NAME https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME.

Beispiel: https://compute.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-a/reservations/my-reservation

Das folgende Snippet aus einem Nutzungsbericht für eine Reservierung namens my-reservation enthält z. B. folgende Informationen:

  • Zeile 1 gibt den reservierten RAM an, der aktuell genutzt wird. Die ResourceId der Zeile zeigt, dass dieser RAM von einer Instanz namens my-instance genutzt wird.
  • Zeile 2 gibt reservierten RAM an, der nicht genutzt wird. Die ResourceId der Zeile gibt an, dass der reservierte RAM von my-reservation genutzt wird. Er wird noch nicht von einer Instanz verwendet.
  • Zeile 3 gibt den gesamten reservierten RAM an.
Report Date,MeasurementId,Quantity,Unit,Resource URI,ResourceId,Location
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/instances/my-instance,1775485842510981624,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/VmimageN2StandardRam,166970074857472,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
2019-06-06,com.google.cloud/services/compute-engine/ReservationN2StandardRam,333940149714944,byte-seconds,https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central2-a/reservations/my-reservation,7.58809E+17,us-central2-a
...

Nächste Schritte