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 ermöglichen es 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. für die Feinabstimmung von Modellen und Batch-Inferenz.

Weitere Informationen zu den wichtigsten Merkmalen von Flex-Start-VMs, einschließlich der Anforderungen und Einschränkungen, die Sie beim Erstellen anwenden, finden Sie unter Informationen zu 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 Compute Engine authentifizieren:

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

    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 von Flex-Start-VMs benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Instanzadministrator (Version 1) (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. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um VMs mit flexiblem Start zu erstellen:

  • compute.instances.create für das Projekt
  • So erstellen Sie die VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
  • Um die VM mit einem Snapshot zu erstellen: compute.snapshots.useReadOnly für den Snapshot
  • So verwenden Sie eine Instanzvorlage zum Erstellen der VM: compute.instanceTemplates.useReadOnly für die Instanzvorlage
  • So geben Sie ein Subnetz für Ihre VM an: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
  • Um eine statische IP-Adresse für die VM festzulegen: compute.addresses.use für das Projekt
  • So weisen Sie der VM eine externe IP-Adresse zu, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
  • So weisen Sie der VM ein Legacy-Netzwerk zu: compute.networks.use für das Projekt
  • So weisen Sie der VM eine externe IP-Adresse zu, wenn Sie ein Legacy-Netzwerk verwenden: compute.networks.useExternalIp für das Projekt
  • Um Metadaten der VM-Instanz für die VM festzulegen: compute.instances.setMetadata für das Projekt
  • Zum Festlegen von Tags für die VM: compute.instances.setTags auf der VM
  • So legen Sie Labels für die VM fest: compute.instances.setLabels auf der VM
  • So legen Sie ein Dienstkonto für die VM fest: compute.instances.setServiceAccount auf der VM
  • Um ein neues Laufwerk für die VM zu erstellen: compute.disks.create für das Projekt
  • So hängen Sie ein vorhandenes Laufwerk im Lese- oder Lese-/Schreibmodus an: compute.disks.use für das Laufwerk
  • So hängen Sie ein vorhandenes Laufwerk im Lesemodus an: 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 VM mit flexiblem Start 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 ist 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 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=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, formatiert als Zahl gefolgt von einer Einheit (s, m, h oder d). Ein Wert von 30m definiert beispielsweise eine Zeit von 30 Minuten und ein Wert von 1h2m3s eine Zeit von einer Stunde, zwei Minuten und drei Sekunden. Basierend auf den zonalen Anforderungen für Ihre Arbeitslast empfehlen wir, eine der folgenden Zeitspannen anzugeben, um die Wahrscheinlichkeit zu erhöhen, dass Ihr Antrag auf VM-Erstellung 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 Ressourcen verfügbar sind.

    • 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 sie von Compute Engine gelöscht wird. Sie wird als Zahl gefolgt von einer Einheit (s, m, h oder d) formatiert. 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 VM mit flexiblem Start: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 ist 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 virtuelle NVIDIA RTX-Workstation (vWS) für grafikintensive Arbeitslasten angeben. Geben Sie dazu im Anfragetext das Feld guestAccelerators 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: Wählen Sie eine der folgenden Optionen aus:

    • Eine bestimmte Version des Betriebssystem-Images; Beispiel: 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. Je nach den zonalen Anforderungen für Ihre Arbeitslast empfehlen wir, eine der folgenden Zeitspannen anzugeben, 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 Ressourcen verfügbar sind.

    • 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 sie von Compute Engine gelöscht wird. Dieser Wert muss zwischen 600 Sekunden (10 Minuten) und 604.800 Sekunden (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