Verwaltete Instanzgruppen erstellen

In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) erstellen. Eine MIG ist eine Gruppe von VM-Instanzen, die Sie als eine Entität steuern. MIGs unterstützen Features wie automatische Reparatur, Load-Balancing, Autoscaling, automatische Updates und zustandsorientierte Arbeitslasten.

Sie können regionale MIGs oder zonale MIGs erstellen. Regionale MIGs bieten eine höhere Verfügbarkeit als zonale MIGs, da die Instanzen in einer regionalen MIG über mehrere Zonen innerhalb einer Region verteilt sind. Dieses Dokument enthält Informationen zum Erstellen zonaler oder regionaler MIGs. Allerdings gibt es für regionale MIGs zusätzliche Optionen und Überlegungen. Weitere Informationen zu regionalen MIGs finden Sie in der Übersicht zu regionalen MIGs.

Konzeptionelle Informationen zu Instanzgruppen und ihren Features finden Sie in der Übersicht zu Instanzgruppen.

Vorbereitung

Beschränkungen

MIGs für zustandslose Anwendungen verwenden

Sie können MIGs für zustandslose Anwendungen verwenden, die nicht vom spezifischen Status der zugrunde liegenden VM-Instanz abhängen. Ihre Anwendung sollte nicht von temporär gespeicherten VM-Attributen abhängig sein, wie z. B. dem Inhalt angehängter Laufwerke oder von In-Memory-Daten. Wenn für Ihre Anwendung die Beibehaltung von VM-Attributen erforderlich ist, finden Sie weitere Informationen unter zustandsorientierte MIGs.

Das Standardverhalten für alle nichtflüchtigen Speicher in zustandslosen MIGs besteht darin, sie zu löschen oder neu zu erstellen, wenn die entsprechende VM gelöscht oder neu erstellt wird. Daher sollten Sie sich in einer zustandslosen MIG nicht auf angehängte Laufwerke als Speicher für nichtflüchtige Daten verlassen. Damit Ihre Daten erhalten bleiben, empfiehlt Google, regelmäßig benutzerdefinierte Images mit aktualisierter Software und Konfigurationen zu pflegen. Damit Ihre Daten erhalten bleiben, verwenden Sie Startskripts und konfigurieren Sie Ihre Anwendungen so, dass Ihre Daten an einem anderen zentralen Speicherort wie Cloud Storage gesichert werden.

In Ihren Instanzvorlagen können Sie ein Container-Image oder ein benutzerdefiniertes Image sowie relevante Startskripts angeben. Beim Neuerstellen einer VM sind dann die notwendigen Anwendungen installiert und die erforderlichen Daten zugänglich. Weitere Informationen zum Erstellen von Instanzvorlagen finden Sie unter Deterministische Instanzvorlagen.

MIGs für zustandsorientierte Anwendungen verwenden

Verwaltete Instanzgruppen unterstützen auch zustandsorientierte Anwendungen. Eine zustandsorientierte MIG behält den eindeutigen Status jeder VM (VM-Instanzname, angehängte nichtflüchtige Speicher und/oder Metadaten) bei Neustart, Neuerstellung, automatischer Reparatur oder Aktualisierung der Maschine bei.

Verwenden Sie zustandsorientierte MIGs für Anwendungen mit zustandsorientierten Daten oder Konfigurationen, z. B. Datenbanken, Anwendungen zur Datenverarbeitung, Legacy-Anwendungen sowie Batcharbeitslasten mit langer Ausführungszeit und Prüfpunktausführung.

Sie können zustandsorientierte MIGs immer dann verwenden, wenn Sie eine zustandsorientierte Anwendung oder einen Cluster auf Compute Engine bereitstellen und die Verfügbarkeit durch automatische Reparatur und Bereitstellung in mehreren Zonen verbessern oder Updates durch automatisierte Rolling Updates vereinfachen und beschleunigen möchten.

Informationen zum Erstellen einer zustandsorientierten MIG oder zum Hinzufügen einer zustandsorientierten Konfiguration zu einer vorhandenen MIG finden Sie unter Zustandsorientierte MIGs konfigurieren.

Verwaltete Instanzgruppe erstellen

Eine MIG erstellt jede verwaltete Instanz anhand der von Ihnen angegebenen Instanzvorlagen und einer optionalen zustandsorientierten Konfiguration. Jede verwaltete Instanz ist eine Datenentität innerhalb der MIG, die den aktuellen Status und den beabsichtigten Status für eine tatsächliche VM-Instanz enthält. Mit MIGs kann die Hochverfügbarkeit Ihrer Anwendungen aufrechterhalten werden, da sie proaktiv dafür sorgen, dass die tatsächlichen VMs verfügbar bleiben, also den Status RUNNING haben.

Sie können eine MIG mit der Google Cloud Console, dem gcloud compute-Tool oder der API erstellen. Wenn Sie lieber eine regionale MIG erstellen möchten, finden Sie unter Regionale MIGs erstellen entsprechende Informationen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie auf Instanzgruppe erstellen.
  3. Geben Sie einen Namen für die MIG ein und wählen Sie die Zone aus, in die Gruppe erstellt werden soll.
  4. Wählen Sie unter Gruppentyp die Option Verwaltete Instanzgruppe aus.
  5. Wählen Sie unter Instanzvorlage eine Instanzvorlage aus. Wenn keine Vorlagen vorhanden sind, erstellen Sie eine Instanzvorlage.
  6. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll. Aktivieren Sie optional Autoscaling. Damit werden je nach ihrer Nutzung Instanzen automatisch zur Gruppe hinzugefügt oder aus ihr entfernt. Durch Aktivieren der Option Automatische Reparatur werden anwendungsbasierte Systemdiagnosen auf den VMs der Gruppe ausgeführt.
  7. Klicken Sie auf Erstellen, um die neue Gruppe anzulegen.

gcloud

Erstellen Sie eine Instanzgruppe mit dem Unterbefehl instance-groups managed create:

gcloud compute instance-groups managed create instance-group-name \
    --base-instance-name base-name \
    --size size \
    --template instance-template \
    --zone zone

Ersetzen Sie Folgendes:

  • instance-group-name: Der Name dieser Instanzgruppe.
  • base-name: Der Name, der für VMs in dieser Gruppe verwendet werden soll. Da diese VMs auf einer gemeinsamen Vorlage basieren, wird jeder VM ein zufälliger String als Teil ihres VM-Namens zugewiesen. Der Basisname wird diesem String vorangestellt. Wenn Sie beispielsweise den Basisnamen als example festlegen, haben VMs Namen wie example-yahs und example-qtyz. Wenn Sie bestimmte Namen benötigen, finden Sie weitere Informationen unter Instanzen mit bestimmten Namen in MIGs erstellen.
  • size: Die Größe der Instanzgruppe.
  • instance-template: Der Name der Instanzvorlage, die für diese Gruppe verwendet werden soll.
  • zone: Eine für Compute Engine verfügbare Zone.

    Mit dem folgenden Befehl wird beispielsweise eine Instanzgruppe namens "example-group" erstellt, deren VM-Basisname test lautet. Die Gruppe umfasst drei Instanzen:

    gcloud compute instance-groups managed create example-group \
      --base-instance-name test \
      --size 3 \
      --template an-instance-template

API

Senden Sie mit der API eine POST-Anfrage an die Methode instanceGroupManagers.insert oder die Methode regionInstanceGroupManagers.insert. Geben Sie im Anfragetext den Gruppennamen, die Gruppengröße, den Basisnamen für VMs in der Gruppe und die URL zur Instanzvorlage an.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers

{
  "baseInstanceName": "base-name",
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/instance-template"
    }
  ],
  "name": "instance-group-name",
  "targetSize": size
}

Ersetzen Sie Folgendes:

  • project-id: Projekt-ID für die Anfrage.
  • zone: Die Zone für die Anfrage.
    • Ersetzen Sie für eine regionale MIG zones/zone durch regions/region und geben Sie eine Region an.
  • instance-group-name: Der Name dieser Instanzgruppe.
  • base-name: Der Name, der für VMs in dieser Gruppe verwendet werden soll. Da diese VMs auf einer gemeinsamen Vorlage basieren, wird jeder VM ein zufälliger String als Teil ihres VM-Namens zugewiesen. Der Basisname wird diesem String vorangestellt. Wenn Sie beispielsweise den Basisnamen als example festlegen, haben VMs Namen wie example-yahs und example-qtyz. Wenn Sie bestimmte Namen benötigen, finden Sie weitere Informationen unter Instanzen mit bestimmten Namen in MIGs erstellen.
  • size: Die Größe der Instanzgruppe.
  • instance-template: Der Name der Instanzvorlage für diese Gruppe.

Je nachdem, wie Sie eine MIG konfigurieren und darauf reagieren, können sich verschiedene Richtlinien und Aktionen auf die Instanzen in der Gruppe auswirken. Informationen darüber, welche verwalteten Instanzen aktiv sind, finden Sie unter Status von verwalteten Instanzen prüfen.

Instanzvorlage für eine verwaltete Instanzgruppe ändern

Sie können die Instanzvorlage für eine verwaltete Instanzgruppe ändern, ohne dass sich dies auf die vorhandenen Instanzen auswirkt. Die verwaltete Instanzgruppe verwendet die neue Vorlage, wenn Sie eine Anfrage zum Hinzufügen oder Neuerstellen von Instanzen senden, aber die Vorlage aktualisiert vorhandene VMs in der Gruppe nicht automatisch. So können Sie genau steuern, welche VMs aktualisiert werden. Ihre Instanzgruppe enthält dann aber unterschiedliche VMs.

Erstellen Sie eine neue Instanzvorlage und ändern Sie anschließend die Vorlage für eine bestehende Instanzgruppe.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Spalte Name der Liste auf den Namen der Instanzgruppe, deren Vorlage Sie ändern möchten.
  3. Klicken Sie auf Gruppe bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
  4. Wählen Sie unter Instanzvorlage die neue Vorlage für die Gruppe aus.
  5. Klicken Sie auf Speichern, um die neue Vorlage anzuwenden.

gcloud

Wenn Sie mit der Methode set-instance-template eine Vorlage aktualisieren möchten, übergeben Sie die neue Vorlage an den Unterbefehl instance-groups managed set-instance-template:

gcloud compute instance-groups managed set-instance-template instance-group-name \
    --template instance-template \
    --zone zone

API

Erstellen Sie eine Anfrage mit dem Namen der verwalteten Zielinstanzgruppe an den Dienst instanceGroupManagers. Fügen Sie die URL der neuen Instanzvorlage in den Text der Anfrage ein:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/setInstanceTemplate

{
 "instanceTemplate": "global/instanceTemplates/instance-template
}

Nachdem Sie die Instanzvorlage geändert haben, erstellen Sie einzelne Instanzen neu oder aktualisieren alle VMs der Gruppe über ein Rolling Update.

Größe einer verwalteten Instanzgruppe anpassen

Sie haben verschiedene Möglichkeiten, VMs zu einer MIG hinzuzufügen oder aus ihr zu entfernen:

Größe einer MIG automatisch anpassen

Verwaltete Instanzgruppen lassen sich so konfigurieren, dass VMs lastabhängig automatisch hinzugefügt oder entfernt werden. So können Ihre Anwendungen ansteigenden Traffic problemlos bewältigen und Sie können Ihre Kosten senken, wenn der Bedarf an Rechenressourcen sinkt. Informationen zum Skalieren verwalteter Instanzgruppen finden Sie unter Autoscaling von Instanzgruppen.

Größe einer MIG manuell festlegen

Wenn für eine verwaltete Instanzgruppe noch keine automatische Skalierung festgelegt ist, können Sie die Größe der Gruppe manuell anpassen, um die Anzahl der Instanzen zu ändern. Wenn Sie die Gruppe vergrößern, werden gemäß der aktuellen Instanzvorlage neue Instanzen hinzugefügt. Verkleinern Sie die Gruppe, werden VMs aus der verwalteten Instanzgruppe gelöscht. Zuerst werden Instanzen mit dem currentAction-Wert DELETING, CREATING und RECREATING gelöscht, anschließend solche ohne geplante Aktionen.

Wenn die Gruppe Teil eines Back-End-Dienstes ist, für den der Verbindungsausgleich aktiviert ist, kann es nach Ablauf des Verbindungsausgleichs bis zu 60 Sekunden dauern, bis die VM-Instanz entfernt oder gelöscht wird.

Sie können die Größe einer verwalteten Instanzgruppe mit der Google Cloud Console, dem gcloud compute-Tool oder der API anpassen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Spalte Name der Liste auf die Instanzgruppe, deren Größe Sie anpassen möchten.
  3. Klicken Sie auf Gruppe bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
  4. Geben Sie unter Anzahl der Instanzen an, wie viele Instanzen die verwaltete Instanzgruppe umfassen soll. Wenn Autoscaling aktiviert ist, werden bei Bedarf automatisch Instanzen zur Gruppe hinzugefügt oder daraus entfernt. Sie können jedoch die Werte für die Mindestzahl von Instanzen und die Maximale Anzahl von Instanzen ändern, um die Gruppengröße über das Autoscaling indirekt anzupassen.
  5. Klicken Sie auf Speichern, um die neue Vorlage anzuwenden.

gcloud

Führen Sie den Unterbefehl resize aus.

gcloud compute instance-groups managed resize instance-group-name \
    --size new-size \
    --zone zone

API

Senden Sie eine Anfrage an die Methode resize. Geben Sie die neue Instanzgruppengröße als Parameter an.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/resize?size=new-size

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Nach einer Anfrage zur Änderung der Größe einer verwalteten Instanzgruppe, werden die VMs gestartet oder beendet, sobald das System sie bereitstellen oder löschen kann. Je nachdem, wie viele Instanzen die Gruppe umfasst, kann dies einige Zeit dauern. Prüfen Sie den Status der Instanzen in Ihrer verwalteten Instanzgruppe.

Modus für die wiederholte Erstellung während der Größenänderung deaktivieren

Wenn bei der erstmaligen Erstellung einer VM-Instanz ein Fehler auftritt, versucht die verwaltete Instanzgruppe standardmäßig kontinuierlich, die VM zu erstellen, bis ihre Erstellung erfolgreich war. Wenn Sie dies verhindern möchten, können Sie den Wiederholungsmodus deaktivieren. Geben Sie dazu beim Ändern der Größe der Instanzgruppe das Flag --nocreation-retries an. Dann versucht die verwaltete Instanzgruppe nur einmal, alle Instanzen zu erstellen. Wenn während der Instanzerstellung ein Fehler auftritt, gibt die verwaltete Instanzgruppe diese Instanz auf, entfernt sie aus der Liste der verwalteten Instanzen und verringert die Zielgröße der verwalteten Instanzgruppe.

Dieser Modus gilt nur für den ersten Versuch, eine VM zu erstellen. Wenn eine VM erfolgreich erstellt wurde, während dieser Modus aktiviert ist, verhält sich die VM auf dieselbe Weise wie alle anderen VMs, die durch eine reguläre Größenanpassungsanfrage erstellt wurden. Fällt eine ausgeführte VM zu einem späteren Zeitpunkt unerwartet aus und muss daher neu erstellt werden, wirkt sich der Modus nicht auf die Neuerstellung aus.

Den Modus für die wiederholte Erstellung zu deaktivieren, ist besonders nützlich, wenn Systeme automatisch Gruppen von VMs erstellen, bei denen die genaue Anzahl der VMs keine große Bedeutung hat. In solchen Fällen kann es wichtiger sein, die verwaltete Instanzgruppe schnell stabil zum Laufen zu bringen, während Sie bei der Zahl der enthaltenen VMs flexibel sind. Dadurch müssen Sie nicht eine unbestimmte Zeit warten, bis alle angeforderten Instanzen erstellt wurden. Die Erstellung kann sich aufgrund von Kontingentfehlern oder anderen Problemen nämlich vorübergehend oder dauerhaft verzögern.

Die Größe einer verwalteten Instanzgruppe im deaktivierten Modus für die wiederholte Erstellung können Sie über das gcloud-Tool oder die API anpassen.

gcloud

Verwenden Sie den Unterbefehl resize mit dem Flag --no-creation-retries:

gcloud beta compute instance-groups managed resize instance-group-name --size new-size \
    --no-creation-retries \
    --zone zone

API

Erstellen Sie eine Anfrage an die Methode resizeAdvanced. Geben Sie die neue Instanzgruppengröße und das Feld noCreationRetries im Anfragetext an.

POST https://compute.googleapis.com/compute/beta/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/resizeAdvanced

{
 "targetSize": size
 "noCreationRetries": true
}

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Mit der Methode listManagedInstances können Sie herausfinden, welche Instanzen in welchem Modus erstellt werden. Instanzen, die bei deaktiviertem Modus für die wiederholte Erstellung angelegt werden, haben für currentAction den Wert CREATING_WITHOUT_RETRIES.

Instanzen mit bestimmten Namen in MIGs erstellen

Wenn Sie ein System haben, das von bestimmten Namen abhängig ist, können Sie VMs mit diesen Namen erstellen. Die Namen, die Sie diesen verwalteten Instanzen zuweisen, bleiben bei der Neuerstellung der VM erhalten. Weitere Informationen finden Sie unter Instanzen mit bestimmten Namen hinzufügen.

Bestimmte Instanzen aus einer Gruppe löschen

Sie können einzelne VMs aus einer verwalteten Instanzgruppe löschen. Dadurch verringert sich der angegebene Wert der Instanzgruppe für targetSize und die VMs werden aus allen Zielpools entfernt, denen sie bisher angehört haben.

Das Löschen von Instanzen aus einer verwalteten Instanzgruppe hat keine Auswirkungen auf die Autoscaling-Einstellungen. Wenn Sie Instanzen aus einer Gruppe entfernen, stellt das Autoscaling unter Umständen eine Steigerung der Arbeitslast auf den anderen Instanzen fest und erhöht die Gruppengröße wieder auf das bisherige Niveau. Um dies zu verhindern, sollten Sie das Autoscaling deaktivieren oder löschen, bevor Sie die Instanzen löschen.

Wenn die Gruppe Teil eines Back-End-Dienstes ist, für den der Verbindungsausgleich aktiviert ist, kann es nach Ablauf des Verbindungsausgleichs bis zu 60 Sekunden dauern, bis die VM-Instanz entfernt oder gelöscht wird.

Löschen Sie Instanzen aus einer verwalteten Instanzgruppe mithilfe der Google Cloud Console, des gcloud compute-Tools oder der API.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Spalte Name der Liste auf die Instanzgruppe, aus der Sie einzelne Instanzen löschen möchten. Ihnen wird eine Seite mit den Attributen der Instanzgruppe und einer Liste der zur Gruppe gehörenden Instanzen angezeigt.
  3. Wählen Sie aus der Liste die zu löschenden Instanzen aus.
  4. Klicken Sie auf Löschen. Die ausgewählten Instanzen werden gelöscht.

gcloud

Führen Sie den Unterbefehl instance-groups managed delete-instances aus:

gcloud compute instance-groups managed delete-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    --zone zone

API

Senden Sie eine Anfrage an die Methode instanceGroupManagers.deleteInstances. Fügen Sie in den Anfragetext die URLs der zu löschenden Instanzen ein.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/deleteInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Nach einer Anfrage zum Löschen von Instanzen in einer verwalteten Instanzgruppe werden die Instanzen angehalten, sobald das System sie löschen kann. Je nachdem, wie viele Instanzen Sie aus der Gruppe löschen möchten, kann dies einige Zeit dauern. Prüfen Sie den Status der Instanzen in Ihrer verwalteten Instanzgruppe.

Instanzen in einer Gruppe verwerfen

Sie können eine VM-Instanz von einer verwalteten Instanzgruppe trennen, um Fehler in dieser VM leichter zu beheben, ohne die gesamte Gruppe in Mitleidenschaft zu ziehen. Durch das Verwerfen einer VM wird diese auch aus den Load-Balancern entfernt, die der verwalteten Instanzgruppe zugewiesen sind. Bestimmten Instanzen manuell zugeteilte Zielpools werden dagegen nicht entfernt.

Das Verwerfen von Instanzen reduziert den angegebenen Wert targetSize der Instanzgruppe, ändert jedoch keine der festgelegten Autoscaling-Einstellungen. Verwaltete Instanzgruppen, für die Autoscaling eingerichtet ist, fügen bei Bedarf weiterhin automatisch VMs hinzu oder entfernen diese.

Wenn die Gruppe Teil eines Back-End-Dienstes ist, für den der Verbindungsausgleich aktiviert ist, kann es nach Ablauf des Verbindungsausgleichs bis zu 60 Sekunden dauern, bis die VM-Instanz entfernt oder gelöscht wird.

Sie können Instanzen aus einer verwalteten Instanzgruppe mit der Google Cloud Console, dem gcloud compute-Tool oder der API verwerfen.

Console

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

    Zur Seite "Instanzgruppen"

  2. Klicken Sie in der Spalte Name der Liste auf die Instanzgruppe, aus der Sie Instanzen entfernen möchten. Ihnen wird eine Seite mit den Attributen der Instanzgruppe und einer Liste der zur Gruppe gehörenden Instanzen angezeigt.
  3. Wählen Sie aus der Liste die zu entfernenden Instanzen aus.
  4. Klicken Sie auf Aus Gruppe entfernen. Die ausgewählten Instanzen werden aus der Gruppe entfernt, werden aber weiterhin ausgeführt.

gcloud

Zum Entfernen einer Instanz aus der Instanzgruppe ohne die Instanz zu löschen, verwenden Sie den Unterbefehl abandon-instances.

gcloud compute instance-groups managed abandon-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    --zone zone

API

Senden Sie eine Anfrage an die Methode instanceGroupManagers.abandonInstances. Fügen Sie in den Anfragetext die URLs der zu verwerfenden Instanzen ein.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/abandonInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Nach einer Anfrage zum Verwerfen von Instanzen aus einer verwalteten Instanzgruppe werden diese so bald wie möglich aus der Gruppe entfernt. Prüfen Sie den Status der Instanzen in Ihrer verwalteten Instanzgruppe.

Instanzen in einer Gruppe neu erstellen

Beim Neuerstellen einer verwalteten Instanz wird die angegebene VM gelöscht und anhand der Instanzvorlage, die der verwalteten Instanzgruppe zugewiesen ist, neu erstellt.

Verwenden Sie diese Methode, um ausgewählte VMs mit der neuesten Instanzvorlage zu aktualisieren. Wenn Sie alle VMs in einer verwalteten Instanzgruppe neu erstellen müssen, starten Sie stattdessen ein Rolling Update.

Wenn die Gruppe Teil eines Back-End-Dienstes ist, für den der Verbindungsausgleich aktiviert ist, kann es nach Ablauf des Verbindungsausgleichs bis zu 60 Sekunden dauern, bis die VM-Instanz entfernt oder gelöscht wird.

Verwenden Sie zum Neuerstellen bestimmter VMs in der verwalteten Instanzgruppe das gcloud compute-Tool oder die API.

gcloud

Führen Sie den Unterbefehl instance-groups managed recreate-instances aus.

gcloud compute instance-groups managed recreate-instances instance-group-name \
    --instances example-i3n2,example-z2x9 \
    --zone zone

API

Senden Sie eine Anfrage an die Methode instanceGroupManagers.recreateInstances. Fügen Sie in den Anfragetext die URLs der neu zu erstellenden Instanzen ein.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name/recreateInstances

{
 "instances": [
  "zones/zone/instances/example-instance-i3n2",
  "zones/zone/instances/example-instance-l6n1"
 ]
}

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Nach einer Anfrage zum Neuerstellen von Instanzen in einer verwalteten Instanzgruppe werden die neuen VMs gestartet, sobald das System sie bereitstellen kann. Je nachdem, wie viele Instanzen Sie neu erstellen lassen, kann dies einige Zeit dauern. Prüfen Sie den Status der Instanzen in Ihrer verwalteten Instanzgruppe.

Verwaltete Instanzgruppe löschen

Wenn Sie eine verwaltete Instanzgruppe löschen, werden alle VMs in der Gruppe gelöscht. Falls Sie VMs aus dieser verwalteten Instanzgruppe beibehalten möchten, verwerfen Sie zuerst diese Instanzen, um die VMs aus der Gruppe zu entfernen. Dann können Sie die verwaltete Instanzgruppe löschen.

Wenn Sie eine verwaltete Instanzgruppe und ihre Instanzen mithilfe der Google Cloud Console oder dem gcloud compute-Tool löschen, werden alle zugehörigen Einstellungen zum Autoscaling automatisch gelöscht. Wenn Sie dazu die API verwenden, müssen Sie zuerst separate Anfragen zum Löschen zugehöriger Autoscaling-Einstellungen mit autoscalers.delete oder regionAutoscalers.delete ausgeben.

Console

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

    Zur Seite "Instanzgruppen"

  2. Wählen Sie aus der Liste eine oder mehrere zu löschende Gruppen aus.
  3. Klicken Sie auf Löschen, um die Gruppe und alle VMs in der verwalteten Instanzgruppe zu löschen.

gcloud

Führen Sie den Unterbefehl instance-groups managed delete aus.

gcloud compute instance-groups managed delete instance-group-name \
    --zone zone

API

Senden Sie eine Anfrage an die Methode instanceGroupManagers.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers/instance-group-name

Wenn es sich um eine regionale verwaltete Instanzgruppe handelt, ersetzen Sie zones/zone durch regions/region.

Instanzen auf Abruf in Gruppen erstellen

Sie können verwaltete Instanzgruppen verwenden, um schnell mehrere Instanzen auf Abruf zu erstellen, wodurch die Kosten der VMs in Ihren verwalteten Instanzgruppen reduziert werden können. Legen Sie beispielsweise eine Gruppe von Instanzen auf Abruf an, um eine Batchverarbeitungsaufgabe zu erledigen, und löschen Sie sie wieder, wenn die Aufgabe abgeschlossen ist.

Zum Erstellen einer Gruppe von Instanzen auf Abruf richten Sie die entsprechende Option in der Instanzvorlage ein und legen dann anhand der Vorlage die verwaltete Instanzgruppe an.

Console

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

    Zur Seite "Instanzvorlagen"

  2. Klicken Sie auf Neue Instanzvorlage.
  3. Legen Sie die Attribute der Instanzvorlage fest.
  4. Klicken Sie auf Erweiterte Optionen ansehen, um den Bereich Verfügbarkeitsrichtlinien zu maximieren.
  5. Legen Sie für Präemptivität die Einstellung An fest.
  6. Klicken Sie auf Erstellen, um die Vorlage anzulegen.
  7. Verwenden Sie die Vorlage, um eine verwaltete Instanzgruppe zu erstellen.

gcloud

Erstellen Sie in gcloud compute eine Instanzvorlage mit dem Befehl instance-templates create. Fügen Sie das Flag --preemptible ein.

gcloud compute instance-templates create instance-template \
    --preemptible

Verwenden Sie die neue Instanzvorlage, um eine verwaltete Instanzgruppe zu erstellen.

API

Erstellen Sie mit der Methode instanceTemplates().insert eine neue Instanzvorlage. Fügen Sie das Attribut preemptible unter scheduling hinzu und legen Sie es auf true fest.

{
"name": "instance-template",
"properties": {
  "machineType": "zones/zone/machineTypes/machine-type",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "scheduling":
  {
    "preemptible": true
  },
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
      }
    }
  ]
  }
}

Verwenden Sie die neue Instanzvorlage, um eine verwaltete Instanzgruppe zu erstellen.

Informationen zu den Feldern instanceTemplate und versions

Wenn Sie eine verwaltete Instanzgruppe erstellen, geben Sie eine Instanzvorlage an, die die verwaltete Instanzgruppe zum Erstellen einzelner VM-Instanzen verwendet. Standardmäßig beschreibt Compute Engine die verwendete Instanzvorlage in zwei separaten API-Attributen: in dem übergeordneten Attribut instanceTemplate und dem Attribut versions. Beachten Sie, dass in der folgenden verwalteten Instanzgruppe z. B. sowohl das Feld instanceTemplate als auch das Feld versions ausgefüllt sind:

{

 "name": "example-group",
 "zone": "zones/us-central1-a",
 "instanceTemplate": "global/instanceTemplates/example-it",
 "versions": [
  {
   "name": "v3",
   "instanceTemplate": "global/instanceTemplates/example-it",
   "targetSize": {
    "calculated": 3
   }
  }
 ]...
}

Compute Engine füllt automatisch das übergeordnete Feld instanceTemplate und das Feld versions aus, um die Abwärtskompatibilität zu gewährleisten. Wir empfehlen, Angaben im Feld versions zu machen und das übergeordnete Feld instanceTemplates nach Möglichkeit auszulassen. Wenn Ihr Anwendungscode jedoch derzeit das übergeordnete Feld instanceTemplate ausfüllt, ist diese Anfrage trotzdem gültig.

Weitere Informationen zum Managed Instance Group Updater erhalten Sie unter Aktualisierungen für MIGs einführen.

(Erweitert) Instanzvorlagen an Teilen verwalteter Instanzgruppen testen

Sie können eine verwaltete Instanzgruppe erstellen, bei der zwei Gruppen von VMs unterschiedliche Instanzvorlagen verwenden. Sie möchten beispielsweise eine verwaltete Instanzgruppe mit 20 VM-Instanzen erstellen, von denen 10 VMs ein bestimmtes Betriebssystem-Image verwenden, der Rest aber ein anderes Betriebssystem-Image verwenden soll. Mit diesem Feature können Sie die beiden verschiedenen Versionen von Instanzvorlagen vergleichen, bevor Sie sich für eine entscheiden.

Stellen Sie in der API eine POST-Anfrage an die folgende URL:

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroupManagers

Der Text der Anfrage sollte das übergeordnete Feld instanceTemplates auslassen, aber das Attribut versions mit zwei Instanzvorlagen enthalten. In jedem versions-Objekt legen Sie eine Instanzvorlage fest. Für eines der versions-Objekte, aber nicht für beide, müssen Sie auch die Zielgröße (targetSize) angeben. Mit der folgenden Anfrage wird beispielsweise eine Instanzgruppe erstellt, bei der 50 % der VM-Instanzen die Instanzvorlage example-template und der Rest der VM-Instanzen die Vorlage small-machine-type verwenden:

{
  "baseInstanceName": "example-instances",
  "name": "example-group",
  "targetSize": 5,
  "versions":
  [
    {
      "instanceTemplate": "global/instanceTemplates/example-template",
      "targetSize":
      {
        "percent": 50
      }
    },
   {
     "instanceTemplate": "global/instanceTemplates/small-machine-type"
   }
  ]
}

Verwaltete Instanzgruppen und IAM

Für alle Vorgänge, die Compute Engine im Rahmen einer verwalteten Instanzgruppe ausführt, wird für Ihr Projekt das Google APIs-Dienstkonto verwendet. Dieses projektbezogene Dienstkonto hat eine E-Mail-Adresse in folgendem Format, wobei project-id die numerische ID des entsprechenden Projekts ist:

project-id@cloudservices.gserviceaccount.com

Das Google APIs-Dienstkonto unterscheidet sich vom standardmäßigen Compute Engine-Dienstkonto.

Sie müssen dafür sorgen, dass das Dienstkonto, das für die verwaltete Instanzgruppe verwendet wird, über die entsprechenden Berechtigungen verfügt, um mithilfe der Instanzvorlage VM-Instanzen zu erstellen. Das bedeutet insbesondere, dass das Dienstkonto die Rolle compute.instanceAdmin.v1 und gegebenenfalls die Rolle serviceAccountUser haben muss, sodass es in der Instanzgruppe VMs erstellen und verwalten kann. Die Rolle serviceAccountUser ist nur erforderlich, wenn die verwaltete Instanzgruppe VMs erstellt, die als Dienstkonto ausgeführt werden können. Beachten Sie, dass dieses Konto auch von anderen Prozessen wie Deployment Manager genutzt wird.

Wenn Sie eine verwaltete Instanzgruppe erstellen oder eine Instanzvorlage aktualisieren, wird von Compute Engine überprüft, ob das Google APIs-Dienstkonto die folgenden Voraussetzungen erfüllt:

  • Rolle serviceAccountUser. Wichtig, wenn Sie Instanzen erstellen möchten, die als Dienstkonto ausgeführt werden können.
  • Berechtigungen für alle Ressourcen, auf die Instanzvorlagen verweisen, wie Images, Laufwerke, VPC-Netzwerke und Subnetzwerke.

Weitere Informationen zu Dienstkonten finden Sie in der Übersicht zu Dienstkonten.

Alle Instanzen in einer verwalteten Instanzgruppe aktualisieren

Weitere Informationen finden Sie unter Aktualisierungen für MIGs einführen.

Weitere Informationen