MIG erstellen, die Spot-VMs verwendet

In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, die Spot-VMs verwendet.

Spot-VMs sind VM-Instanzen, die Sie zu einem stark reduzierten Preis erhalten können. Compute Engine kann Spot-VMs jedoch jederzeit beenden oder löschen, um Kapazitäten zurückzugewinnen. Mit Spot-VMs können Sie fehlertolerante Arbeitslasten wie Batchverarbeitungsjobs oder zustandslose Anwendungen zu geringen Kosten ausführen.

Weitere Methoden zum Erstellen von MIGs finden Sie unter Grundlegende Szenarien zum Erstellen einer MIG.

Hinweis

  • Prüfen Sie, ob Sie ein ausreichendes Kontingent für die Ressourcen haben, die Sie anfordern möchten. Weitere Informationen finden Sie unter Zuweisungskontingente.
  • Prüfen Sie die Verfügbarkeit von Ressourcen in der Region oder Zone, in der Sie Spot-VMs erstellen möchten. Wenn Sie die Verfügbarkeit von Ressourcen prüfen, können Sie die Wahrscheinlichkeit von Fehlern bei der Ressourcenverfügbarkeit beim Erstellen von VMs verringern. Eine Anleitung finden Sie unter Verfügbarkeit von Spot-VMs ansehen.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Cloud de Confiance by S3NS Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    Wählen Sie den Tab aus, der Ihrer geplanten Verwendung der Beispiele auf dieser Seite entspricht:

    Console

    Wenn Sie über die Cloud de Confiance Console auf Cloud de Confiance by S3NS Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

      gcloud init
  • Legen Sie eine Standardregion und -zone fest.
  • 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 und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

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

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Erstellen von MIGs mit Spot-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 MIGs mit Spot-VMs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um MIGs zu erstellen, die Spot-VMs verwenden:

  • Zum erstellen einer Instanzvorlage: compute.instanceTemplates.create für das Projekt
  • So erstellen Sie eine MIG: compute.instanceGroupManagers.create für das Projekt

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

MIG erstellen, die Spot-VMs verwendet

Wenn Sie eine MIG mit Spot-VMs erstellen möchten, müssen Sie die folgenden Schritte ausführen:

  1. Instanzvorlage erstellen, die für das Erstellen von Spot-VMs konfiguriert ist

  2. Regionale oder zonale MIG erstellen

Instanzvorlage erstellen, die für die Erstellung von Spot-VMs konfiguriert ist

Wählen Sie eine der folgenden Optionen aus, um eine Instanzvorlage zu erstellen, die für die Erstellung von Spot-VMs konfiguriert ist:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

  2. Klicken Sie auf Instanzvorlage erstellen. Die Seite Instanzvorlage erstellen wird angezeigt.

  3. Geben Sie im Feld Name einen Namen für die Instanzvorlage ein.

  4. Wählen Sie im Bereich Standort den Typ der Instanzvorlage aus, die Sie erstellen möchten:

    • Wählen Sie für eine regionale Instanzvorlage Regional und dann die Region aus, in der Sie die Vorlage erstellen möchten. Geben Sie basierend auf dem Maschinentyp, den Ihre Spot-VMs verwenden sollen, eine unterstützte Region an.

    • Wählen Sie für eine globale Instanzvorlage Global aus.

  5. Wählen Sie im Abschnitt Maschinenkonfiguration eine unterstützte Maschinenserie für Spot-VMs aus.

  6. Führen Sie im Abschnitt Bereitstellungsmodell folgende Schritte aus:

    1. Wählen Sie in der Liste VM-Bereitstellungsmodell die Option Spot aus.

    2. Wenn Sie angeben möchten, ob Spot-VMs bei vorzeitigem Beenden beendet oder gelöscht werden sollen, wählen Sie in der Liste Bei VM-Beendigung eine der folgenden Optionen aus:

      • Wählen Sie Beenden aus, um Spot-VMs zu beenden.

      • Wenn Sie Spot-VMs löschen möchten, wählen Sie Löschen aus.

  7. Optional: Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um den Standardwert für den Bootlaufwerktyp oder das Image zu ändern. Folgen Sie dann den Aufforderungen, um das Bootlaufwerk zu ändern.

  8. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl gcloud compute instance-templates create, um eine Instanzvorlage zu erstellen, die für das Erstellen von Spot-VMs konfiguriert ist.

Mit dem folgenden Befehl wird eine regionale Instanzvorlage erstellt. Wenn Sie eine globale Instanzvorlage erstellen möchten, verwenden Sie denselben Befehl ohne das Flag --instance-template-region.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=TERMINATION_ACTION \
    --machine-type=MACHINE_TYPE \
    --provisioning-model=SPOT

Ersetzen Sie Folgendes:

  • INSTANCE_TEMPLATE_NAME ist der Name der zu erstellenden Instanzvorlage.

  • IMAGE_PROJECT ist 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_FAMILY ist eine Image-Familie. Dieser Wert gibt das neueste nicht verworfene Betriebssystem-Image an. Wenn Sie beispielsweise 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.

  • REGION: die Region, in der die Instanzvorlage erstellt werden soll. Geben Sie basierend auf dem Maschinentyp, den die Spot-VMs verwenden sollen, eine unterstützte Region an.

  • TERMINATION_ACTION: Gibt an, ob Compute Engine die Spot-VMs bei einem vorzeitigen Beenden stoppt oder löscht. Sie müssen angeben, ob VMs beendet (STOP) oder gelöscht (DELETE) werden sollen.

  • MACHINE_TYPE: ein unterstützter Maschinentyp für Spot-VMs. Wenn Sie einen N1-Maschinentyp angeben, müssen Sie das Flag --accelerator einfügen, um die Anzahl und den Typ der GPUs zu definieren, die an Ihre VMs angehängt werden sollen.

REST

Wenn Sie eine Instanzvorlage erstellen möchten, die für die Erstellung von Spot-VMs konfiguriert ist, stellen Sie eine der folgenden POST-Anfragen:

Wenn Sie beispielsweise eine regionale Instanzvorlage erstellen möchten, stellen Sie eine Anfrage wie folgt:

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

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "scheduling": {
      "instanceTerminationAction": "TERMINATION_ACTION",
      "provisioningModel": "SPOT"
    }
  }
}

Ersetzen Sie Folgendes:

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

  • REGION: die Region, in der die Instanzvorlage erstellt werden soll. Geben Sie basierend auf dem Maschinentyp, den die Spot-VMs verwenden sollen, eine unterstützte Region an.

  • INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage.

  • IMAGE_PROJECT ist 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 das neueste nicht verworfene Betriebssystem-Image an. Beispiel: Wenn Sie 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.

  • MACHINE_TYPE: ein unterstützter Maschinentyp für Spot-VMs. Wenn Sie einen N1-Maschinentyp angeben, müssen Sie das Feld guestAccelerators einfügen, um die Anzahl und den Typ der GPUs zu definieren, die an Ihre VMs angehängt werden sollen.

  • TERMINATION_ACTION: Gibt an, ob Compute Engine die Spot-VMs bei einem vorzeitigen Beenden stoppt oder löscht. Sie müssen angeben, ob VMs beendet (STOP) oder gelöscht (DELETE) werden sollen.

Nachdem Sie die Instanzvorlage erstellt haben, können Sie die Details der Vorlage aufrufen, um ihre Attribute zu prüfen.

Regionale oder zonale MIG erstellen

Wählen Sie eine der folgenden Optionen aus, um eine regionale oder zonale MIG zu erstellen:

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen. Die Seite Instanzgruppe erstellen wird geöffnet.

  3. Geben Sie im Feld Name einen Namen für die MIG ein.

  4. Wählen Sie in der Liste Instanzvorlage die Instanzvorlage aus, die Sie im vorherigen Abschnitt erstellt haben.

  5. Geben Sie im Feld Number of instances (Anzahl der Instanzen) die Anzahl der Spot-VMs ein, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast VMs mit bestimmten Namen erforderlich sind, geben Sie 0 ein, um die Erstellung von VMs in dieser Phase zu überspringen. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

  6. Geben Sie im Abschnitt Standort an, ob Sie eine zonale oder eine regionale MIG erstellen möchten:

    1. Wenn Sie eine zonale MIG erstellen möchten, wählen Sie Einzelne Zone aus. Wenn Sie eine regionale MIG erstellen möchten, wählen Sie Mehrere Zonen aus.

    2. Wählen Sie die Region und die Zonen für die MIG aus.

  7. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie zum Erstellen einer MIG den Befehl gcloud compute instance-groups managed create.

Fügen Sie je nach Typ der MIG, die Sie erstellen möchten, die folgenden Flags in den Befehl ein:

  • Wenn Sie eine zonale MIG erstellen möchten, fügen Sie das Flag --zone ein:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --zone=ZONE
    
  • Wenn Sie eine regionale MIG erstellen möchten, fügen Sie das Flag --region ein:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --size=SIZE \
        --template=INSTANCE_TEMPLATE_URL \
        --region=REGION
    

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.

  • INSTANCE_TEMPLATE_URL: die URL der Instanzvorlage, die Sie im vorherigen Abschnitt erstellt haben. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:

    • Für eine regionale Instanzvorlage: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID

    • Für eine globale Instanzvorlage: INSTANCE_TEMPLATE_ID

  • SIZE: Die Anzahl der Spot-VMs, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast bestimmte VM-Namen erforderlich sind, geben Sie 0 an, um die Erstellung von VMs in dieser Phase zu überspringen. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

  • ZONE: die Zone, in der die zonale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie eine Zone in derselben Region wie die Vorlage angeben.

  • REGION: die Region, in der die regionale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie dieselbe Region wie die Region der Vorlage angeben.

REST

Wenn Sie eine MIG erstellen möchten, senden Sie eine POST-Anfrage an eine der folgenden Methoden:

  • Um eine zonale MIG zu erstellen, senden Sie eine POST-Anfrage an die Methode instanceGroupManagers.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "targetSize": SIZE
    }
    
  • So erstellen Sie eine regionale MIG und senden eine POST-Anfrage an die Methode regionInstanceGroupManagers.insert:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "name": "INSTANCE_GROUP_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": SIZE
    }
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem die regionale oder zonale MIG erstellt werden soll.

  • ZONE: die Zone, in der die zonale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie eine Zone in derselben Region wie die Vorlage angeben.

  • REGION: die Region, in der die regionale MIG erstellt werden soll. Wenn Sie eine regionale Instanzvorlage zum Erstellen der MIG verwenden, müssen Sie dieselbe Region wie die Region der Vorlage angeben.

  • INSTANCE_GROUP_NAME: Name der MIG.

  • INSTANCE_TEMPLATE_URL: die URL der Instanzvorlage, die Sie im vorherigen Abschnitt erstellt haben. Die URL kann entweder die ID oder den Namen der Instanzvorlage enthalten. Geben Sie einen der folgenden Werte an:

    • Für eine regionale Instanzvorlage: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID

    • Für eine globale Instanzvorlage: INSTANCE_TEMPLATE_ID

  • SIZE: Die Anzahl der Spot-VMs, die in der MIG erstellt werden sollen. Wenn für Ihre Arbeitslast bestimmte VM-Namen erforderlich sind, geben Sie 0 an, um die Erstellung von VMs in dieser Phase zu überspringen. Nachdem Sie die MIG erstellt haben, fügen Sie ihr VMs mit bestimmten Namen hinzu.

Nachdem Sie die MIG erstellt haben, können Sie die Details der MIG aufrufen, um ihre Attribute zu prüfen.

Nächste Schritte