Unterschiede zwischen "Neustart" und "ec2-Neustart-Instanzen"

16

Welche Unterschiede bestehen zwischen dem Aufrufen rebootüber die Befehlszeile einer EC2-Instanz und dem Ausgeben des ec2-reboot-instancesBefehls über die AWS-Befehlszeilentools auf einem anderen Computer?

Hat ec2-reboot-instancesalles tun , dass das Senden rebootüber eine SSH - Sitzung wird nicht tun, wie Umwelt Dinge spezifisch für AWS Handhabung?

Gibt es eine Präferenz zwischen den beiden Befehlen?

In meinem speziellen Fall verwende ich die Java-Bibliothek, um auf die AWS-API zuzugreifen, und nicht das Befehlszeilentool, aber es ruft unter AWS immer noch denselben Befehl auf. Die Java-Bibliothek ist ausführlicher als das Befehlszeilentool, sodass es einfacher ist, den rebootBefehl über SSH zu senden. Ich würde jedoch gerne verstehen, ob es noch weitere Überlegungen gibt, die die Verwendung des AWS-API-Ansatzes lohnen.

Chrisbunney
quelle

Antworten:

12

Unterschiede in der Verwendung:

  • Kein SSH-Zugriff erforderlich (kann von jedem Computer oder sogar von der AWS-Konsole ausgeführt werden)
  • ec2-reboot-instances erfordert AWS-Anmeldeinformationen
  • Kann problemlos Skripte für mehrere Instanzen erstellen (einfacher in andere AWS-Services zu integrieren)

Funktionsunterschied:

  • ec2-reboot-instanceswird nach 4 Minuten einen harten Neustart erzwingen, wenn die Instanz nicht ordnungsgemäß heruntergefahren wurde. (Siehe Dokumentation )
  • Der Befehl bestätigt den Erfolg nicht - die Neustartanforderung wird in die Warteschlange gestellt, aber Sie werden nicht darüber informiert, ob dies funktioniert hat oder ob ein schwerer Start erforderlich ist.
  • Die Ausführung des Befehls verzögert sich geringfügig - normalerweise nicht erkennbar

In Fällen, in denen die Instanz reagiert und über SSH reboot(über SSH) erreichbar ist, wird dieselbe Aufgabe ausgeführt wie ec2-reboot-instances.


Als zusätzlichen Hinweis genügen Neustarts von SSH für die geplante Wartung (dh Sie müssen sie nicht verwenden ec2-reboot-instances). Gemäß der Dokumentation :

Instanzneustarts sind Neustarts Ihrer virtuellen Instanz und entsprechen einem Neustart des Betriebssystems.

Das Verwalten von Neustarts Ihrer eigenen Instanz ist sehr einfach. ... Sie können Ihre Instanz auch über das Betriebssystem Ihrer Instanz neu starten.

cyberx86
quelle
Löst ein Nicht-EC2-Neustartbefehl geplante Wartungsereignisse aus?
Ceejayoz
@ceejayoz: Ja, es wird - die Antwort aktualisiert, um es zu erwähnen.
cyberx86
Ich habe eine Situation, in der die Ausgabe sudo rebootdas angehängte EBS-Volume auf den Dateisystemstatus zurücksetzt, als das AMI erstellt wurde ... und ein Neustart über die Konsole nicht. Ich wünschte, ich könnte mehr Details liefern ... aber ja, es ist komisch.
Carl G