Direkt zum Inhalt

Warum wird meine Amazon-EC2-Linux-Instance neu gebootet oder neu gestartet?

Lesedauer: 4 Minute
0

Ich möchte wissen, warum meine Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance unerwartet neu gebootet oder neu gestartet wird.

Kurzbeschreibung

Deine Instance könnte aus den folgenden Gründen unerwartet neu gebootet oder neu gestartet werden:

  • Die Instance hat ihre Statusüberprüfungen nicht bestanden.
  • Es gibt ein Problem mit der zugrunde liegenden Hardware, die deine Instance hostet, und Amazon EC2 hat die Instance neu gestartet, um sie auf eine fehlerfreie Hardware zu verschieben.
  • Geplante Wartungen an der Instance haben einen Reboot initiiert.
  • Ein Benutzer oder eine Anwendung auf dem Server hat die Instance neu gebootet.
  • Es gibt einen Kernel-Bug.
  • Du hast Instance neu starten bei der Erstellung von Amazon Machine Image (AMI) aktiviert.
  • AWS Systems Manager hat eine verwaltete Instance neu gestartet.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Überprüfung des Servicestatus-Dashboards

Suche im AWS-Servicestatus-Dashboard nach Ereignissen, die neu gebootet wurden, wie z. B. vereinfachte automatische Wiederherstellung, geplante Wartung und Außerbetriebnahme. Um auf die Servicestatus-Benachrichtigungen zu reagieren, verschiebe das geplante Ereignis oder stoppe und starte die Instance manuell.

Statusüberprüfungen anzeigen

Verwende die Amazon-EC2-Konsole oder die AWS CLI, um die ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_status.html)Statusüberprüfungen der Instance anzuzeigen[. Wenn die Instance eine Statusüberprüfung nicht bestanden hat, findest du weitere Informationen unter Wie behebe ich Fehler bei der Statusüberprüfung für meine EC2-Linux-Instance?

Systemprotokolle anzeigen

Wenn die Instance keine Statusüberprüfung bestanden hat, wird die Instance möglicherweise aufgrund von Problemen mit dem Betriebssystem neu gebootet. Um Probleme auf Betriebssystemebene zu beheben, überprüfe die Systemprotokolle /var/log/messages und /var/log/syslog. Wenn die Instance die Statusüberprüfung nicht bestanden hat, boote die Instance neu, um die Systemprotokolle abzurufen.

Behebe dann den Fehler, der im Systemprotokoll aufgeführt ist.

Reboot-Verlauf anzeigen

Führe den folgenden Befehl aus, um zu überprüfen, ob ein Benutzer oder eine Anwendung auf dem Server den Reboot initiiert hat:

grep reboot /home/*/.bash_history
grep reboot /root/.bash_history
history | grep -i reboot
history | grep -i init
last reboot

Überprüfe den CloudTrail-Ereignisverlauf

Instance-Neustarts, die du auf der Amazon-EC2-Konsole oder der AWS CLI initiiert hast, werden im AWS-CloudTrail-Ereignisverlauf angezeigt. Überprüfe den CloudTrail-Ereignisverlauf auf RebootInstances-Ereignisse.

Hinweis: Wenn du ein AMI erstellst, aktiviert Amazon EC2 standardmäßig Instance neu starten und startet die Instance neu, bevor es das AMI erstellt. Dieser Neustart erscheint im CreateImage-Ereignis, nicht im RebootInstances-Ereignis.

Wenn du eine AMI-Lebenszyklusrichtlinie erstellt hast, überprüfe unter Instance-Neustart, ob du Instance bei der Richtlinienausführung neu starten auf Ja gesetzt hast. Ist dies der Fall, wurde die Instance während der AMI-Erstellung neu gestartet.

Um Instances, die aufgrund von Hardwareproblemen neu gestartet werden, automatisch wiederherzustellen, konfiguriere die aktionsbasierte Amazon-CloudWatch-Wiederherstellung.

Den Kernel aktualisieren

Hinweis: Es hat sich bewährt, ein AMI-Backup der Instance zu erstellen, bevor du die Pakete darauf aktualisierst. Diese Konfiguration ermöglicht es dir, Änderungen bei Bedarf rückgängig zu machen.

Gehe wie folgt vor, um den Kernel zu aktualisieren:

  1. Führe den folgenden Befehl aus, um die Kernelversion zu überprüfen, die die Instance verwendet:

    sudo uname -r
  2. Führe je nach Linux-Betriebssystem einen der folgenden Befehle aus, um den Kernel zu aktualisieren.
    Red Hat Enterprise Linux (RHEL) oder Amazon Linux:

    sudo yum update kernel

    SUSE Linux Enterprise Server (SLES):

    sudo zypper up kernel-default

    Ubuntu:

    sudo apt upgrade linux-image-aws
  3. Führe den folgenden Befehl aus, um die Instance neu zu booten und den neuen Kernel zu verwenden:

    sudo reboot

Befehlsausführungsverlauf anzeigen, um zu überprüfen, ob Systems Manager die Instance neu gestartet hat

Wenn du einen Patchvorgang auf deiner Instance konfigurierst, wobei RebootOption auf RebootIfNeeded gesetzt ist, startet Systems Manager die Instance während eines Patches neu.

Gehe wie folgt vor, um zu überprüfen, ob Systems Manager Run Command ausgeführt hat:

  1. Öffne die Systems-Manager-Konsole.
  2. Wähle im Navigationsbereich die Option Run Command aus.
  3. Wähle die Registerkarte Befehlsverlauf aus
  4. Gib in das Suchfeld deine Instance-ID ein, um alle Befehle anzuzeigen, die Systems Manager für die Instance ausgeführt hat.

Ähnliche Informationen

Fehlerbehebung bei Amazon-EC2 Linux-Instances mit fehlgeschlagenen Statusüberprüfungen

Arten von Statusüberprüfungen

AWS-Servicestatus-Benachrichtigungen in AWS-Benutzerbenachrichtigungen verwalten

Wie kehre ich zu einem bekannten stabilen Kernel zurück, nachdem eine Aktualisierung den Neustart meiner EC2-Instance blockiert hat?

AWS OFFICIALAktualisiert vor 3 Monaten