In diesem Dokument wird beschrieben, wie eine verwaltete Instanzgruppe eine Hochverfügbarkeit Ihrer Anwendung ermöglicht, indem fehlgeschlagene und fehlerhafte VMs in der Gruppe repariert werden.
Eine verwaltete Instanzgruppe hält Ihre Anwendung verfügbar und sorgt dafür, dass die Anzahl der laufenden VMs in der Gruppe proaktiv beibehalten wird. Wenn eine VM in der Gruppe ausfällt, repariert die verwaltete Instanzgruppe die VM. Dazu wird sie auf die folgende Weise neu erstellt:
- Fehlgeschlagene VM automatisch reparieren: Wenn eine VM ausfällt oder durch eine nicht von der verwaltete Instanzgruppe initiierte Aktion gelöscht wird, repariert die MIG die fehlgeschlagene VM automatisch. Weitere Informationen finden Sie in diesem Dokument unter Fehlgeschlagene VMs automatisch reparieren.
- VM anhand einer Systemdiagnose der Anwendung reparieren: Eine optionale Möglichkeit, die Hochverfügbarkeit durch Reparatur von fehlerhaften VMs weiter zu verbessern. Wenn Sie eine anwendungsbasierte Systemdiagnose konfigurieren und Ihre Anwendung die Systemdiagnose nicht besteht, markiert die verwaltete Instanzgruppe diese VM als fehlerhaft und repariert sie. Die Reparatur einer VM, die auf einer anwendungsbasierten Systemdiagnose beruht, wird auch als automatische Reparatur bezeichnet. Weitere Informationen finden Sie in diesem Dokument unter VM anhand einer Systemdiagnose der Anwendung reparieren.
Fehlgeschlagene VMs automatisch reparieren
Wenn eine VM in einer MIG fehlschlägt, repariert die VM automatisch die fehlgeschlagene VM, indem sie sie neu erstellt. Eine VM kann aus folgenden Gründen fehlschlagen:
- Unerwartete Gründe wie ein Hardwarefehler.
- Aktionen, die nicht von der verwalteten Instanzgruppe initiiert werden, wie z. B.:
- Vorzeitiges Beenden einer Spot-VM.
- Infrastrukturwartungsereignisse, wenn die VM-Instanz nicht auf Live-Migration eingestellt ist.
- Aktionen, die direkt auf einer VM über die Console-Seite „VM-Instanzen“,
instances
gcloud CLI-Befehle oder dieinstances
API-Ressource ausgeführt werden. Wenn Sie beispielsweise eine VM in der Gruppe mit der Methodeinstances.stop
oder dem Befehlgcloud compute instances stop
beenden, wird die Reparatur ausgelöst.
Wenn die verwaltete Instanzgruppe eine VM absichtlich beendet, z. B. wenn ein Autoscaling eine VM löscht, wird die VM nicht repariert.
VM anhand einer Systemdiagnose der Anwendung reparieren
Zusätzlich zur automatischen Reparatur fehlgeschlagener VMs möchten Sie möglicherweise eine VM reparieren, wenn die auf der VM ausgeführte Anwendung einfriert, abstürzt oder nicht genügend Arbeitsspeicher zur Verfügung hat. Sie können eine anwendungsbasierte Systemdiagnose konfigurieren, um sicherzustellen, dass die Anwendung wie erwartet reagiert.
Mit einer anwendungsbasierten Systemdiagnose wird regelmäßig überprüft, ob Ihre Anwendung auf jeder VM in einer MIG wie erwartet reagiert. Wenn die Anwendung auf einer VM nicht reagiert, markiert die MIG diese VM als fehlerhaft. Die MIG repariert dann automatisch die fehlerhafte VM. Die Reparatur einer VM, die auf einer anwendungsbasierten Systemdiagnose beruht, wird als automatische Reparatur bezeichnet.
Damit die MIG eine Teilmenge der VMs weiterhin ausführen kann, werden nicht alle Instanzen gleichzeitig automatisch repariert. Dies ist zum Beispiel nützlich, wenn eine falsche Systemdiagnose unnötige Reparaturen auslöst, eine falsch konfigurierte Firewallregel verhindert, dass eine Systemdiagnose die VM prüft, oder wenn es Probleme mit der Netzwerkverbindung oder -infrastruktur gibt, die eine fehlerfreie VM als fehlerhaft identifizieren. Wenn eine zonale verwaltete Instanzgruppe aber nur eine VM oder eine regionale verwaltete Instanzgruppe nur eine VM pro Zone hat, erstellt die verwaltete Instanzgruppe diese VMs neu, sobald sie fehlerhaft werden.
Richtlinie für die automatische Reparatur
Für jede MIG gibt es eine Richtlinie für die automatische Reparatur, in der Sie eine Systemdiagnose konfigurieren und zusätzlich eine anfängliche Verzögerung festlegen können. Die anfängliche Verzögerung ist die Zeit, die eine neue VM zum Initialisieren und Ausführen des Startskripts benötigt. Der Timer für die anfängliche Verzögerung startet, wenn die MIG das Feld currentAction
der VM in VERIFYING
ändert. Während des anfänglichen Verzögerungszeitraums einer VM ignoriert die MIG fehlgeschlagene Systemdiagnosen, da sich die VM möglicherweise im Startvorgang befindet. Dadurch wird verhindert, dass die MIG eine VM vorzeitig neu erstellt. Wenn die Systemdiagnose während der anfänglichen Verzögerung eine fehlerfreie Antwort empfängt, gibt dies an, dass der Startvorgang abgeschlossen ist und die VM bereit ist.
Weitere Informationen zum Konfigurieren einer Richtlinie für die automatische Reparatur finden Sie unter Systemdiagnose und automatische Reparatur einer Anwendung einrichten.
Änderungen des Anwendungsstatus überwachen
Wenn Sie eine anwendungsbasierte Systemdiagnose in Ihrer verwalteten Instanzgruppe konfiguriert haben, können Sie den Systemzustand jeder VM in der verwalteten Instanzgruppe prüfen. Weitere Informationen finden Sie unter VMs auf fehlerfreien Status prüfen.
Sie können auch die Änderungen des Systemzustands einer VM überwachen. Weitere Informationen finden Sie unter Änderungen des Systemzustands beobachten.
Preise
Wenn Sie eine anwendungsbasierte Systemdiagnose einrichten, schreibt Compute Engine standardmäßig einen Logeintrag, wenn sich der Systemzustand einer verwalteten Instanz ändert. In Cloud Logging steht ein kostenloses Kontingent pro Monat zur Verfügung. Ist es aufgebraucht, wird das Logging nach Datenvolumen abgerechnet. Sie können Kosten vermeiden, indem Sie die Änderungslogs des Systemzustand deaktivieren.
Verhalten während der Reparatur
In den folgenden Abschnitten wird das Verhalten bei automatischen Reparaturen und Reparaturen anhand der Systemdiagnose der Anwendung erläutert.
Bei Reparatur aktualisieren
Standardmäßig erstellt eine verwaltete Instanzgruppe während einer Reparatur eine VM mit der ursprünglichen Instanzvorlage, die zum Erstellen der VM verwendet wurde. Wenn beispielsweise eine VM mit instance-template-a
erstellt wurde und Sie die verwaltete Instanzgruppe so aktualisieren, dass instance-template-b
im OPPORTUNISTIC
-Modus verwendet wird, nutzt die verwaltete Instanzgruppe weiterhin instance-template-a
, um die VM neu zu erstellen.
Wenn Sie möchten, dass die verwaltete Instanzgruppe während der VM-Reperatur die neuesten Instanzvorlagen und instanzspezifischen Konfigurationen verwendet, können Sie die Gruppe so konfigurieren, dass sieKonfigurationsupdates während der Reparatur anwendet.
Umgang mit Laufwerken
Während einer Reparatur einer VM anhand ihrer Vorlage werden von der verwaltete Instanzgruppe unterschiedliche Arten von Laufwerken unterschiedlich behandelt. Einige Laufwerkkonfigurationen können dazu führen, dass die Reparatur fehlschlägt, sobald Sie versuchen, eine VM neu zu erstellen.
Laufwerkstyp | autodelete |
Verhalten während der Reparatur |
---|---|---|
Neuer nichtflüchtiger Speicher | true |
Das Laufwerk wird gemäß der Instanzvorlage neu erstellt. Alle Daten, die auf dieses Laufwerk geschrieben wurden, gehen verloren, wenn das Laufwerk und seine VM neu erstellt werden. |
Neuer nichtflüchtiger Speicher | false |
Das Laufwerk bleibt erhalten und wird wieder angefügt, wenn die verwaltete Instanzgruppe die VM neu erstellt. |
Vorhandener nichtflüchtiger Speicher | true |
Altes Laufwerk wird gelöscht. Die Neuerstellung der VM schlägt fehl, da Compute Engine der VM kein gelöschtes Laufwerk neu hinzufügen kann. Bei vorhandenen Laufwerken mit Lese- und Schreibberechtigung kann eine MIG jedoch maximal eine VM enthalten, da ein einzelner nichtflüchtiger Speicher im Schreib-/Lesemodus nicht mehreren VMs zugeordnet werden kann. |
Vorhandener nichtflüchtiger Speicher | false |
Das alte Laufwerk wird gemäß der Instanzvorlage wieder hinzugefügt. Die Daten auf dem Laufwerk bleiben erhalten. Bei vorhandenen Laufwerken mit Lese- und Schreibberechtigung kann eine MIG jedoch maximal eine VM enthalten, da ein einzelner nichtflüchtiger Speicher im Schreib-/Lesemodus nicht mehreren VMs zugeordnet werden kann. |
Neue lokale SSD | – | Das Laufwerk wird gemäß der Instanzvorlage neu erstellt. Die auf einer lokalen SSD abgelegten Daten gehen verloren, wenn eine VM neu erstellt oder gelöscht wird. |
Die verwaltete Instanzgruppe ordnet Laufwerke, die nicht in der Instanzvorlage oder den instanzspezifischen Konfigurationen angegeben sind, wie z. B. Laufwerke, die Sie nach dem Erstellen der VM dieser manuell zugeordnet haben, nicht neu zu.
Treffen Sie folgende Vorkehrungen, um wichtige Daten, die auf das Laufwerk geschrieben wurden, zu erhalten:
- Erstellen Sie regelmäßig Snapshots des nichtflüchtigen Speichers.
- Exportieren Sie Daten in eine andere Quelle, zum Beispiel Cloud Storage.
- Zustandsorientierte nichtflüchtige Speicher konfigurieren
Wenn Ihre VMs wichtige Einstellungen enthalten, die Sie beibehalten möchten, empfiehlt Google außerdem, in Ihrer Instanzvorlage ein benutzerdefiniertes Image zu verwenden. Ein benutzerdefiniertes Image enthält alle benötigten benutzerdefinierten Einstellungen. Wenn Sie in Ihrer Instanzvorlage ein benutzerdefiniertes Image festlegen, verwendet die verwaltete Instanzgruppe zum Neuerstellen von VMs das benutzerdefinierte Image, das die erforderlichen benutzerdefinierten Einstellungen enthält.
Deaktivieren Sie die Reparaturen
Sie können Reparaturen deaktivieren, die automatisch von einer MIG ausgeführt werden. Wenn Sie Reparaturen deaktivieren, werden die Reparatur von ausgefallenen VMs und die Reparatur auf der Grundlage einer Systemdiagnose ausgeschaltet.
In folgenden Fällen kann es sinnvoll sein, Reparaturen in einer MIG zu deaktivieren:
- Um eine ausgefallene VM ohne Unterbrechung durch die automatische Reparatur zu prüfen oder Fehler zu beheben.
- Um VMs manuell zu reparieren oder Ihre eigene Reparaturlogik zu implementieren.
- Um zu verhindern, dass neue VMs registriert werden, während ein Batchjob ausgeführt wird.
- Um den Systemzustand einer Anwendung zu beobachten, ohne eine fehlerhafte VM zu reparieren.
- Um die Konfiguration der Systemdiagnose ohne falsch ausgelöste Reparaturen zu optimieren.
Wenn Sie Reparaturen deaktivieren, ergreift die MIG keine Maßnahmen, wenn eine VM in der Gruppe ausfällt oder fehlerhaft wird. Ausgefallene und fehlerhafte VMs bleiben in der Gruppe und die Zielanzahl der laufenden VMs in der MIG (targetSize
) bleibt gleich.
Wenn der Updatetyp der MIG auf proactive
festgelegt ist und eine neue Instanzvorlage verfügbar ist, versucht die MIG, die ausgefallenen und fehlerhaften VMs zu aktualisieren.
Wenn Sie eine anwendungsbasierte Systemdiagnose konfiguriert haben, hat das Deaktivieren von Reparaturen keine Auswirkungen auf die Funktion der Systemdiagnose. Die Systemdiagnose prüft weiterhin die Anwendung und liefert die Zustandsdaten der VM. So können Sie den Systemzustand von Anwendungen überwachen und gleichzeitig verhindern, dass die verwaltete Instanzgruppe fehlerhafte VMs repariert.
Wenn die MIG Teil eines Backend-Diensts eines Load Balancers ist und Sie die Reparaturen in der MIG deaktivieren, reagieren nicht reparierte und fehlerhafte VMs nicht auf die Systemdiagnose des Load Balancers. Wenn die Anzahl dieser fehlgeschlagenen oder fehlerhaften VMs in der MIG zunimmt, kann der Load Balancer den Traffic zu dieser MIG reduzieren oder zu einem anderen Backend wechseln, sofern dies konfiguriert ist. Wenn die fehlgeschlagenen VMs wieder verfügbar sind, setzt der Load Balancer den Traffic an die MIG fort.
Weitere Informationen finden Sie unter Reparaturen in einer verwalteten Instanzgruppe deaktivieren.
Nächste Schritte
- Anwendungsbasierte Systemdiagnose und automatische Reparatur einrichten.
- MIG auf Deaktivierung von VM-Reparaturen prüfen.
- Konfigurationsupdates während der Reparatur anwenden.