Reservierungen mit Rabatten für zugesicherte Nutzung kombinieren


Rabatte für zugesicherte Nutzung (CUDs) bieten stark ermäßigte Preise für Ihre Compute Engine-Ressourcen im Gegenzug für ein- oder dreijährige Verträge für zugesicherte Nutzung (auch als Zusicherung bezeichnet). Sie verpflichten sich damit zu einem Mindestbetrag für die Ressourcennutzung oder ihr Ausgaben und erhalten im Gegenzug CUDs für Ihre Ressourcennutzungskosten. Zusicherungen reservieren jedoch keine zonale Kapazität für Ihre zugesicherten Ressourcen. Um zonale Ressourcen zu ermäßigten Preisen zu erhalten und außerdem zu gewährleisten, dass die Kapazität für sie reserviert ist, müssen Sie sowohl Zusicherungen erwerben als auch Reservierungen für diese zonalen Ressourcen erstellen.

In diesem Dokument wird erläutert, wie Sie CUDs für Ihre reservierten Ressourcen erhalten und wie Sie Reservierungen an ressourcenbasierte Zusicherungen anhängen.

Hinweise

  • Sehen Sie sich die Grundlagen von Reservierungen sowie deren Anforderungen und Einschränkungen an. Weitere Informationen finden Sie unter Reservierungen für zonale Compute Engine-Ressourcen.
  • 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 wie folgt 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.

    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

CUDs für Ihre reservierten Ressourcen

Sie erhalten CUDs aus aktiven Zusicherungen für jede zulässige Ressourcennutzung in Ihren Projekten. Wenn Sie auch Reservierungen für Kapazitäten für Ressourcen in diesem Projekt haben, können CUDs aus aktiven Zusicherungen auch für diese reservierten Ressourcen gelten. Damit alle reservierten Ressourcen CUDs erhalten können, gelten die folgenden Anforderungen:

  • Sie erhalten keine andere Form von Rabatten für Ihre Ressourcennutzung.
  • Ihre VMs müssen die Reservierungen nutzen, während die Zusicherungen aktiv sind.
  • Die folgenden Attribute müssen mindestens zwischen Ihren aktiven Zusicherungen und den Reservierungen übereinstimmen, die Ihre VMs nutzen:

    • Projekt und Region, für die sie gelten
    • Maschinenfamilienserie

Je nach Ressourcentyp können Sie CUDs für Ihre reservierten Ressourcen auf eine der folgenden Arten erhalten:

  • vCPUs und Arbeitsspeicher: Um CUDs für einen oder beide dieser Ressourcentypen zu erhalten, können Sie ressourcen- oder ausgabenbasierte Zusicherungen erwerben, die die erforderlichen Ressourcentypen enthalten. Wenn VMs in Ihrem Projekt Reservierungen nutzen, deren Attribute mit solchen aktiven Zusicherungen übereinstimmen, erhalten Sie automatisch die entsprechenden CUDs für diese Arten von reservierten Ressourcen. Wenn Sie mehr Ressourcen reserviert haben, als Sie zugesagt haben, erhalten Sie keine CUDs für diese zusätzlichen Ressourcen.

  • GPUs und lokale SSD-Laufwerke: Um CUDs für einen oder beide dieser Ressourcentypen zu erhalten, müssen Sie Folgendes tun:

    • Kaufen Sie ressourcenbasierte Zusicherungen, die die erforderlichen Ressourcentypen enthalten.
    • Erstellen Sie Reservierungen für alle zugesicherten Ressourcen mit Attributen, die Ihrer Zusicherung entsprechen, und hängen Sie diese Reservierungen der Zusicherung an.

    Wenn VMs in Ihrem Projekt diese angehängten Reservierungen nutzen, erhalten Sie die entsprechenden CUDs für diese Arten von reservierten Ressourcen.

Reservierungen an ressourcenbasierte Zusicherungen anhängen

Sie können jeder ressourcenbasierten Zusicherung Reservierungen hinzufügen und dafür sorgen, dass die Kapazitäten in bestimmten Zonen für die zu verwendenden zugesicherten Ressourcen vorhanden sind. Sie können mehrere Reservierungen an eine einzelne Zusicherung anhängen. Eine Reservierung kann jedoch nur einer einzelnen Zusicherung zugeordnet werden. Wenn Sie eine Zusicherung erwerben, können Sie Reservierungen auf eine der folgenden Arten an diese Zusicherung anhängen:

  • Vorhandene Reservierungen verwenden, deren Attribute mit der Zusicherung übereinstimmen
  • Neue übereinstimmende Reservierungen beim Kauf Ihrer Zusicherung erstellen

Nachdem Sie eine Zusicherung mit verbundenen Reservierungen erworben haben, bleiben die Reservierungen aktiv, solange die Zusicherung aktiv ist. Wenn Ihre Zusicherung abgelaufen ist, löscht Compute Engine automatisch alle verbundenen Reservierungen. Das Löschen dieser Reservierungen hat keine Auswirkungen auf ausgeführte VMs, die diese Reservierungen genutzt haben. Die ausgeführten VMs werden weiterhin ausgeführt und diese VMs werden weiterhin in Rechnung gestellt.

Zugesicherte Ressourcen, für die keine verbundenen Reservierungen erforderlich sind

Für die zugesicherte Nutzung von vCPUs und Arbeitsspeicher müssen Sie keine übereinstimmende Reservierungen an Ihre Zusicherungen anhängen. Wenn Sie eine Zusicherung erwerben, die vCPUs, Arbeitsspeicher oder beides enthält, können Sie jedoch Reservierungen anhängen, die diese Ressourcen angeben. Wie Sie Zusicherungen ausschließlich für vCPUs, Arbeitsspeicher oder beides erwerben, ohne Reservierungen anzuhängen, lesen Sie Zusicherungen ohne angehängte Reservierungen erwerben.

Zugesicherte Ressourcen, für die verbundene Reservierungen erforderlich sind

Für zugesicherte GPUs und lokale SSD-Laufwerke müssen Sie übereinstimmende Reservierungen an Ihre Zusicherungen anhängen. Wenn Sie eine Zusicherung erwerben, die GPUs, lokale SSD-Laufwerke oder beides enthält, müssen Sie diese Ressourcen auch reservieren und diese Reservierungen der Zusicherung hinzufügen. Sie können dazu eine einzelne Reservierung oder eine Kombination aus Reservierungen verwenden. Wenn Sie eine solche Zusicherung erwerben, können Sie auch vCPUs, Arbeitsspeicher oder beides hinzufügen. Diese vCPUs oder Arbeitsspeicher müssen Sie jedoch nicht reservieren. Informationen zum Kauf von Zusicherungen, die GPUs oder lokale SSD-Laufwerke oder beides enthalten, finden Sie in diesem Dokument unter Zusicherungen mit angehängten Reservierungen erwerben.

Eine vollständige Liste der Maschinenserien, die CUDs für GPUs und lokale SSD-Laufwerke unterstützen, finden Sie im Abschnitt Zusicherungsarten in der Dokumentation zu ressourcenbasierten CUDs.

Mengen der Ressourcen, die in verbundenen Reservierungen zulässig sind

Für vCPUs und Arbeitsspeicher können Sie angehängte Reservierungen haben, die mehr oder weniger Ressourcen angeben, als Sie zusichern. Wenn Sie die Nutzung von mehr vCPUs oder mehr Arbeitsspeicher als von Ihnen reserviert zusichern, reserviert Compute Engine Kapazitäten nur für diese reservierten Ressourcen. Sie können Ihre zusätzlichen zugesicherten Ressourcen jedoch je nach Verfügbarkeit in Ihrer Region weiterhin verwenden. Wenn Sie mehr vCPUs oder Arbeitsspeicher reservieren, als Sie zusichern, erhalten Sie keine CUDs für die zusätzlichen Ressourcen, die Sie reservieren.

Wenn Sie beispielsweise eine Nutzungszusicherung für 4 vCPUs und 30 GB Arbeitsspeicher erwerben, haben Sie folgende Möglichkeiten:

  • Sie können überhaupt keine Reservierungen hinzufügen.
  • Hängen Sie Reservierungen an, die eine beliebige Kombination dieser Ressourcentypen angeben. Zum Beispiel:

    • 4 vCPUs und 30 GB Arbeitsspeicher
    • 2 vCPUs und 50 GB Arbeitsspeicher
    • 10 vCPUs und 10 GB Arbeitsspeicher

Wenn Ihre Zusicherung jedoch GPUs, lokale SSD-Laufwerke oder beides enthält, müssen Sie alle diese Ressourcen reservieren und anhängen. Ihre angehängten Reservierungen müssen die genaue Anzahl und Typen der GPUs und lokalen SSD-Laufwerke angeben, deren Nutzung Sie zusichern. Daher können Sie in Ihren verbundenen Reservierungen auch keine zusätzliche Anzahl oder Typen von GPUs oder lokalen SSD-Laufwerken haben. Angenommen, Sie erwerben eine Zusicherung für 30 GB Arbeitsspeicher und 4 NVIDIA P100-GPUs. Die angehängte Reservierung (oder die Kombination angehängter Reservierungen) kann eine beliebige Menge an vCPUs oder Arbeitsspeicher angeben. Sie muss jedoch genau vier GPUs vom Typ NVIDIA P100 haben. In diesem Beispiel können Sie keine Reservierungen anhängen, die eine der folgenden Ressourcenkombinationen angeben:

  • 6 NVIDIA P100-GPUs
  • 2 NVIDIA P100-GPUs
  • 4 NVIDIA P100-GPUs und 2 NVIDIA V100-GPUs
  • 4 NVIDIA P100-GPUs und 4 lokale SSD-Laufwerke

Zusicherungen mit verbundenen Reservierungen erwerben

Wenn Sie eine neue Zusicherung erwerben, können Sie Ihrer Zusicherung auf eine der folgenden Arten Reservierungen hinzufügen:

Nach dem Kauf einer Zusicherung wird Ihre Zusicherung am folgenden Tag um 00:00 Uhr US and Canadian Pacific Time (UTC-8 oder UTC-7 während der Sommerzeit) aktiviert. Zwischen dem Zeitpunkt des Zusicherungskaufs und der Aktivierungszeit bleibt der Status der Zusicherung NOT_YET_ACTIVE (oder PENDING in der Google Cloud Console). Nach der Aktivierung ändert sich der Status Ihrer Zusicherung in ACTIVE. Angenommen, Sie erwerben Ihre Zusicherung am 20. Januar um 22:00 Uhr US and Canadian Pacific Time (UTC-8 oder UTC-7). Compute Engine erstellt die Zusicherung sofort mit dem Status NOT_YET_ACTIVE. Ihre Zusicherung wird jedochACTIVE nur am 21. Januar um 00:00 Uhr US-amerikanischer und kanadischer Pazifikzeit (UTC-8 oder UTC-7).

Voraussetzungen

Bevor Sie eine Zusicherung mit verbundenen Reservierungen erwerben, prüfen Sie diese Anforderungen und achten Sie darauf, dass Ihre Zusicherung und die Reservierungen die folgenden Kriterien erfüllen:

  • Sie müssen die Zusicherung erwerben und die angehängten Reservierungen im selben Projekt und in derselben Region erstellen.
  • Sie müssen die Zusicherung erwerben und die angehängten Reservierungen für Ressourcen aus derselben Maschinenfamilie erstellen.
  • Sie müssen die Option zum automatischen Löschen für die angehängten Reservierungen deaktivieren.
  • Wenn die Zusicherung GPUs enthält, mudd der GPU-Typ in der Reservierung und der Zusicherung übereinstimmen.
  • Bei GPUs und lokalen SSD-Laufwerken muss die Anzahl der reservierten Ressourcen jedes Ressourcentyps genau mit der Anzahl der für diesen Ressourcentyp zugesicherten Ressourcen übereinstimmen. Wenn Sie beispielsweise eine Zusicherung für 4 V100-GPUs erwerben möchten, müssen die mit der Zusicherung verbundenen Reservierungen insgesamt 4 V100-GPUs haben. Die Anzahl der vCPUs und die Menge an Arbeitsspeicher können jedoch unter der von Ihnen zugesicherten Nutzung liegen.
  • Bei GPUs erwerben Sie Nutzungszusicherungen für die spezifischen GPU-Typen, die Sie verwenden möchten. Sie können beispielsweise Zusicherungen für NVIDIA P100- oder NVIDIA V100-GPUs erwerben, aber Sie können keine Zusicherungen verwenden, die für NVIDIA P100-GPUs erworben wurden, um NVIDIA V100-GPUs abzudecken.
  • Wenn Ihre angehängte Reservierung eine freigegebene Reservierung ist und Sie die entsprechenden CUDs erhalten möchten, wenn Sie diese Reservierung außerhalb des Projekts Ihrer Zusicherung nutzen, müssen Sie Folgendes tun:

    • Geben Sie Ihre Reservierungen nur für Projekte frei, die zum selben Cloud-Rechnungskonto wie die Zusicherung gehören.
    • Aktivieren Sie die CUD-Freigabe für dieses Cloud-Rechnungskonto.

Vorhandene Reservierungen anhängen

Sie können eine Zusicherung erwerben, indem Sie vorhandene Reservierungen über die Google Cloud CLI oder REST an diese Zusicherung anhängen.

gcloud

Führen Sie den Befehl gcloud compute commitments create aus, um eine Zusicherung durch Anhängen vorhandener Reservierungen zu erwerben. Fügen Sie in den Befehl das Flag --existing-reservation ein, um eine vorhandene Reservierung anzugeben, die Sie an Ihre Zusicherung anhängen möchten. Fügen Sie für jede vorhandene Reservierung, die Sie anhängen möchten, eine neue Instanz dieses Flags ein. Sie können Ihrer Zusicherung eine beliebige Anzahl vorhandener Reservierungen hinzufügen.

Führen Sie beispielsweise den folgenden Befehl aus, um eine Zusicherung zu erwerben, indem Sie zwei Reservierungen anhängen:

gcloud compute commitments create COMMITMENT_NAME \
    --region=REGION \
    --project=PROJECT_ID \
    --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
    --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
    --plan=DURATION \
    --type=COMMITMENT_TYPE \
    --existing-reservation=name='RESERVATION_NAME_1',zone='RESERVATION_ZONE_1' \
    --existing-reservation=name='RESERVATION_NAME_2',zone='RESERVATION_ZONE_2'

Ersetzen Sie Folgendes:

  • COMMITMENT_NAME: Name der Zusicherung
  • REGION: die Region, in der sich die Zusicherung befindet
  • PROJECT_ID: die ID des Projekts, in dem Sie die Zusicherung mit den angehängten Reservierungen erwerben möchten.
  • DURATION: Laufzeit der Zusicherung, entweder 12-month oder 36-month.
  • COMMITMENT_TYPE: Die Zusicherungsart. Die folgenden Zusicherungstypen bieten Optionen für GPUs, lokale SSD-Laufwerke oder beides:

    • accelerator-optimized für Maschinentyp-Ressourcen
    • compute-optimized für C2-Maschinentyp-Ressourcen
    • compute-optimized-c2d für C2D-Maschinentyp-Ressourcen
    • compute-optimized-c3 für C3-Maschinentyp-Ressourcen
    • compute-optimized-c3d für C3D-Maschinentyp-Ressourcen
    • general-purpose für N1-Maschinentyp-Ressourcen
    • general-purpose-e2 für E2-Maschinentyp-Ressourcen
    • general-purpose-n2 für N2-Maschinentyp-Ressourcen
    • general-purpose-n2d für N2D-Maschinenressourcen
    • general-purpose-t2d für Tau-T2D-Maschinentyp-Ressourcen
    • graphics-optimized für G2-Maschinentypen-Ressourcen
    • memory-optimized für M1- oder M2-Maschinentyp-Ressourcen
    • memory-optimized-m3 für speicheroptimierte M3-Maschinentypen
  • COMMITTED_VCPUS: die Anzahl der vCPUs, die Sie in Ihrer Zusicherung verwenden möchten. Diese Zahl muss eine positive ganze Zahl sein.

  • COMMITTED_MEMORY: die Arbeitsspeichermenge in MB oder GB, die Sie in Ihrer Zusicherung verwenden möchten. Beispiel: 10240MB oder 10GB. Wenn Sie keine Einheit angeben, verwendet Compute Engine GB als Einheit. Sie können Arbeitsspeicher in Schritten von 0,25 GB erwerben.

  • COMMITTED_LOCAL_SSD: die Menge des lokalen SSD-Speicherplatzes in GB, den Sie in Ihrer Zusicherung verwenden möchten. Jede lokale SSD ist 375 GB groß.

  • COMMITTED_ACCELERATOR_COUNT: Die Anzahl der GPUs, die Sie in Ihrer Zusicherung verwenden möchten.

  • COMMITTED_ACCELERATOR_TYPE: der GPU-Typ, den Sie in Ihrer Zusicherung verwenden möchten.

  • RESERVATION_NAME_1 und RESERVATION_NAME_2: Die Namen der vorhandenen Reservierungen, die Sie an die Zusicherung anhängen möchten.

  • RESERVATION_ZONE_1 und RESERVATION_ZONE_2: Die Zonen der vorhandenen Reservierungen, die Sie an die Zusicherung anhängen möchten.

Beispiel: Eine Zusicherung durch Anhängen vorhandener Reservierungen erwerben

Angenommen, Sie haben die zwei Reservierungen res-01 und res-02 in den Zonen us-central1-a und us-central1-b des Projekts myproject. Angenommen, diese Reservierungen enthalten eine kombinierte Kapazität für 4 NVIDIA P100-GPUs und 4 lokale SSD-Laufwerke. Führen Sie den folgenden Befehl aus, um in der Region us-central1 dieses Projekts eine neue Zusicherung für diese GPUs und lokalen SSD-Laufwerke zu erwerben und diese vorhandenen Reservierungen als angehängte Reservierungen zu verwenden. Beachten Sie, dass die Beispielzusicherung auch vCPUs und Arbeitsspeicher enthält.

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --resources=vcpu=96,memory=624GB \
    --resources-accelerator=type=nvidia-tesla-v100,count=4 \
    --plan 12-month \
    --existing-reservation=name=res-01,zone=us-central1-a \
    --existing-reservation=name=res-02,zone=us-central1-b
    

REST

Wenn Sie eine Zusicherung durch Anhängen vorhandener Reservierungen erwerben möchten, stellen Sie eine POST-Anfrage an die regionCommitments.insert-Methode. Fügen Sie in der Anfrage das Feld existingReservations ein, um eine durch Kommas getrennte Liste aller vorhandenen Reservierungen anzugeben, die Sie an die Zusicherung anhängen möchten. Sie können Ihrer Zusicherung eine beliebige Anzahl vorhandener Reservierungen hinzufügen.

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

{
  "name": "COMMITMENT_NAME",
  "plan": "DURATION",
  "type": COMMITMENT_TYPE,
  "resources":
  [
    {
      "amount": "COMMITTED_VCPUS",
      "type": "VCPU"
    },
    {
      "amount": "COMMITTED_MEMORY",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
      "amount": "COMMITTED_ACCELERATOR_COUNT",
      "type": "ACCELERATOR"
    }
    {
      "amount": "COMMITTED_LOCAL_SSD",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations": "RESERVATION_URLs"
}

Ersetzen Sie Folgendes:

  • COMMITMENT_NAME: Name der Zusicherung
  • REGION: die Region, in der sich die Zusicherung befindet
  • PROJECT_ID: die ID des Projekts, in dem Sie die Zusicherung mit den angehängten Reservierungen erwerben möchten.
  • DURATION: Laufzeit der Zusicherung, entweder TWELVE_MONTH oder THIRTY_SIX_MONTH
  • COMMITMENT_TYPE: Die Zusicherungsart. Die folgenden Zusicherungstypen bieten Optionen für GPUs, lokale SSD-Laufwerke oder beides:

    • GENERAL_PURPOSE_E2 für E2-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_N2 für N2-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_N2D für N2D-Maschinenressourcen
    • COMPUTE_OPTIMIZED_C3 für C3-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_C3D für C3D-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_T2D für Tau-T2D-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE für N1-Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED für C2-Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED_C2D für C2D-Maschinentyp-Ressourcen
    • MEMORY_OPTIMIZED für M1- oder M2-Maschinentyp-Ressourcen
    • MEMORY_OPTIMIZED_M3 für speicheroptimierte M3-Maschinentypen
    • ACCELERATOR_OPTIMIZED für Maschinentyp-Ressourcen
    • GRAPHICS_OPTIMIZED für G2-Maschinentypen-Ressourcen
  • COMMITTED_VCPUS: die Anzahl der vCPUs, die Sie in Ihrer Zusicherung verwenden möchten Diese Zahl muss eine positive ganze Zahl sein.

  • COMMITTED_MEMORY: die Arbeitsspeichermenge in MB, die Sie in Ihrer Zusicherung verwenden möchten. Beispiel: 10240MB. Sie können Arbeitsspeicher in Schritten von 256 MB erwerben.

  • COMMITTED_LOCAL_SSD: die Menge des lokalen SSD-Speichers in GB, den Sie in Ihrer Zusicherung benötigen. Jede lokale SSD ist 375 GB groß.

  • COMMITTED_ACCELERATOR_COUNT: Die Anzahl der GPUs, die Sie in Ihrer Zusicherung verwenden möchten.

  • COMMITTED_ACCELERATOR_TYPE: der GPU-Typ, den Sie in Ihrer Zusicherung verwenden möchten.

  • RESERVATION_URLs: eine durch Kommas getrennte Liste von URLs der vorhandenen Reservierungen, die Sie an die Zusicherung anhängen möchten. Wenn Sie beispielsweise zwei Reservierungen, res-1 und res-2, anhängen möchten, geben Sie Folgendes an:

    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/reservations/example-res-1",
    "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/reservations/example-res-2"
    

Beispiel: Eine Zusicherung durch Anhängen vorhandener Reservierungen erwerben

Angenommen, Sie haben die zwei Reservierungen res-01 und res-02 in den Zonen us-central1-a und us-central1-b des Projekts myproject. Angenommen, diese Reservierungen enthalten eine kombinierte Kapazität für 4 NVIDIA P100-GPUs und 4 lokale SSD-Laufwerke. Wenn Sie eine neue Zusicherung in der Region us-central1 dieses Projekts für diese GPUs und lokalen SSD-Laufwerke erwerben und diese vorhandenen Reservierungen als angehängte Reservierungen verwenden möchten, stellen Sie die folgende POST-Anfrage. Beachten Sie, dass die Beispielzusicherung auch vCPUs und Arbeitsspeicher enthält.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "4",
      "type": "ACCELERATOR"
    },
    {
      "amount": "1536000",
      "type": "LOCAL_SSD"
    }
  ],
  "existingReservations":
  [
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/reservations/res-01",
    "https://www.googleapis.com/compute/v1/projects/my-project/zone/us-central1-b/reservations/res-02"
  ]
}

Neue Reservierungen zum Anhängen erstellen

Sie können Ihre verbundenen Reservierungen während des Kaufs Ihrer Zusicherung über die Google Cloud Console, die Google Cloud CLI oder REST erstellen.

Console

Bevor Sie eine Zusicherung mit der Cloud Console erwerben, wählen Sie das Projekt aus, mit dem Sie die Zusicherung erwerben möchten. Wenn die Rabattfreigabe für ein Cloud-Rechnungskonto aktiviert ist, können Sie die Zusicherung über jedes Projekt über dieses Cloud-Rechnungskonto erwerben. Nachdem Sie das Projekt ausgewählt haben, gehen Sie so vor:

  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 die Zusicherungsart aus. Die folgenden Zusicherungstypen bieten Optionen für GPUs, lokale SSD-Laufwerke oder beides:

    • Allgemeiner Zweck (C3) für C3-Maschinentyp-Ressourcen
    • Allgemeiner Zweck C3D für C3D-Maschinentypen-Ressourcen
    • Allgemeiner Zweck (N2) für N2-Maschinentyp-Ressourcen
    • Allgemeiner Zweck (N2D) für N2D-Maschinentyp-Ressourcen
    • Allgemeiner Zweck (N1) für N1-Maschinentyp-Ressourcen
    • Computing-optimierte H3 für H3-Maschinentyp-Ressourcen
    • Computing-optimiert (C2) für C2-Maschinentyp-Ressourcen
    • Computing-optimiert (C2D) für C2D-Maschinentyp-Ressourcen
    • Speicheroptimiert (M1/M2) für M1- und M2-Maschinentyp-Ressourcen
    • Speicheroptimiert (M3) für M3-Maschinentyp-Ressourcen
    • Beschleunigungsoptimiert (A3) für A3-Maschinentyp-Ressourcen
    • Beschleunigungsoptimiert (A2) für A2-Maschinentyp-Ressourcen
    • Grafikoptimierte G2 für G2-Maschinentypen-Ressourcen
  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 SSD-Laufwerken 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 Reservierung hinzufügen, um eine Reservierung zu erstellen und der Zusicherung per Anhang hinzuzufügen.

    1. Geben Sie im Feld Name einen Namen für die Reservierung ein.
    2. Wählen Sie die Region und die Zone aus, in der Sie Ressourcen reservieren möchten.
    3. Wählen Sie den gewünschten Freigabetyp:
      • Um eine Reservierung für ein einzelnes Projekt zu erstellen, wählen Sie Lokal aus.
      • Um eine freigegebene Reservierung für mehrere Projekte zu erstellen, wählen Sie Freigegeben aus. Klicken Sie auf Projekte hinzufügen und wählen Sie die gewünschten Projekte aus der Organisation des aktuellen Projekts aus, um diese Reservierung für andere Projekte freizugeben.
    4. Wählen Sie im Feld Mit VM-Instanz verwenden eine der folgenden Optionen:

      • Wenn Sie die Ressourcen der Reservierung nur zum Erstellen übereinstimmender VMs verwenden möchten, die ausdrücklich namentlich auf diese Reservierung abzielen, wählen Sie Spezifische Reservierung auswählen.
      • Damit übereinstimmende VM-Instanzen diese Reservierung automatisch verwenden können, wählen Sie Reservierung automatisch verwenden aus.
    5. Geben Sie im Feld Anzahl der VM-Instanzen die Anzahl der VM-Instanzen ein, die Sie reservieren möchten.

    6. Geben Sie die Ressourcen an, die Sie für die einzelnen VM-Instanzen reservieren möchten:

      • Wenn Sie VMs reservieren möchten, die einer vorhandenen Instanzvorlage entsprechen, wählen Sie Instanzvorlage verwenden und dann eine Instanzvorlage aus der Liste aus.
      • Wählen Sie andernfalls Maschinentyp angeben und geben Sie Folgendes an:
        1. Wählen Sie im Feld Maschinenfamilie die Maschinenfamilie aus: Allgemeine Zwecke, Computing-optimiert, Arbeitsspeicheroptimiert. /1} oder GPUs.
        2. Wählen Sie in den Feldern Reihe und Maschinentyp eine Maschinenreihe und einen Maschinentyp aus.
        3. Optional: Geben Sie eine Mindest-CPU-Plattform und/oder GPUs an:
          1. Klicken Sie auf CPU-Plattform und GPU, um den Bereich zu maximieren.
          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.
        4. Optional: Lokale SSD-Laufwerke hinzufügen:
          1. Wählen Sie im Feld Anzahl der Laufwerke die Anzahl der lokalen SSD-Laufwerke für jede VM aus.
          2. Wählen Sie im Feld Schnittstellentyp die Schnittstelle für die lokalen SSD-Laufwerke aus.
    7. Klicken Sie auf Fertig, um das Festlegen der Attribute für diese Reservierung abzuschließen.

  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

Führen Sie den Befehl gcloud compute commitments create aus, um Ihre angehängten Reservierungen beim Kauf Ihrer Zusicherung zu erstellen.

Je nachdem, ob Sie eine einzelne Reservierung oder mehrere Reservierungen anhängen möchten, führen Sie den Befehl auf eine der folgenden Arten aus:

  • Um eine einzelne Reservierung zu erstellen und an Ihre Zusicherung anzuhängen, definieren Sie die Attribute der angehängten Reservierung mit dem folgenden Befehl:

    gcloud compute commitments create COMMITMENT_NAME \
        --region=REGION \
        --project=PROJECT_ID \
        --plan DURATION \
        --type COMMITMENT_TYPE
        --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
        --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
        --reservation=RESERVATION_NAME \
        --reservation-zone=RESERVATION_ZONE \
        --machine-type=RESERVED_MACHINE_TYPE \
        --require-specific-reservation=REQUIRE_SPECIFIC_RESERVATION_VALUE \
        --vm-count=NUMBER_OF_RESERVED_VMs \
        --accelerator=type=RESERVED_ACCELERATOR_TYPE,count=RESERVED_ACCELERATOR_COUNT \
        --local-ssd=interface=INTERFACE_1,size=375 \
        --local-ssd=interface=INTERFACE_2,size=375 \
        --minimum-cpu-platform=MINIMUM_CPU_PLATFORM \
        --share-setting=SHARE_SETTING \
        --share-with=CONSUMER_PROJECT_ID_1,CONSUMER_PROJECT_ID_2
    
  • Wenn Sie mehrere Reservierungen erstellen und Ihrer Zusicherung hinzufügen möchten, definieren Sie die Attribute der Reservierung mithilfe einer YAML-Datei und geben Sie diese YAML-Datei dann in dem Befehl an, mit dem Sie die Zusicherung erwerben. Optional können Sie diesen YAML-Dateiansatz verwenden, um eine einzelne Reservierung zu erstellen und an die Zusicherung anzuhängen. So erstellen Sie Ihre angehängten Reservierungen mit diesem Ansatz:

    1. Erstellen Sie die YAML-Datei im aktuellen Verzeichnis und geben Sie die Konfiguration an, die Sie für jede angehängte Reservierung verwenden möchten. Wenn Sie beispielsweise die Konfiguration einer freigegebenen Reservierung angeben möchten, die für zwei Projekte freigegeben ist und GPUs, zwei lokale SSD-Laufwerke und eine Mindest-CPU-Plattform angibt, fügen Sie den folgenden Text in Ihre YAML-Datei ein. :

      - reservation: RESERVATION_NAME
        reservation_zone: RESERVATION_ZONE
        require_specific_reservation: REQUIRE_SPECIFIC_RESERVATION_VALUE
        vm_count: NUMBER_OF_RESERVED_VMs
        machine_type: RESERVED_MACHINE_TYPE
        accelerator:
        - count: RESERVED_ACCELERATOR_COUNT
          type: RESERVED_ACCELERATOR_TYPE
        localssd:
        - interface: INTERFACE_1
          size: 375
        - interface: INTERFACE_2
          size: 375
        project: OWNER_PROJECT_ID
        minimum-cpu-platform: MINIMUM_CPU_PLATFORM
        share-setting: SHARE_SETTING
        share-with:
        - CONSUMER_PROJECT_ID_1
        - CONSUMER_PROJECT_ID_2
      
      

      Wenn Sie die Konfiguration für mehrere Reservierungen angeben möchten, wiederholen Sie diese Attribute für jede Reservierung, die Sie erstellen möchten. Sie können Ihrer Zusicherung eine beliebige Anzahl vorhandener Reservierungen hinzufügen.

    2. Verwenden Sie den gcloud compute commitments create-Befehl und fügen Sie das Flag --reservation-from-file ein.

      gcloud compute commitments create COMMITMENT_NAME \
          --region REGION \
          --project PROJECT_ID \
          --plan DURATION \
          --type COMMITMENT_TYPE \
          --resources=vcpu=COMMITTED_VCPUS,memory=COMMITTED_MEMORY,local-ssd=COMMITTED_LOCAL_SSD \
          --resources-accelerator=count=COMMITTED_ACCELERATOR_COUNT,type=COMMITTED_ACCELERATOR_TYPE \
          --reservations-from-file=YAML_FILE
      

Ersetzen Sie Folgendes durch die entsprechenden Attribute der Zusicherung und der angehängten Reservierungen:

Verpflichtung

  • COMMITMENT_NAME: Name der Zusicherung
  • REGION: die Region, in der sich die Zusicherung befindet
  • PROJECT_ID: die ID des Projekts, in dem Sie die Zusicherung mit den angehängten Reservierungen erwerben möchten.
  • DURATION: Laufzeit der Zusicherung, entweder 12-month oder 36-month
  • COMMITMENT_TYPE: Die Zusicherungsart. Die folgenden Zusicherungstypen bieten Optionen für GPUs, lokale SSD-Laufwerke oder beides:

    • general-purpose-e2 für E2-Maschinentyp-Ressourcen
    • general-purpose-n2 für N2-Maschinentyp-Ressourcen
    • general-purpose-n2d für N2D-Maschinenressourcen
    • compute-optimized-c3 für C3-Maschinentyp-Ressourcen
    • general-purpose-c3d für C3D-Maschinentyp-Ressourcen
    • general-purpose-t2d für Tau-T2D-Maschinentyp-Ressourcen
    • general-purpose für N1-Maschinentyp-Ressourcen
    • compute-optimized für C2-Maschinentyp-Ressourcen
    • compute-optimized-c2d für C2D-Maschinentyp-Ressourcen
    • memory-optimized für M1- oder M2-Maschinentyp-Ressourcen
    • memory-optimized-m3 für speicheroptimierte M3-Maschinentypen
    • accelerator-optimized für Maschinentyp-Ressourcen
    • graphics-optimized für G2-Maschinentypen-Ressourcen
  • COMMITTED_VCPUS: die Anzahl der vCPUs, die Sie in Ihrer Zusicherung verwenden möchten. Diese Zahl muss eine positive ganze Zahl sein.

  • COMMITTED_MEMORY: die Arbeitsspeichermenge in MB oder GB, die Sie in Ihrer Zusicherung verwenden möchten. Beispiel: 10GB oder 10240MB. Wenn Sie keine Einheit angeben, verwendet Compute Engine GB als Einheit. Sie können Arbeitsspeicher in Schritten von 0,25 GB erwerben.

  • COMMITTED_LOCAL_SSD: die Menge des lokalen SSD-Speichers in GB, den Sie in Ihrer Zusicherung benötigen. Jede lokale SSD ist 375 GB groß.

  • COMMITTED_ACCELERATOR_COUNT: Die Anzahl der GPUs, die Sie in Ihrer Zusicherung verwenden möchten.

  • COMMITTED_ACCELERATOR_TYPE: der GPU-Typ, den Sie in Ihrer Zusicherung verwenden möchten.

  • YAML_FILE: der Pfad zur YAML-Datei, die die Konfiguration der angehängten Reservierungen enthält.

Angehängte Reservierungen

  • RESERVATION_NAME: der Name der angehängten Reservierung
  • RESERVATION_ZONE: die Zone der angehängten Reservierung
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: gibt an, ob die angehängte Reservierung eine speziell ausgewählte Reservierung ist. Entweder true oder false. Weitere Informationen zu speziell ausgerichteten Reservierungen finden Sie unter Funktionsweise von Reservierungen.
  • NUMBER_OF_RESERVED_VMS: die Anzahl der VMs, die Sie in der angehängten Reservierung reservieren möchten
  • RESERVED_MACHINE_TYPE: der Maschinentyp, den Sie für die VMs in Ihrer angehängten Reservierung verwenden möchten

    • Verwenden Sie für vordefinierte Maschinentypen das Format MACHINE_FAMILY-standard-CPUS, z. B. n2-standard-4.
    • Verwenden Sie für benutzerdefinierte Maschinentypen das Format MACHINE_FAMILY-custom-CPUS-MEMORY, z. B. n2-custom-4-5120. Eine vollständige Liste der Einschränkungen finden Sie in den Spezifikationen für benutzerdefinierte Maschinentypen.

      Ersetzen Sie Folgendes:

      • MACHINE_FAMILY: die Maschinentypfamilie. Geben Sie beispielsweise für N2-VMs n2 an.
      • CPUS: die Anzahl der vCPUs.
      • MEMORY: der gesamte Arbeitsspeicher für eine reservierte VM. Der Arbeitsspeicher muss ein Vielfaches von 256 MB sein und in MB angegeben werden. Verwenden Sie zum Beispiel n2-custom-4-5120, um eine N2-VM mit 4 vCPUs und 5 GB Arbeitsspeicher zu erstellen, die 5.120 MB entspricht.
  • RESERVED_ACCELERATOR_COUNT: die Anzahl der GPUs, die Sie pro VM in der angehängten Reservierung hinzufügen möchten

  • RESERVED_ACCELERATOR_TYPE: der Beschleunigertyp, den Sie in der angehängten Reservierung hinzufügen möchten.

  • INTERFACE_1 und INTERFACE_2: der Schnittstellentyp, den die lokalen SSD-Laufwerke für jede reservierte VM verwenden sollen. Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter local_ssd für jedes lokale SSD-Laufwerk, das Sie hinzufügen möchten. Sie können bis zu 24 lokale SSD-Laufwerke angeben.

  • OWNER_PROJECT_ID: die ID des Projekts, in dem Sie die Zusicherung mit der angehängten Reservierung erwerben möchten. Geben Sie dieses Feld an, wenn Sie die angehängte Reservierung auf mehrere Nutzerprojekte aufteilen möchten.

  • MINIMUM_CPU_PLATFORM: die Mindest-CPU-Plattform, die Sie für die angehängte Reservierung angeben möchten.

  • SHARE_SETTING: die Art der Freigabe für die angehängte Reservierung. Geben Sie dieses Feld mit dem Wert projects an, wenn Sie Ihre angehängte Reservierung auf mehrere Nutzerprojekte aufteilen möchten. Schließen Sie dieses Feld aus, wenn Sie eine Reservierung für ein einzelnes Projekt erstellen möchten.

  • CONSUMER_PROJECT_ID_1 und CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekte, die diese Reservierung gemeinsam nutzen können, z. B. project-1 und 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 die ID des Projekts an, in dem Sie diese Reservierung erstellen, da dieses Projekt diese Reservierung standardmäßig nutzen darf. Schließen Sie diese Felder aus, wenn Sie eine Reservierung für ein einzelnes Projekt erstellen möchten.

Compute Engine erstellt die Zusicherung mit den verbundenen Reservierungen nur, wenn genügend Ressourcen des angegebenen Maschinentyps in der Zielzone und ausreichend Kontingente zum Zeitpunkt der Anfrage vorhanden sind. Wenn Ihr Kauf erfolgreich war, erhalten Sie eine Erfolgsmeldung ähnlich der folgenden:

Created[https://www.googleapis.com/compute/v1/projects/your-project/regions/your-region/commitments/your-commitment-name]

Beispiele für den Kauf von Zusicherungen durch das Erstellen neuer Reservierungen, die angehängt werden sollen

Die folgenden Beispielszenarien und -befehle zeigen, wie Sie eine Zusicherung für GPUs, lokale SSD-Laufwerke oder beides erwerben können, indem Sie neue Reservierungen erstellen, die an diese Zusicherung angehängt werden.

Beispiel 1: Eine Zusicherung für GPUs durch Anhängen einer einzelnen neuen Reservierung erwerben

Angenommen, Sie möchten eine Zusicherung commitment-01 in der Region us-central1 erwerben, die 4 NVIDIA V100-GPUs enthält. Sie möchten eine neue Reservierung reservation-01 als angehängte Reservierung für diese GPUs erstellen. Angenommen, Sie möchten außerdem Compute Engine so angeben, dass diese reservierten GPUs auf zwei n1-standard-32-VMs in der Zone us-central1-a verwendet werden. Führen Sie den folgenden Befehl aus, um diese Beispielzusicherung mit der angehängten Reservierung zu erwerben:

gcloud compute commitments create commitment-01 \
    --region=us-central1 \
    --project=myproject \
    --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-32 \
    --accelerator=type=nvidia-tesla-v100,count=2 \
    --vm-count=2

Beispiel 2: Zusicherung von GPUs erwerben, ohne Zusicherung von vCPUs oder Arbeitsspeicher

Wenn Sie die Nutzung von GPUs und lokalen SSD-Laufwerken zusichern möchten, nicht aber die von vCPUs oder Arbeitsspeicher, geben Sie 0 als Wert für die vCPU- und Arbeitsspeichermengen an. Angenommen, Sie möchten eine Zusicherung commitment-02 für eine einzelne NVIDIA P4-GPU in der Region us-west2 erwerben. Sie möchten auch eine neue Reservierung als angehängte Reservierung erstellen und Compute Engine auffordern, die reservierte GPU auf einer n1-standard-2-VM in der Zone us-west2-b zu verwenden. Führen Sie den folgenden Befehl aus, um diese Beispielzusicherung mit der angehängten Reservierung zu erwerben:

gcloud compute commitments create commitment-02 \
    --region=us-west2 \
    --project=myproject \
    --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

Beispiel 3: Eine Zusicherung für GPUs und lokale SSD-Laufwerke erwerben, indem Sie mehrere neue Reservierungen anhängen

Angenommen, Sie möchten eine Zusicherung commitment-03 für 1 NVIDIA V 100-GPU und 2 lokale SSD-Laufwerke in der Region us-central1 erwerben. Sie möchten auch zwei Reservierungen in der Zone us-central1-a erstellen und anhängen. In der ersten Reservierung res-01 möchten Sie 1 VM vom Typ n1-standard-2 mit 1 GPU reservieren. Sie möchten res-01 zu einer Zielreservierung machen. Das bedeutet, dass Sie diese Reservierung ausdrücklich namentlich dafür auswählen müssen, ihre reservierten VMs zu verwenden. In der zweiten Reservierung res-02 möchten Sie 1 n1-standard-8-VM mit 2 Arten von angehängten lokalen SSD-Laufwerken reservieren.

Um diese Beispielzusicherung mit den angehängten Reservierungen zu erwerben, erstellen Sie zuerst die YAML-Datei mit den Attributen beider Reservierungen.

- 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-8
  local_ssd:
  - interface: scsi
    size: 375
  - interface: nvme
    size: 375

Führen Sie nach dem Erstellen der YAML-Datei den folgenden Befehl aus, um den Kauf der Zusicherung mit den angehängten Reservierungen abzuschließen. Beachten Sie, dass die Beispiel-Zusicherung auch vCPU- und Arbeitsspeicherressourcen enthält.

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

REST

Wenn Sie die verbundenen Reservierungen beim Kauf Ihrer Zusicherung erstellen möchten, senden Sie eine POST-Anfrage an die Methode regionCommitments.insert. Fügen Sie in Ihrer Anfrage das Feld reservations ein, um eine Liste aller neuen Reservierungen zu definieren, die Sie erstellen und anhängen möchten. Sie können einer Zusicherung eine beliebige Anzahl vorhandener Reservierungen hinzufügen.

  • Wenn Sie Ihre neue Reservierung durch manuelles Angeben aller VM-Attribute erstellen möchten, fügen Sie das Feld instanceProperties ein und schließen Sie das Feld sourceInstanceTemplate aus.

    Wenn Sie beispielsweise die Konfiguration einer freigegebenen Reservierung, die für zwei Projekte freigegeben ist und die GPUs, zwei lokale SSD-Laufwerke und eine Mindest-CPU-Plattform angibt, manuell festlegen möchten, stellen Sie die folgende Anfrage:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "RESERVED_ACCELERATOR_COUNT",
                "acceleratorType": "RESERVED_ACCELERATOR_TYPE"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_1"
              },
              {
                "diskSizeGb": "375",
                "interface": "RESERVED_INTERFACE_2"
              }
            ],
            "machineType": "RESERVED_MACHINE_TYPE",
            "minCpuPlatform": "MINIMUM_CPU_PLATFORM"
          }
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    
  • Wenn Sie Ihre neue Reservierung durch Angabe einer Instanzvorlage erstellen möchten, fügen Sie das Feld sourceInstanceTemplate ein und schließen das Feld instanceProperties aus.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/commitments
    
    {
    "name": "COMMITMENT_NAME",
    "plan": "DURATION",
    "type": COMMITMENT_TYPE,
    "resources":
    [
      {
        "amount": "COMMITTED_VCPUS",
        "type": "VCPU"
      },
      {
        "amount": "COMMITTED_MEMORY",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "COMMITTED_ACCELERATOR_TYPE",
        "amount": "COMMITTED_ACCELERATOR_COUNT",
        "type": "ACCELERATOR"
      }
      {
        "amount": "COMMITTED_LOCAL_SSD",
        "type": "LOCAL_SSD"
      }
    ],
    "reservations":
    [
      {
        "name": "RESERVATION_NAME",
        "specificReservation":
        {
          "count": "NUMBER_OF_RESERVED_VMS",
          "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME"
        },
        "specificReservationRequired": REQUIRE_SPECIFIC_RESERVATION_VALUE",
        "zone": "RESERVED_ZONE",
        "shareSettings":
        {
          "shareType": "SPECIFIC_PROJECTS",
          "projectMap":
          {
            "CONSUMER_PROJECT_ID_1":
            {
              "projectId": "CONSUMER_PROJECT_ID_1"
            },
            "CONSUMER_PROJECT_ID_2":
            {
              "projectId": "CONSUMER_PROJECT_ID_2"
            }
          }
        }
      }
    ]
    }
    
    

Ersetzen Sie Folgendes durch die entsprechenden Attribute der Zusicherung und der angehängten Reservierungen:

Verpflichtung

  • COMMITMENT_NAME: Name der Zusicherung
  • REGION: die Region, in der sich die Zusicherung befindet
  • PROJECT_ID: die ID des Projekts, in dem Sie die Zusicherung mit den angehängten Reservierungen erwerben möchten.
  • DURATION: Laufzeit der Zusicherung, entweder TWELVE_MONTH oder THIRTY_SIX_MONTH.
  • COMMITMENT_TYPE: Die Zusicherungsart. Die folgenden Zusicherungstypen bieten Optionen für GPUs, lokale SSD-Laufwerke oder beides:

    • ACCELERATOR_OPTIMIZED für Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED für C2-Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED_C2D für C2D-Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED_C3 für C3-Maschinentyp-Ressourcen
    • COMPUTE_OPTIMIZED_C3D für C3D-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE für N1-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_E2 für E2-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_N2 für N2-Maschinentyp-Ressourcen
    • GENERAL_PURPOSE_N2D für N2D-Maschinenressourcen
    • GENERAL_PURPOSE_T2D für Tau-T2D-Maschinentyp-Ressourcen
    • GRAPHICS_OPTIMIZED für G2-Maschinentypen-Ressourcen
    • MEMORY_OPTIMIZED für M1- oder M2-Maschinentyp-Ressourcen
    • MEMORY_OPTIMIZED_M3 für speicheroptimierte M3-Maschinentypen
  • COMMITTED_VCPUS: die Anzahl der vCPUs, die Sie in Ihrer Zusicherung verwenden möchten. Diese Zahl muss eine positive ganze Zahl sein.

  • COMMITTED_MEMORY: die Arbeitsspeichermenge in MB, die Sie in Ihrer Zusicherung verwenden möchten. Beispiel: 10240MB. Sie können Arbeitsspeicher in Schritten von 256 MB erwerben.

  • COMMITTED_LOCAL_SSD: die Menge des lokalen SSD-Speichers in GB, den Sie in Ihrer Zusicherung benötigen. Jede lokale SSD ist 375 GB groß.

  • COMMITTED_ACCELERATOR_COUNT: Die Anzahl der GPUs, die Sie in Ihrer Zusicherung verwenden möchten.

  • COMMITTED_ACCELERATOR_TYPE: der GPU-Typ, den Sie in Ihrer Zusicherung verwenden möchten.

Angehängte Reservierungen

  • RESERVATION_NAME: der Name der angehängten Reservierung
  • RESERVATION_ZONE: die Zone der angehängten Reservierung
  • REQUIRE_SPECIFIC_RESERVATION_VALUE: gibt an, ob die angehängte Reservierung eine speziell ausgewählte Reservierung ist. Entweder true oder false. Weitere Informationen zu speziell ausgerichteten Reservierungen finden Sie unter Funktionsweise von Reservierungen.
  • NUMBER_OF_RESERVED_VMS: die Anzahl der VMs, die Sie in der angehängten Reservierung reservieren möchten
  • RESERVED_MACHINE_TYPE: der Maschinentyp, den Sie für die VMs in Ihrer angehängten Reservierung verwenden möchten

    • Verwenden Sie für vordefinierte Maschinentypen das Format MACHINE_FAMILY-standard-CPUS, z. B. n2-standard-4.
    • Verwenden Sie für benutzerdefinierte Maschinentypen das Format MACHINE_FAMILY-custom-CPUS-MEMORY, z. B. n2-custom-4-5120. Eine vollständige Liste der Einschränkungen finden Sie in den Spezifikationen für benutzerdefinierte Maschinentypen.

      Ersetzen Sie Folgendes:

      • MACHINE_FAMILY: die Maschinentypfamilie. Geben Sie beispielsweise für N2-VMs n2 an.
      • CPUS: die Anzahl der vCPUs.
      • MEMORY: der gesamte Arbeitsspeicher für eine reservierte VM. Der Arbeitsspeicher muss ein Vielfaches von 256 MB sein und in MB angegeben werden. Verwenden Sie n2-custom-4-5120, um eine N2-VM mit 4 vCPUs und 5 GB Arbeitsspeicher zu erstellen, die 5.120 MB entspricht.
  • RESERVED_ACCELERATOR_COUNT: die Anzahl der GPUs, die Sie pro VM in der angehängten Reservierung hinzufügen möchten

  • RESERVED_ACCELERATOR_TYPE: der Beschleunigertyp, den Sie in der angehängten Reservierung hinzufügen möchten.

  • INTERFACE_1 und INTERFACE_2: der Schnittstellentyp, den die lokalen SSD-Laufwerke für jede reservierte VM verwenden sollen. Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter localSsds für jedes lokale SSD-Laufwerk, das Sie hinzufügen möchten. Sie können bis zu 24 lokale SSD-Laufwerke angeben.

  • MINIMUM_CPU_PLATFORM: die Mindest-CPU-Plattform, die Sie für die angehängte Reservierung angeben möchten.

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage, die Sie zum Erstellen der angehängten Reservierung verwenden möchten.

  • SHARE_SETTING: die Art der Freigabe für die angehängte Reservierung. Geben Sie dieses Feld mit dem Wert SPECIFIC_PROJECTS an, wenn Sie Ihre angehängte Reservierung auf mehrere Nutzerprojekte aufteilen möchten. Schließen Sie dieses Feld aus, wenn Sie eine Reservierung für ein einzelnes Projekt erstellen möchten.

  • CONSUMER_PROJECT_ID_1 und CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekte, die diese Reservierung gemeinsam nutzen können, z. B. project-1 und 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 die ID des Projekts an, in dem Sie diese Reservierung erstellen, da dieses Projekt diese Reservierung standardmäßig nutzen darf. Schließen Sie diese Felder aus, wenn Sie eine Reservierung für ein einzelnes Projekt erstellen möchten.

Compute Engine erstellt die Zusicherung mit den verbundenen Reservierungen nur, wenn genügend Ressourcen des angegebenen Maschinentyps in der Zielzone und ausreichend Kontingente zum Zeitpunkt der Anfrage vorhanden sind. Wenn Ihr Kauf erfolgreich war, gibt Compute Engine den Status 200 für Ihre REST API-Anfrage zurück.

Beispiele für den Kauf von Zusicherungen durch das Erstellen neuer Reservierungen, die angehängt werden sollen

Die folgenden Beispielszenarien und -befehle zeigen, wie Sie eine Zusicherung für GPUs, lokale SSD-Laufwerke oder beides erwerben können, indem Sie neue Reservierungen erstellen, die an diese Zusicherung angehängt werden.

Beispiel 1: Eine Zusicherung für GPUs durch Anhängen einer einzelnen neuen Reservierung erwerben

Angenommen, Sie möchten eine Zusicherung commitment-01 in der Region us-central1 erwerben, die 4 NVIDIA V100-GPUs enthält. Sie möchten eine neue Reservierung reservation-01 als angehängte Reservierung für diese GPUs erstellen. Angenommen, Sie möchten außerdem Compute Engine so einstellen, dass diese reservierten GPUs auf zwei n1-standard-8-VMs in der Zone us-central1-a verwendet werden. Stellen Sie die folgende POST-Anfrage, um diese Beispielzusicherung mit der angehängten Reservierung zu erwerben:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-01",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE"
  "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"
    }
  ]
}

Beispiel 2: Zusicherung von GPUs erwerben, ohne Zusicherung von vCPUs oder Arbeitsspeicher

Wenn Sie die Nutzung von GPUs und lokalen SSD-Laufwerken zusichern möchten, nicht aber die von vCPUs oder Arbeitsspeicher, geben Sie 0 als Wert für die vCPU- und Arbeitsspeichermengen an. Angenommen, Sie möchten eine Zusicherung commitment-02 für eine einzelne NVIDIA P4-GPU in der Region us-west2 erwerben. Sie möchten auch eine neue Reservierung als angehängte Reservierung erstellen und Compute Engine auffordern, die reservierte GPU auf einer n1-standard-2-VM in der Zone us-west2-b zu verwenden. Stellen Sie die folgende POST-Anfrage, um diese Beispielzusicherung mit der angehängten Reservierung zu erwerben:

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west2/commitments

{
  "name": "commitment-02",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "0",
      "type": "VCPU"
    },
    {
      "amount": "0",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-p4",
      "amount": "4",
      "type": "ACCELERATOR"
    }
  ],
  "reservations":
  [
    {
      "name": "reservation-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 4,
              "acceleratorType": "nvidia-tesla-p4"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-west2-b"
    }
  ]
}

Beispiel 3: Eine Zusicherung für GPUs und lokale SSD-Laufwerke erwerben, indem Sie mehrere neue Reservierungen anhängen

Angenommen, Sie möchten eine Zusicherung commitment-03 für 1 NVIDIA V 100-GPU und 2 lokale SSD-Laufwerke in der Region us-central1 erwerben. Sie möchten auch zwei Reservierungen in der Zone us-central1-a erstellen und anhängen. In der ersten Reservierung res-01 möchten Sie 1 VM vom Typ n1-standard-2 mit 1 GPU reservieren. Sie möchten res-01 zu einer Zielreservierung machen. Das bedeutet, dass Sie diese Reservierung ausdrücklich namentlich dafür auswählen müssen, ihre reservierten VMs zu verwenden. In der zweiten Reservierung res-02 möchten Sie 1 n1-standard-8-VM mit 2 Arten von angehängten lokalen SSD-Laufwerken reservieren. Stellen Sie die folgende POST-Anfrage, um diese Beispielzusicherung mit den angehängten Reservierungen zu erwerben. Beachten Sie, dass die Beispielzusicherung auch vCPU- und Arbeitsspeicherressourcen enthält.

POST https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-central1/commitments

{
  "name": "commitment-03",
  "plan": "TWELVE_MONTH",
  "type": "GENERAL_PURPOSE",
  "resources":
  [
    {
      "amount": "96",
      "type": "VCPU"
    },
    {
      "amount": "638976",
      "type": "MEMORY"
    },
    {
      "acceleratorType": "nvidia-tesla-v100",
      "amount": "1",
      "type": "ACCELERATOR"
    },
    {
      "amount": "768000",
      "type": "LOCAL_SSD"
    }
  ],
  "reservations":
  [
    {
      "name": "res-01",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": 1,
              "acceleratorType": "nvidia-tesla-v100"
            }
          ],
          "machineType": "n1-standard-2"
        }
      },
      "specificReservationRequired": true,
      "zone": "us-central1-a"
    },
    {
      "name": "res-02",
      "specificReservation":
      {
        "count": "1",
        "instanceProperties":
        {
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "SCSI"
            },
            {
              "diskSizeGb": "375",
              "interface": "NVME"
            }
          ]
          "machineType": "n1-standard-8"
        }
      },
      "specificReservationRequired": false,
      "zone": "us-central1-a"
    }
  ]
}

Reservierungen ändern, die mit Zusicherungen verbunden sind

Ersetzen Sie die vorhandenen verbundenen Reservierungen Ihrer Zusicherung durch neue, wenn Sie die Typen und Anzahl der VMs ändern möchten, die Ihre zugesicherten Ressourcen verwenden.

Zulässige Änderungen

Wenn Sie die vorhandene verbundene Reservierung einer Zusicherung durch eine neue Reservierung ersetzen, können Sie eine der folgenden Änderungen anfordern:

  • Sie können VMs von einem anderen Maschinentyp reservieren. Sie müssen jedoch weiterhin VMs aus derselben Maschinenreihe reservieren, um weiterhin CUDs für Ihre reservierten Ressourcen zu erhalten.
  • Sie können die Anzahl der VMs, die Sie reservieren möchten, ändern.
  • Sie können die Anzahl der GPUs und lokalen SSD-Laufwerke, die pro VM angehängt werden, ändern, solange die Gesamtzahl der reservierten GPUs und lokalen SSD-Laufwerke gleich bleibt.
  • Sie können die ersetzten Reservierungen als lokale oder freigegebene Reservierungen festlegen.

Voraussetzungen

Wenn Sie die angehängte Reservierung Ihrer Zusicherung durch eine neue ersetzen, muss Ihre Anfrage alle folgenden Anforderungen erfüllen:

  • Sie können jeweils nur eine angehängte Reservierung durch genau eine neue angehängte Reservierung ersetzen. Wenn Sie eine verbundene Reservierung ersetzen möchten, entfernen Sie gleichzeitig eine vorhandene verbundene Reservierung. Setzen Sie dazu die VM-Anzahl auf 0 und definieren Sie eine neue angehängte Reservierung, die Sie ersetzen möchten.
  • Die neue Reservierung muss sich im selben Projekt wie die Zusicherung befinden.
  • Die neue Reservierung muss sich in derselben Zone wie die entfernte Reservierung befinden.
  • Die Anzahl und die Typen der GPUs in der neuen Reservierung müssen mit der entfernten Reservierung übereinstimmen.
  • Die Anzahl und Typen der lokalen SSD-Laufwerke, die in der neuen Reservierung angegeben sind, müssen mit der entfernten Reservierung übereinstimmen.
  • Sie können nur bis zu 100 VMs pro Anfrage ändern. Wenn Sie eine Änderung vornehmen möchten, die mehr als 100 VMs umfasst, teilen Sie die Änderung in mehrere kleinere Anfragen auf oder wenden Sie sich an den Google Cloud-Support.

Ihre Anfrage zum Ersetzen einer Reservierung hängt auch von der zu diesem Zeitpunkt verfügbaren Kapazität ab. Wenn die Kapazität für eine Anfrage nicht verfügbar ist, schlägt die Anfrage fehl und gibt einen Ressourcenverfügbarkeitsfehler zurück, den Sie durch Ändern oder Verschieben der Anfrage beheben können. Weitere Informationen finden Sie in der Dokumentation zur Fehlerbehebung: Ressourcenverfügbarkeit.

Wenn Ihre Anfrage zum Ersetzen einer verbundenen Reservierung fehlschlägt, bleiben die angehängte Reservierung und die vorhandenen reservierten Ressourcen unverändert. Um Ihre Kapazität beizubehalten, warten Sie, bis die entsprechenden Änderungen an den VMs vorgenommen wurden, bis die Anfrage zum Ersetzen einer Reservierung erfolgreich ist.

Schritte zum Ersetzen einer angehängten Reservierung

Sie können die Reservierungen einer Zusicherung über die Google Cloud CLI oder REST ersetzen.

gcloud

So ersetzen Sie Reservierungen, die an Zusicherungen angehängt sind:

  1. Erstellen Sie im aktuellen Verzeichnis eine YAML-Datei mit den Konfigurationen der folgenden angehängten Reservierungen:

    • Die aktuelle Reservierung, die Sie ersetzen möchten.

      Informationen zum Abrufen der Reservierung finden Sie unter Details einer Reservierung ansehen.

    • Die neue Ersatzreservierung.

    Der Inhalt der YAML-Datei sieht in etwa so aus:

    - reservation: CURRENT_RESERVATION_NAME
      reservation_zone: CURRENT_RESERVATION_ZONE
      vm_count: 0
      machine_type: CURRENT_RESERVATION_MACHINE_TYPE
      accelerator:
      - count: CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS
        type: CURRENT_RESERVATION_ACCELERATOR_TYPE
      localssd:
      - interface: CURRENT_RESERVATION_INTERFACE_1
        size: 375
      - interface: CURRENT_RESERVATION_INTERFACE_2
        size: 375
      project: CURRENT_RESERVATION_PROJECT_ID
      share-setting: CURRENT_RESERVATION_SHARE_SETTING
      share-with:
      - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1
      - CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2
    - reservation: REPLACEMENT_RESERVATION_NAME
      reservation_zone: REPLACEMENT_RESERVATION_ZONE
      vm_count: REPLACEMENT_RESERVATION_NUMBER_OF_VMs
      machine_type: REPLACEMENT_RESERVATION_MACHINE_TYPE
      accelerator:
      - count: REPLACEMENT_RESERVATION_ACCELERATOR_COUNT
        type: REPLACEMENT_RESERVATION_ACCELERATOR_TYPE
      localssd:
      - interface: REPLACEMENT_RESERVATION_INTERFACE_1
        size: 375
      - interface: REPLACEMENT_RESERVATION_INTERFACE_2
        size: 375
      project: REPLACEMENT_RESERVATION_PROJECT_ID
      share-setting: REPLACEMENT_RESERVATION_SHARE_SETTING
      share-with:
      - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1
      - REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2
    
    

    Ersetzen Sie Folgendes durch die entsprechenden Attribute der aktuellen und der Ersatzreservierung:

    Momentane Reservierung

    Für die aktuelle Reservierung müssen alle folgenden Attribute genau mit der Reservierung übereinstimmen. Lassen Sie die Felder für alle Attribute weg, die die aktuelle Reservierung noch nicht hat.

    • CURRENT_RESERVATION_NAME: der Name der aktuell angehängten Reservierung
    • CURRENT_RESERVATION_ZONE: die Zone der aktuell angehängten Reservierung
    • CURRENT_RESERVATION_MACHINE_TYPE: der Maschinentyp der aktuell angehängten Reservierung
    • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die in der aktuell verbundenen Reservierung reserviert sind
    • CURRENT_RESERVATION_ACCELERATOR_TYPE: der Typ des Beschleunigers, der in der aktuell angehängten Reservierung reserviert ist
    • CURRENT_RESERVATION_INTERFACE_1 und CURRENT_RESERVATION_INTERFACE_2: der Schnittstellentyp, den die lokalen SSDs für jede reservierte VM in der aktuell angehängten Reservierung verwenden Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter local_ssd für alle reservierten lokalen SSD-Laufwerke.
    • CURRENT_RESERVATION_PROJECT_ID: die ID des aktuellen Projekts, das die Zusicherung und die angehängte Reservierung enthält Geben Sie dieses Feld an, wenn Ihre aktuell angehängte Reservierung von mehreren Nutzerprojekten gemeinsam genutzt wird.
    • CURRENT_RESERVATION_SHARE_SETTING: die Art der Freigabe für die aktuelle Reservierung Geben Sie dieses Feld mit dem Wert projects an, wenn Ihre aktuell angehängte Reservierung von mehreren Nutzerprojekten gemeinsam genutzt wird.
    • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 und CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekte, für die Sie die aktuell angehängte Reservierung freigeben, z. B. project-1 und project-2

    Ersatzreservierung

    Legen Sie für die Ersatzreservierung nach Bedarf die folgenden Attribute fest. Achten Sie darauf, dass Sie alle Anforderungen erfüllen, wenn Sie diese Attribute angeben. Lassen Sie alle zusätzlichen Felder , die Sie nicht verwenden möchten, weg.

    • REPLACEMENT_RESERVATION_NAME: der Name der neuen Ersatzreservierung
    • REPLACEMENT_RESERVATION_ZONE: die Zone der neuen Ersatzreservierung
    • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: die Anzahl der VMs, die Sie in der neuen Ersatzreservierung reservieren möchten
    • REPLACEMENT_RESERVATION_MACHINE_TYPE: der Maschinentyp, den Sie für die VMs in Ihrer neuen Ersatzreservierung verwenden möchten

      • Verwenden Sie für vordefinierte Maschinentypen das Format MACHINE_FAMILY-standard-CPUS, z. B. n2-standard-4.
      • Verwenden Sie für benutzerdefinierte Maschinentypen das Format MACHINE_FAMILY-custom-CPUS-MEMORY, z. B. n2-custom-4-5120. Eine vollständige Liste der Einschränkungen finden Sie in den Spezifikationen für benutzerdefinierte Maschinentypen.

      Ersetzen Sie Folgendes:

      • MACHINE_FAMILY: die Maschinentypfamilie. Geben Sie beispielsweise für N2-VMs n2 an.
      • CPUS: die Anzahl der vCPUs.
      • MEMORY: der gesamte Arbeitsspeicher für eine reservierte VM. Der Arbeitsspeicher muss ein Vielfaches von 256 MB sein und in MB angegeben werden. Verwenden Sie zum Beispiel n2-custom-4-5120, um eine N2-VM mit 4 vCPUs und 5 GB Arbeitsspeicher zu erstellen, die 5.120 MB entspricht.
    • REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die Sie pro VM in der Ersatzreservierung hinzufügen möchten

    • REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: der Beschleunigertyp, den Sie der Ersatzreservierung hinzufügen möchten

    • REPLACEMENT_RESERVATION_INTERFACE_1 und REPLACEMENT_RESERVATION_INTERFACE_2: der Schnittstellentyp, den die lokalen SSD-Laufwerke für jede reservierte VM verwenden sollen. Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter local_ssd für jedes lokale SSD-Laufwerk, das Sie hinzufügen möchten. Sie können bis zu 24 lokale SSD-Laufwerke angeben.

    • REPLACEMENT_RESERVATION_PROJECT_ID: die ID des aktuellen Projekts, das die Zusicherung und die angehängte Reservierung enthält Geben Sie dieses Feld an, wenn Sie die Ersatzreservierung auf mehrere Nutzerprojekte aufteilen möchten.

    • REPLACEMENT_RESERVATION_SHARE_SETTING: die Art der Freigabe für die Ersatzreservierung Geben Sie dieses Feld mit dem Wert projects an, wenn Sie Ihre Ersatzreservierung auf mehrere Nutzerprojekte aufteilen möchten.

    • REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 und REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekt, die diese Reservierung gemeinsam 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. Fügen Sie nicht das Feld REPLACEMENT_RESERVATION_PROJECT_ID ein. Es kann diese Reservierung bereits standardmäßig nutzen.

  2. Führen Sie den Befehl gcloud beta compute commitments update-reservations aus und geben Sie den Pfad zur YAML-Datei mit dem Flag --reservations-from-file an.

    gcloud beta compute commitments update-reservations COMMITMENT_NAME \
        --project= PROJECT_ID \
        --region= REGION \
        --reservations-from-file= YAML_FILE
    

    Ersetzen Sie Folgendes:

    • COMMITMENT_NAME: der Name der Zusicherung mit der angehängten Reservierung
    • PROJECT_ID: die Projekt-ID der Zusicherung mit der angehängten Reservierung
    • REGION: die Region, in der sich die Zusicherung befindet
    • YAML_FILE: der Pfad zur YAML-Datei, die die Konfiguration der aktuellen und Ersatzreservierungen enthält

Beispiel für das Ersetzen einer Reservierung, die an eine Nutzungszusicherung angehängt ist

Zur Veranschaulichung wird in diesem Abschnitt eine Beispielzusicherung mit einer angehängten Reservierung gezeigt und wie Sie die angehängte Beispielreservierung ersetzen.

Beispielzusicherung mit einer angehängten Reservierung

Angenommen, Sie möchten die angehängten Reservierungen für die Zusicherung my-commitment-with-reservations aktualisieren, die mit dem folgenden Befehl erworben wurden:

  gcloud beta compute commitments create my-commitment-with-reservations \
      --region=asia-east1 \
      --resources=vcpu=16,memory=60GB,local-ssd=3000GB \
      --resources-accelerator=type=nvidia-tesla-p100,count=4 \
      --plan=12-month \
      --type=general-purpose \
      --reservations-from-file=one-reservation.yaml

Wenn dieser Befehl in diesem Beispiel ausgeführt wurde, war one-reservation.yaml eine Datei im aktuellen Verzeichnis mit folgendem Inhalt, die eine angehängte Reservierung mit dem Namen res-1 definiert.

  - reservation: res-1
    reservation_zone: asia-east1-a
    vm_count: 4
    machine_type: n1-standard-4
    accelerator:
    - count: 1
      type: nvidia-tesla-p100
    local_ssd:
    - interface: scsi
      size: 375
    - interface: scsi
      size: 375

Diese my-commitment-with-reservations-Zusicherung und die zugehörige Reservierung res-1 führen zu den folgenden zugesicherten und reservierten Ressourcen:

Ressourcentyp Ressourcen in Zusicherung
(my-commitment-with-reservations)
Ressourcen in der aktuell angehängten Reservierung
(res-1)
Kombinationen aus vCPUs und Arbeitsspeicher 16 vCPUs und 60 GB 16 vCPUs und 60 GB
(4 reservierte n1-standard-4- VMs)*
GPUs 4 P100-GPUs 4 P100-GPUs
(1 P100-GPU pro VM, für 4 VMs)*
Lokale SSDs 3.000 GB oder 8 lokale SSD-Laufwerke 3.000 GB oder 8 lokale SSD-Laufwerke
(750 GB oder 2 lokale SSD-Laufwerke pro VM für 4 VMs)*

*In diesem Fall werden mit der angehängten Beispielreservierung res-1 4 n1-standard-4-VMs mit jeweils 1 P100-GPU und 2 lokalen SSDs des Schnittstellentyps scsi reserviert. Der Maschinentyp n1-standard-4 verwendet 4 vCPUs und 15 GB für jede VM.

Beispiel für angehängte Reservierung ersetzen

Angenommen, Sie möchten die angehängte Reservierung res-1 für die neue angehängte Reservierung res-2 ersetzen und die reservierten Ressourcen so ändern:

Ressourcentyp Ressourcen in Zusicherung
(my-commitment-with-reservations)
Ressourcen in der aktuell angehängten Reservierung
(res-1)
Ressourcen in angehängter Ersatzreservierung
(res-2)
Kombinationen aus vCPUs und Arbeitsspeicher 16 vCPUs und 60 GB 16 vCPUs und 60 GB
(4 reservierte n1-standard-4- VMs)*
16 vCPUs und 60 GB
(2 reservierte und freigegebene n1-standard-8-VMs)
GPUs 4 P100-GPUs 4 P100-GPUs
(1 P100-GPU pro VM für 4 VMs)*
4 P100-GPUs
(2 P100-GPUs pro VM für 2 VMs)
Lokale SSDs 3.000 GB oder 8 lokale SSD-Laufwerke 3.000 GB oder 8 lokale SSD-Laufwerke
(750 GB oder 2 lokale SSD-Laufwerke pro VM für 4 VMs)*
3.000 GB oder 8 lokale SSD-Laufwerke
(1.500 GB oder 4 lokale SSD-Laufwerke pro VM für 2 VMs)*

*In diesem Fall werden mit der angehängten Beispielreservierung res-1 4 n1-standard-4-VMs mit jeweils 1 P100-GPU und 2 lokalen SSDs des Schnittstellentyps scsi reserviert. Der Maschinentyp n1-standard-4 verwendet 4 vCPUs und 15 GB für jede VM.

Im Einzelnen definiert die angehängte Ersatzreservierung res-2, das 2 n1-standard-8-VMs mit jeweils 1 P100-GPU und 4 lokalen SSDs des Schnittstellentyps scsi. Darüber hinaus wird res-2 für zwei andere Projekte freigegeben, project-1 und project-2, die dem aktuellen Projekt my-project gehören. Der Maschinentyp n1-standard-8 verwendet 8 vCPUs und 30 GB für jede VM.

So ersetzen Sie die angehängte Reservierung res-1 durch res-2 für die Zusicherung my-commitment-with-reservations:

  1. Erstellen Sie im aktuellen Verzeichnis eine Datei mit dem Namen two-reservations.yaml, die folgenden Inhalt enthält:

    - reservation: res-1
      reservation_zone: asia-east1-a
      vm_count: 0
      machine_type: n1-standard-4
      accelerator:
      - count: 1
        type: nvidia-tesla-p100
      local_ssd:
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
    - reservation: res-2
      reservation_zone: asia-east1-a
      vm_count: 2
      machine_type: n1-standard-8
      accelerator:
      - count: 2
        type: nvidia-tesla-p100
      project: my-project
      share-setting: projects
      share-with:
      - project-1
      - project-2
      local_ssd:
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
      - interface: scsi
        size: 375
    
  2. Führen Sie dazu diesen Befehl aus:

    gcloud beta compute commitments update-reservations my-commitment-with-reservations \
        --region=asia-east1-a \
        --reservations-from-file=two-reservations.yaml
    

REST

Wenn Sie Reservierungen ersetzen möchten, die an Zusicherungen angehängt sind, stellen Sie eine POST-Anfrage mit der Methode regionCommitments.updateReservations.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/COMMITMENT_ZONE/commitments/COMMITMENT_NAME/updateReservations

{
  "reservations":
  [
    {
      "name": "REPLACEMENT_RESERVATION_NAME",
      "specificReservation":
      {
        "count": "REPLACEMENT_RESERVATION_NUMBER_OF_VMS",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": "REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS",
              "acceleratorType": "REPLACEMENT_RESERVATION_ACCELERATOR_TYPE"
            }
          ],
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "REPLACEMENT_RESERVATION_INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "REPLACEMENT_RESERVATION_INTERFACE_2"
            }
          ],
          "machineType": "REPLACEMENT_RESERVATION_MACHINE_TYPE"

        }
      },
      "zone": "REPLACEMENT_RESERVATION_ZONE",
      "shareSettings":
      {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap":
        {
          "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1":
          {
            "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1"
          },
          "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2":
          {
            "projectId": "REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2"
          }
         }
      }
    },
    {
      "name": "CURRENT_RESERVATION_NAME",
      "specificReservation":
      {
        "count": "0",
        "instanceProperties":
        {
          "guestAccelerators":
          [
            {
              "acceleratorCount": "CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS",
              "acceleratorType": "CURRENT_RESERVATION_ACCELERATOR_TYPE"
            }
          ],
          "localSsds":
          [
            {
              "diskSizeGb": "375",
              "interface": "CURRENT_RESERVATION_INTERFACE_1"
            },
            {
              "diskSizeGb": "375",
              "interface": "CURRENT_RESERVATION_INTERFACE_2"
            }
          ],
          "machineType": "CURRENT_RESERVATION_MACHINE_TYPE"

        }
      },
      "zone": "CURRENT_RESERVATION_ZONE",
      "shareSettings":
      {
        "shareType": "SPECIFIC_PROJECTS",
        "projectMap":
        {
          "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1":
          {
            "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1"
          },
          "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2":
          {
            "projectId": "CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2"
          }
         }
      }
    }
  ]
}

Ersetzen Sie Folgendes durch die entsprechenden Attribute der Zusicherung, der aktuellen Reservierung und der Ersatzreservierung:

Verpflichtung

  • COMMITMENT_NAME: der Name der Zusicherung mit der angehängten Reservierung
  • PROJECT_ID: die Projekt-ID der Zusicherung mit der angehängten Reservierung Dies ist auch die Projekt-ID für die aktuellen und angehängten Reservierungen.
  • COMMITMENT_ZONE: die Zone der Zusicherung mit der angehängten Reservierung

Momentane Reservierung

Für die aktuelle Reservierung müssen alle folgenden Attribute genau mit denen beim Aufrufen der Reservierung übereinstimmen. Lassen Sie die Felder für alle Attribute weg, die die aktuelle Reservierung nicht bereits angibt.

  • CURRENT_RESERVATION_NAME: der Name der aktuellen verbundenen Reservierung
  • CURRENT_RESERVATION_ZONE: die Zone der aktuell angehängten Reservierung
  • CURRENT_RESERVATION_MACHINE_TYPE: der Maschinentyp der aktuell angehängten Reservierung
  • CURRENT_RESERVATION_NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die in der aktuell angehängten Reservierung reserviert sind
  • CURRENT_RESERVATION_ACCELERATOR_TYPE: der Typ des Beschleunigers, der in der aktuell angehängten Reservierung reserviert ist
  • CURRENT_RESERVATION_INTERFACE_1 und CURRENT_RESERVATION_INTERFACE_2: der Schnittstellentyp, den die lokalen SSDs für jede reservierte VM in der aktuell angehängten Reservierung verwenden Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter localSsds für alle reservierten lokalen SSD-Laufwerke.
  • CURRENT_RESERVATION_SHARE_SETTING: die Art der Freigabe für die aktuelle Reservierung Geben Sie dieses diesen Parameter mit dem Wert projects an, wenn Ihre aktuell angehängte Reservierung von mehreren Nutzerprojekten gemeinsam genutzt wird.
  • CURRENT_RESERVATION_CONSUMER_PROJECT_ID_1 und CURRENT_RESERVATION_CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekte, für die Sie die aktuell angehängte Reservierung freigeben, z. B. project-1 und project-2

Ersatzreservierung

Legen Sie für die Ersatzreservierung nach Bedarf die folgenden Attribute fest. Achten Sie darauf, dass Sie alle Anforderungen erfüllen, wenn Sie diese Attribute angeben. Lassen Sie alle zusätzlichen Felder , die Sie nicht verwenden möchten, weg.

  • REPLACEMENT_RESERVATION_NAME: der Name der neuen Ersatzreservierung
  • REPLACEMENT_RESERVATION_ZONE: die Zone der neuen Ersatzreservierung
  • REPLACEMENT_RESERVATION_NUMBER_OF_VMS: die Anzahl der VMs, die Sie in der neuen Ersatzreservierung reservieren möchten
  • REPLACEMENT_RESERVATION_MACHINE_TYPE: der Maschinentyp, den Sie für die VMs in Ihrer neuen Ersatzreservierung verwenden möchten

    • Verwenden Sie für vordefinierte Maschinentypen das Format MACHINE_FAMILY-standard-CPUS, z. B. n2-standard-4.
    • Verwenden Sie für benutzerdefinierte Maschinentypen das Format MACHINE_FAMILY-custom-CPUS-MEMORY, z. B. n2-custom-4-5120. Eine vollständige Liste der Einschränkungen finden Sie in den Spezifikationen für benutzerdefinierte Maschinentypen.

    Ersetzen Sie Folgendes:

    • MACHINE_FAMILY: die Maschinentypfamilie. Geben Sie beispielsweise für N2-VMs n2 an.
    • 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. Verwenden Sie n2-custom-4-5120, um eine N2-VM mit 4 vCPUs und 5 GB Arbeitsspeicher zu erstellen, die 5.120 MB entspricht.
  • REPLACEMENT_RESERVATION_NUMBER_OF_ACCELERATORS: die Anzahl der GPUs, die Sie pro VM in der Ersatzreservierung hinzufügen möchten

  • REPLACEMENT_RESERVATION_ACCELERATOR_TYPE: der Beschleunigertyp, den Sie der Ersatzreservierung hinzufügen möchten

  • REPLACEMENT_RESERVATION_INTERFACE_1 und REPLACEMENT_RESERVATION_INTERFACE_2: der Schnittstellentyp, den die lokalen SSD-Laufwerke für jede reservierte VM verwenden sollen. Gültige Optionen sind: scsi und nvme. Jede lokale SSD ist 375 GB groß. Wiederholen Sie den Parameter localSsds für jedes lokale SSD-Laufwerk, das Sie hinzufügen möchten. Sie können bis zu 24 lokale SSD-Laufwerke angeben.

  • REPLACEMENT_RESERVATION_SHARE_SETTING: die Art der Freigabe für die Ersatzreservierung Geben Sie diesen Parameter mit dem Wert projects an, wenn Sie Ihre Ersatzreservierung auf mehrere Nutzerprojekte aufteilen möchten.

  • REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_1 und REPLACEMENT_RESERVATION_CONSUMER_PROJECT_ID_2: die Projekt-IDs der Projekt, die diese Reservierung gemeinsam 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. Fügen Sie nicht das Feld PROJECT_ID ein. Es kann diese Reservierung bereits standardmäßig nutzen.

Beispiel für das Ersetzen einer Reservierung, die an eine Nutzungszusicherung angehängt ist

Zur Veranschaulichung wird in diesem Abschnitt eine Beispielzusicherung mit einer angehängten Reservierung gezeigt und wie Sie die angehängte Beispielreservierung ersetzen.

Beispielzusicherung mit angehängter Reservierung

Angenommen, Sie möchten die angehänngte Reservierung res-1 für die Zusicherung my-commitment-with-reservations ersetzen, die erworben wurde, indem Sie die folgende POST-Anfrage stellen:

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

  {
    "name": "my-commitment-with-reservations",
    "plan": "TWELVE_MONTH",
    "reservations":
    [
      {
        "name": "res-1",
        "specificReservation":
        {
          "count": "4",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": "1",
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-4"
          }
        },
        "zone": "asia-east1-a"
      }
    ],
    "resources":
    [
      {
        "amount": "16",
        "type": "VCPU"
      },
      {
        "amount": "61440",
        "type": "MEMORY"
      },
      {
        "acceleratorType": "nvidia-tesla-p100",
        "amount": "4",
        "type": "ACCELERATOR"
      }
      {
        "amount": "3072000",
        "type": "LOCAL_SSD"
      }
    ],
    "type": "GENERAL_PURPOSE"
  }

Diese my-commitment-with-reservations-Zusicherung und die zugehörige Reservierung res-1 führen zu den folgenden zugesicherten und reservierten Ressourcen:

Ressourcentyp Ressourcen in Zusicherung
(my-commitment-with-reservations)
Ressourcen in der aktuell angehängten Reservierung
(res-1)
Kombinationen aus vCPUs und Arbeitsspeicher 16 vCPUs und 60 GB 16 vCPUs und 60 GB
(4 reservierte n1-standard-4- VMs)*
GPUs 4 P100-GPUs 4 P100-GPUs
(1 P100-GPU pro VM, für 4 VMs)*
Lokale SSDs 3.000 GB oder 8 lokale SSD-Laufwerke 3.000 GB oder 8 lokale SSD-Laufwerke
(750 GB oder 2 lokale SSD-Laufwerke pro VM für 4 VMs)*

*In diesem Fall werden mit der angehängten Beispielreservierung res-1 4 n1-standard-4-VMs mit jeweils 1 P100-GPU und 2 lokalen SSD-Laufwerken des Schnittstellentyps scsi reserviert. Der Maschinentyp n1-standard-4 verwendet 4 vCPUs und 15 GB für jede VM.

Beispiel für angehängte Reservierung ersetzen

Angenommen, Sie möchten die angehängte Reservierung res-1 für die neue angehängte Reservierung res-2 ersetzen und die reservierten Ressourcen so ändern:

Ressourcentyp Ressourcen in Zusicherung
(my-commitment-with-reservations)
Ressourcen in der aktuell angehängten Reservierung
(res-1)
Ressourcen in angehängter Ersatzreservierung
(res-2)
Kombinationen aus vCPUs und Arbeitsspeicher 16 vCPUs und 60 GB 16 vCPUs und 60 GB
(4 reservierte n1-standard-4- VMs)*
16 vCPUs und 60 GB
(2 reservierte und freigegebene n1-standard-8-VMs)
GPUs 4 P100-GPUs 4 P100-GPUs
(1 P100-GPU pro VM für 4 VMs)*
4 P100-GPUs
(2 P100-GPUs pro VM für 2 VMs)
Lokale SSDs 3.000 GB oder 8 lokale SSD-Laufwerke 3.000 GB oder 8 lokale SSD-Laufwerke
(750 GB oder 2 lokale SSD-Laufwerke pro VM für 4 VMs)*
3.000 GB oder 8 lokale SSD-Laufwerke
(1.500 GB oder 4 lokale SSD-Laufwerke pro VM für 2 VMs)*

*In diesem Fall werden mit der angehängten Beispielreservierung res-1 4 n1-standard-4-VMs mit jeweils 1 P100-GPU und 2 lokalen SSDs des Schnittstellentyps scsi reserviert. Der Maschinentyp n1-standard-4 verwendet 4 vCPUs und 15 GB für jede VM.

Im Einzelnen definiert die angehängte Ersatzreservierung res-2, das 2 n1-standard-8-VMs mit jeweils 1 P100-GPU und 4 lokalen SSDs des Schnittstellentyps scsi. Darüber hinaus wird res-2 für zwei andere Projekte freigegeben, project-1 und project-2, die dem aktuellen Projekt my-project gehören. Der Maschinentyp n1-standard-8 verwendet 8 vCPUs und 30 GB für jede VM.

Wenn Sie die angehängte Reservierung res-1 durch res-2 für die Zusicherung my-commitment-with-reservations ersetzen möchten, stellen Sie die folgende POST-Anfrage mit der Methode regionCommitments.updateReservations:

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

  {
    "reservations":
    [
      {
        "name": "res-2",
        "specificReservation":
        {
          "count": "2",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": 2,
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-8"
          }
        },
        "zone": "asia-east1-a"
      },
      {
        "name": "res-1",
        "specificReservation":
        {
          "count": "0",
          "instanceProperties":
          {
            "guestAccelerators":
            [
              {
                "acceleratorCount": 1,
                "acceleratorType": "nvidia-tesla-p100"
              }
            ],
            "localSsds":
            [
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              },
              {
                "diskSizeGb": "375",
                "interface": "scsi"
              }
            ],
            "machineType": "n1-standard-4"
          }
        },
        "zone": "asia-east1-a"
      }
    ]
  }

Nächste Schritte