Flex-Start-VM erstellen

In diesem Dokument wird beschrieben, wie Sie eine VM-Instanz mit flexiblem Start erstellen. Flex-Start-VMs werden bis zu sieben Tage lang ausgeführt und helfen Ihnen, stark nachgefragte Ressourcen wie GPUs zu einem reduzierten Preis zu erwerben. Diese Funktionen machen Flex-Start-VMs zu einer kostengünstigen Lösung für die Ausführung von Arbeitslasten mit kurzer Laufzeit, z. B. Modellabstimmung und Batch-Inferenz.

Weitere Informationen zu den wichtigsten Merkmalen von Flex-Start-VMs, einschließlich der Anforderungen und Einschränkungen, die beim Erstellen gelten, finden Sie unter Flex-Start-VMs.

Hinweise

  • Sehen Sie sich je nach Maschinentyp, den Sie verwenden möchten, eine der folgenden Konfigurationsanforderungen an:

  • 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. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    2. Set a default region and zone.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie für die Erstellung von Flex-Start-VMs benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen von Flex-Start-VMs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen von VMs mit flexiblem Start erforderlich:

  • compute.instances.create für das Projekt
  • Zum Erstellen der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
  • Zum Erstellen der VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
  • Zum Erstellen der VM mit einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
  • Zum Angeben eines Subnetzes für Ihre VM: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
  • Zum Festlegen einer statischen IP-Adresse für die VM: compute.addresses.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
  • Zum Zuweisen eines Legacy-Netzwerks zur VM: compute.networks.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein Legacy-Netzwerk verwenden: compute.networks.useExternalIp für das Projekt
  • Zum Festlegen von Metadaten der VM-Instanz für die VM: compute.instances.setMetadata für das Projekt
  • Zum Festlegen von Tags für die VM: compute.instances.setTags für die VM
  • Zum Festlegen von Labels für die VM: compute.instances.setLabels für die VM
  • Zum Festlegen eines Dienstkontos für die VM: compute.instances.setServiceAccount für die VM
  • Zum Erstellen eines neuen Laufwerks für die VM: compute.disks.create für das Projekt
  • Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus: compute.disks.use für das Laufwerk
  • Zum Anhängen eines vorhandenen Laufwerks im Lesemodus: compute.disks.useReadOnly für das Laufwerk

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Flex-Start-VM erstellen

Wählen Sie eine der folgenden Optionen aus, um eine Flex-Start-VM zu erstellen:

Console

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

    Zur Seite „Instanz erstellen“

  2. Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:

    1. Geben Sie im Feld Name einen Namen für die Flex-Start-VM ein.

    2. Geben Sie die Region und Zone an, in der Sie die VM erstellen möchten. Unter Verfügbare Regionen und Zonen können Sie nachsehen, in welchen Regionen und Zonen der gewünschte Maschinentyp verfügbar ist.

    3. Geben Sie je nach der Arbeitslast, die Sie ausführen möchten, einen Maschinentyp an:

      • So geben Sie einen beschleunigungsoptimierten Maschinentyp an:

        1. Klicken Sie auf den Tab GPUs.

        2. Wählen Sie in der Liste GPU-Typ einen GPU-Typ aus, mit Ausnahme von NVIDIA GB200 192 GB (A4X) und NVIDIA RTX PRO 600 (G4).

        3. Wählen Sie in der Liste Anzahl der GPUs die Anzahl der GPUs aus, die an Ihre VM angehängt werden sollen.

        4. Optional: Wenn Ihr GPU-Modell NVIDIA RTX Virtual Workstations (vWS) für Grafikarbeitslasten unterstützt und Sie grafikintensive Arbeitslasten ausführen möchten, wählen Sie Virtuelle aktivieren Workstation (NVIDIA GRID).

      • So geben Sie einen H4D-Maschinentyp an:

        1. Klicken Sie auf den Tab Computing-optimiert.

        2. Wählen Sie in der Spalte Serie die Option H4D aus.

  3. Klicken Sie im Navigationsmenü auf Erweitert. Führen Sie im angezeigten Bereich Erweitert die folgenden Schritte aus:

    1. Wählen Sie im Abschnitt Bereitstellungsmodell in der Liste VM-Bereitstellungsmodell die Option Flex-Start aus.

    2. Geben Sie im Feld Anzahl der Stunden eingeben die maximale Zeit ein, die die VM ausgeführt werden soll. Der Wert muss zwischen 0.01 (36 Sekunden) und 168 (168 Stunden oder 7 Tage) liegen.

    3. Klicken Sie das Kästchen Wartezeit für VM-Erstellung festlegen an. Geben Sie dann basierend auf den zonenbezogenen Anforderungen für Ihre Arbeitslast eine der folgenden Zeitdauern an, um die Wahrscheinlichkeit zu erhöhen, dass Ihre Anfrage zum Erstellen von VMs erfolgreich ist:

      • Wenn für Ihre Arbeitslast die Erstellung der VM in einer bestimmten Zone erforderlich ist, geben Sie eine Dauer zwischen 90 Sekunden und 2 Stunden an. Je länger die Dauer, desto höher die Wahrscheinlichkeit, Ressourcen zu erhalten.

      • Wenn die VM in einer beliebigen Zone innerhalb der Region ausgeführt werden kann, geben Sie eine Dauer von 0 Sekunden an oder deaktivieren Sie das Kästchen Wartezeit für die VM-Erstellung festlegen. Mit dieser Aktion wird angegeben, dass Compute Engine Ressourcen nur dann zuweist, wenn sie sofort verfügbar sind. Wenn die Anfrage zum Erstellen der VM fehlschlägt, weil Ressourcen nicht verfügbar sind, wiederholen Sie die Anfrage in einer anderen Zone.

    4. Wählen Sie im Feld Bei VM-Beendigung aus, ob die Flex-Start-VM am Ende ihrer Laufzeit beendet oder gelöscht werden soll:

      • Wenn Sie die VM löschen möchten, wählen Sie Löschen aus.

      • Wählen Sie Beenden aus, um die VM zu beenden.

  4. Klicken Sie auf Erstellen, um die Flex-Start-VM zu erstellen.

gcloud

Verwenden Sie zum Erstellen einer Flex-Start-VM den Befehl gcloud compute instances create mit den folgenden Flags:

  • Das Flag --request-valid-for-duration

  • Das Flag --provisioning-model=FLEX_START

  • Das Flag --instance-termination-action

  • Das Flag --max-run-duration

  • Das Flag --maintenance-policy=TERMINATE

  • Das Flag --reservation-affinity=none

Führen Sie den folgenden Befehl aus, um eine Flex-Start-VM zu erstellen:

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --zone=ZONE \
    --request-valid-for-duration=VALID_FOR_DURATION \
    --provisioning-model=FLEX_START \
    --instance-termination-action=TERMINATION_ACTION \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=none

Ersetzen Sie Folgendes:

  • VM_NAME ist der Name Ihrer neuen VM.

  • MACHINE_TYPE: der Maschinentyp, der für die Flex-Start-VM verwendet werden soll. Wenn Sie einen G2- oder N1-Maschinentyp angeben, beachten Sie Folgendes:

    • Für G2-Maschinentypen können Sie optional eine NVIDIA RTX Virtual Workstation (vWS) für grafikintensive Arbeitslasten angeben. Fügen Sie dazu das Flag --accelerator wie folgt in den Befehl ein:

      --accelerator=count=VWS_ACCELERATOR_COUNT,type=nvidia-l4-vws
      

      Ersetzen Sie VWS_ACCELERATOR_COUNT durch die Anzahl der NVIDIA RTX vWS, die für Ihre Arbeitslast erforderlich sind.

    • Bei N1-Maschinentypen müssen Sie die Anzahl und den Typ der GPUs angeben, die an Ihre VM angehängt werden sollen. Andernfalls schlägt das Erstellen der VM fehl. Wenn Sie GPUs an eine N1-VM anhängen möchten, fügen Sie das Flag --accelerator wie folgt in den Befehl ein:

      --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE
      

      Ersetzen Sie Folgendes:

  • ZONE: die Zone, in der Sie die VM erstellen möchten. Unter Verfügbare Regionen und Zonen können Sie prüfen, ob der von Ihnen angegebene Maschinentyp in der Zone verfügbar ist, in der Sie die VM erstellen möchten.

  • VALID_FOR_DURATION: die maximale Wartezeit für die Bereitstellung der angeforderten Ressourcen. Sie müssen den Wert als Anzahl von Tagen, Stunden, Minuten oder Sekunden gefolgt von d, h, m bzw. s formatieren. Geben Sie beispielsweise 30m für 30 Minuten oder 1h2m3s für eine Stunde, zwei Minuten und drei Sekunden an. Geben Sie basierend auf den zonalen Anforderungen für Ihre Arbeitslast eine der folgenden Zeitspannen an, um die Wahrscheinlichkeit zu erhöhen, dass Ihre Anfrage zum Erstellen von VMs erfolgreich ist:

    • Wenn für Ihre Arbeitslast die Erstellung der VM in einer bestimmten Zone erforderlich ist, geben Sie eine Dauer zwischen 90 Sekunden (90s) und zwei Stunden (2h) an. Bei längeren Zeiträumen ist die Wahrscheinlichkeit höher, dass Sie Ressourcen erhalten.

    • Wenn die VM in einer beliebigen Zone innerhalb der Region ausgeführt werden kann, geben Sie eine Dauer von null Sekunden (0s) an. Dieser Wert gibt an, dass Compute Engine Ressourcen nur zuweist, wenn sie sofort verfügbar sind. Wenn die Erstellungsanfrage fehlschlägt, weil Ressourcen nicht verfügbar sind, wiederholen Sie die Anfrage in einer anderen Zone.

  • TERMINATION_ACTION: Gibt an, ob die VM am Ende der Laufzeit beendet oder gelöscht werden soll. Geben Sie einen der folgenden Werte an:

    • So beenden Sie die VM: STOP

    • So löschen Sie die VM: DELETE

  • RUN_DURATION: Die maximale Zeit, die die VM ausgeführt wird, bevor Compute Engine sie automatisch beendet oder löscht. Sie müssen den Wert als Anzahl an Tagen, Stunden, Minuten oder Sekunden gefolgt von d, h, m und s formatieren. Der Wert muss zwischen 10 Minuten und 7 Tagen liegen.

REST

Wenn Sie eine Flex-Start-VM erstellen möchten, senden Sie eine POST-Anfrage an die Methode instances.insert. Geben Sie im Anfragetext die folgenden Felder an:

  • Das Feld params.requestValidForDuration.

  • Das Feld scheduling.provisioningModel ist auf FLEX_START gesetzt.

  • Das Feld scheduling.instanceTerminationAction.

  • Das Feld scheduling.maxRunDuration.

  • Das Feld scheduling.onHostMaintenance ist auf TERMINATE gesetzt.

  • reservationAffinity.consumeReservationType ist auf NO_RESERVATION gesetzt.

So erstellen Sie eine Flex-Start-VM:POST

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "params": {
    "requestValidForDuration": {
      "seconds": VALID_FOR_DURATION
    }
  },
  "scheduling": {
    "provisioningModel": "FLEX_START",
    "instanceTerminationAction": "TERMINATION_ACTION",
    "maxRunDuration": {
      "seconds": RUN_DURATION
    },
    "onHostMaintenance": "TERMINATE"
  },
  "reservationAffinity": {
    "consumeReservationType": "NO_RESERVATION"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die VM erstellt werden soll.

  • ZONE: die Zone, in der Sie die VM erstellen möchten. Unter Verfügbare Regionen und Zonen können Sie prüfen, ob ein Maschinentyp in der Zone verfügbar ist, in der Sie die VM erstellen möchten.

  • VM_NAME ist der Name Ihrer neuen VM.

  • MACHINE_TYPE: der Maschinentyp, der für die Flex-Start-VM verwendet werden soll. Wenn Sie einen G2- oder N1-Maschinentyp angeben, beachten Sie Folgendes:

    • Für G2-Maschinentypen können Sie optional eine NVIDIA RTX Virtual Workstation (vWS) für grafikintensive Arbeitslasten angeben. Geben Sie dazu das Feld guestAccelerators im Anfragetext an:

      "guestAccelerators": [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws"
        }
      ]
      

      Ersetzen Sie VWS_ACCELERATOR_COUNT durch die Anzahl der NVIDIA RTX vWS, die für Ihre Arbeitslast erforderlich sind.

    • Bei N1-Maschinentypen müssen Sie die Anzahl und den Typ der GPUs angeben, die an Ihre VM angehängt werden sollen. Andernfalls schlägt das Erstellen der VM fehl. Wenn Sie GPUs an eine N1-VM anhängen möchten, fügen Sie das Feld guestAccelerators wie folgt in den Anfragetext ein:

      "guestAccelerators": [
        {
          "acceleratorCount": ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
        }
      ]
      

      Ersetzen Sie Folgendes:

  • IMAGE_PROJECT: das Image-Projekt, das das Image enthält, z. B. debian-cloud. Weitere Informationen zu den unterstützten Image-Projekten finden Sie unter Öffentliche Images.

  • IMAGE: Geben Sie eine der folgenden Optionen an:

    • Eine bestimmte Version des Betriebssystem-Images, z. B. debian-12-bookworm-v20240617.

    • Eine Image-Familie, die als family/IMAGE_FAMILY formatiert sein muss. Dieser Wert gibt an, dass das neueste nicht verworfene Betriebssystem-Image verwendet werden soll. Wenn Sie beispielsweise family/debian-12 angeben, wird die aktuelle Version in der Debian 12-Image-Familie verwendet. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

  • VALID_FOR_DURATION: Die maximale Wartezeit in Sekunden für die Bereitstellung der VM. Geben Sie basierend auf den zonalen Anforderungen für Ihre Arbeitslast eine der folgenden Zeitspannen an, um die Wahrscheinlichkeit zu erhöhen, dass Ihre Anfrage zum Erstellen von VMs erfolgreich ist:

    • Wenn für Ihre Arbeitslast die Erstellung der VM in einer bestimmten Zone erforderlich ist, geben Sie eine Dauer zwischen 90 Sekunden (90) und zwei Stunden (7200) an. Bei längeren Zeiträumen ist die Wahrscheinlichkeit höher, dass Sie Ressourcen erhalten.

    • Wenn die VM in einer beliebigen Zone innerhalb der Region ausgeführt werden kann, geben Sie eine Dauer von null Sekunden (0) an. Dieser Wert gibt an, dass Compute Engine Ressourcen nur zuweist, wenn sie sofort verfügbar sind. Wenn die Erstellungsanfrage fehlschlägt, weil keine Ressourcen verfügbar sind, wiederholen Sie die Anfrage in einer anderen Zone.

  • TERMINATION_ACTION: Gibt an, ob die VM am Ende der Laufzeit beendet oder gelöscht werden soll. Geben Sie einen der folgenden Werte an:

    • So beenden Sie die VM: STOP

    • So löschen Sie die VM: DELETE

  • RUN_DURATION: Die maximale Zeit in Sekunden, die die VM ausgeführt wird, bevor Compute Engine sie automatisch beendet oder löscht. Der Wert muss zwischen 600 (600 Sekunden oder 10 Minuten) und 604800 (604.800 Sekunden oder 7 Tage) liegen.

Nächste Schritte

Überzeugen Sie sich selbst

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von Compute Engine in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

Compute Engine kostenlos testen