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
- Wenn Sie die API-Beispiele dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie das
gcloud
-Befehlszeilentool. - Erstellen Sie eine Instanzvorlage, bei der es sich um einen Baustein für eine verwaltete Instanzgruppe handelt.
Beschränkungen
- Mit einer regionalen MIG können Sie bis zu 2.000 VMs in einer Region mit maximal 1.000 VMs pro Zone erstellen. Mit einer zonalen MIG können Sie bis zu 1.000 VMs erstellen. Wenden Sie sich bei höherem Bedarf an den Support.
- Wenn Sie eine MIG aktualisieren, können Sie bis zu 1.000 VMs in einer einzelnen Anfrage angeben.
Wenn Sie eine zustandsorientierte MIG wünschen, lesen Sie die Beschränkungen für zustandsorientierte MIGs.
Wenn Sie eine regionale MIG wünschen, lesen Sie die Beschränkungen für regionale MIGs.
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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- Klicken Sie auf Instanzgruppe erstellen.
- Geben Sie einen Namen für die MIG ein und wählen Sie die Zone aus, in die Gruppe erstellt werden soll.
- Wählen Sie unter Gruppentyp die Option Verwaltete Instanzgruppe aus.
- Wählen Sie unter Instanzvorlage eine Instanzvorlage aus. Wenn keine Vorlagen vorhanden sind, erstellen Sie eine Instanzvorlage.
- 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.
- 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 alsexample
festlegen, haben VMs Namen wieexample-yahs
undexample-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
durchregions/region
und geben Sie eine Region an.
- Ersetzen Sie für eine regionale MIG
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 alsexample
festlegen, haben VMs Namen wieexample-yahs
undexample-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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- Klicken Sie in der Spalte Name der Liste auf den Namen der Instanzgruppe, deren Vorlage Sie ändern möchten.
- Klicken Sie auf Gruppe bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
- Wählen Sie unter Instanzvorlage die neue Vorlage für die Gruppe aus.
- 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:
- Automatische Skalierung für zustandslose Anwendungen
- Größe der MIG manuell festlegen
- Instanzen mit bestimmten Namen erstellen, oder bestimmte Instanzen löschen oder verwerfen.
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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- Klicken Sie in der Spalte Name der Liste auf die Instanzgruppe, deren Größe Sie anpassen möchten.
- Klicken Sie auf Gruppe bearbeiten, um die verwaltete Instanzgruppe zu bearbeiten.
- 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.
- 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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- 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.
- Wählen Sie aus der Liste die zu löschenden Instanzen aus.
- 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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- 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.
- Wählen Sie aus der Liste die zu entfernenden Instanzen aus.
- 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
- Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
- Wählen Sie aus der Liste eine oder mehrere zu löschende Gruppen aus.
- 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
- Rufen Sie in der Cloud Console die Seite Instanzvorlagen auf.
- Klicken Sie auf Neue Instanzvorlage.
- Legen Sie die Attribute der Instanzvorlage fest.
- Klicken Sie auf Erweiterte Optionen ansehen, um den Bereich Verfügbarkeitsrichtlinien zu maximieren.
- Legen Sie für Präemptivität die Einstellung An fest.
- Klicken Sie auf Erstellen, um die Vorlage anzulegen.
- 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
- Instanzvorlage erstellen, die für eine verwaltete Instanzgruppe verwendet werden kann
- Informationen zur Arbeit mit verwalteten Instanzen, zum Beispiel verwaltete Instanzen löschen, verwerfen und neu erstellen oder verwaltete Instanzen mit bestimmten Namen erstellen
- Informationen zu verwalteten Instanzgruppen und verwalteten Instanzen abrufen
- Einen Load-Balancer auswählen oder eine Instanzgruppe zu einem Load-Balancer hinzufügen
- Automatische Reparatur für die verwaltete Instanzgruppe aktivieren
- Autoscaling für die verwaltete Instanzgruppe aktivieren
- Automatischen Updater verwenden, um die verwalteten Instanzen mit einer neuen Vorlage zu aktualisieren
- Lesen Sie auch diese Anleitungen:
- Fehler bei verwalteten Instanzgruppen beheben