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.

Hinweis

  • Weitere Informationen zur Verwendung eines beschleunigungsoptimierten Maschinentyps (außer A4X Max oder A4X) in einer VM finden Sie unter Übersicht zum Erstellen einer Instanz mit angehängten GPUs.
  • 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 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 zum Erstellen einer eigenständigen Flex-Start-VM benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zuzuweisen. 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 einer eigenständigen Flex-Start-VM erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um eine eigenständige Flex-Start-VM zu erstellen:

  • 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

Wenn Sie eine Flex-Start-VM erstellen möchten, die einen anderen Maschinentyp als A2, G4, G2 oder N1 verwendet, lesen Sie Folgendes:

Wenn Sie eine A2- oder G2-VM mit flexiblem Start erstellen möchten, die eine Richtlinie für kompakte Platzierung für minimale Netzwerklatenz angibt, verwenden Sie die gcloud CLI oder die REST API. Wählen Sie andernfalls eine der folgenden Optionen aus:

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 basierend auf 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, außer NVIDIA GB200 192 GB.

        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 Flexibler 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 (0,01 Stunden oder 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 Chancen, 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 A2-, G4-, G2- oder N1-VM mit Flex-Start 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 G4-, G2- oder N1-Maschinentyp angeben, beachten Sie Folgendes:

    • Für G4- oder G2-Maschinentypen können Sie optional eine virtuelle NVIDIA RTX-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=VWS_ACCELERATOR_TYPE
      

      Ersetzen Sie Folgendes:

      • VWS_ACCELERATOR_COUNT: Die Anzahl der NVIDIA RTX vWS, die für Ihre Arbeitslast erforderlich sind. Diese Zahl muss mit der Anzahl der GPUs übereinstimmen, die an den G4- oder G2-Maschinentyp angehängt sind, den Sie verwenden möchten.

      • VWS_ACCELERATOR_TYPE: Der Typ des zu verwendenden NVIDIA RTX vWS-Beschleunigers. Geben Sie einen der folgenden Werte an:

        • Für G4-Maschinentypen: nvidia-rtx-pro-6000-vws

        • Für G2-Maschinentypen: nvidia-l4-vws

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

Wenn Sie eine Richtlinie für kompakte Platzierung auf eine A2- oder G2-VM mit Flex-Start anwenden möchten, fügen Sie dem Befehl das Flag --resource-policies hinzu:

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 \
    --resource-policies=POLICY_NAME

Ersetzen Sie POLICY_NAME durch den Namen einer vorhandenen Richtlinie für kompakte Platzierung. Sie können Ihre Flex-Start-VM nur in derselben Region wie die Platzierungsrichtlinie erstellen.

REST

Wenn Sie eine A2-, G4-, G2- oder N1-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 G4-, G2- oder N1-Maschinentyp angeben, beachten Sie Folgendes:

    • Für G4- oder G2-Maschinentypen können Sie optional eine virtuelle NVIDIA RTX-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/VWS_ACCELERATOR_TYPE"
        }
      ]
      

      Ersetzen Sie Folgendes:

      • VWS_ACCELERATOR_COUNT: Die Anzahl der NVIDIA RTX vWS, die für Ihre Arbeitslast erforderlich sind. Diese Zahl muss mit der Anzahl der GPUs übereinstimmen, die an den G4- oder G2-Maschinentyp angehängt sind, den Sie verwenden möchten.

      • VWS_ACCELERATOR_TYPE: Der zu verwendende Typ des NVIDIA RTX vWS-Beschleunigers. Geben Sie einen der folgenden Werte an:

        • Für G2-Maschinentypen: nvidia-l4-vws
        • Für G4-Maschinentypen: nvidia-rtx-pro-6000-vws
    • 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.

Wenn Sie eine Richtlinie für kompakte Platzierung auf eine A2- oder G2-VM mit flexiblem Start anwenden möchten, fügen Sie das Feld resourcePolicies in die Anfrage ein:

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"
  },
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

Ersetzen Sie Folgendes:

  • REGION: die Region, in der die Richtlinie für kompakte Platzierung vorhanden ist. Sie können Ihre Flex-Start-VM nur in derselben Region wie die Platzierungsrichtlinie erstellen.

  • POLICY_NAME: der Name der Richtlinie für kompakte Platzierung.

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