Unterschied zwischen Neustart und Neustart einer amazon EC2-Instanz

13

Mir ist aufgefallen, dass das Aufrufen ec2.rebootInstanceseiner Amazon EC2-Instanz viel schneller war als das Stoppen und erneute Starten ( ec2.stopInstances ec2.startInstances).

Es behielt auch die IP-Adresse der Instanz bei (ich habe keine elastische IP-Adresse). Was macht ec2.rebootInstance anders als das Stoppen und Starten einer Instanz?

figaro
quelle

Antworten:

23

Wenn Sie eine EBS-Startinstanz stoppen, geben Sie die physische Hardware (oder einen Teil davon) auf, auf der der Server ausgeführt wurde, und EC2 kann die Instanz einer anderen Person dort starten.

Ihr EBS-Startvolume (und andere angehängte EBS-Volumes) bleiben weiterhin erhalten, obwohl sie nicht wirklich an einen physischen oder virtuellen Server gebunden sind. Sie sind nur einer Instanz-ID zugeordnet, die nirgendwo ausgeführt wird.

Wenn Sie die Instanz erneut starten, wählt EC2 Hardware zum Ausführen aus, bindet die EBS-Volumes ein und bootet sie erneut vom Root-Volume.

Dinge, die sich beim Stoppen / Starten ändern, sind:

  1. Neue interne IP-Adresse (kann jedoch zufällig identisch sein).

  2. Neue externe IP-Adresse (könnte jedoch zufällig dieselbe sein).

  3. Wenn der Instanz vor dem Stoppen eine elastische IP-Adresse zugeordnet war, müssen Sie sie nach dem Start erneut zuordnen.

  4. Alle Inhalte auf dem früheren kurzlebigen Speicher der Instanz wurden gelöscht, und Sie erhalten einen neuen kurzlebigen Speicher.

  5. Sie können eine Instanz so lange gestoppt lassen, wie Sie möchten, und sie wird nicht für die Laufzeit berechnet. Siehe den nächsten Punkt.

  6. Eine neue Abrechnungsstunde wird für die Instanz gestartet, wenn Sie sie erneut starten. Wenn Sie beispielsweise eine neue Instanz starten und diese innerhalb der ersten 60 Minuten dreimal stoppen / starten, werden Ihnen statt 1 Stunde 4 Stunden berechnet.

  7. Es besteht eine geringe Wahrscheinlichkeit, dass EC2 nicht über Slots des richtigen Instanztyps verfügt, um Ihre Instanz auszuführen, wenn Sie sie erneut starten möchten. Ich hatte dies geschehen und wechselte vorübergehend zu einem anderen verfügbaren Instanztyp, um es wieder zum Laufen zu bringen.

Wenn Sie neu starten, ist dies ein einfacher Neustart auf Betriebssystemebene, und die Instanz wird weiterhin auf derselben Hardware mit denselben privaten und öffentlichen IP-Adressen ausgeführt, behält dieselbe elastische IP-Adresse (falls zugeordnet) bei und behält denselben kurzlebigen Speicher bei, ohne dass er abgerufen wird abgewischt. Bei einem Neustart wird keine neue Abrechnungsstunde gestartet, und Sie geben die Instanzhardware nicht auf.

Während eine Instanz gestoppt ist, können Sie einige coole Dinge tun, bevor Sie sie erneut starten. Hier ist ein Artikel, den ich über das Ändern des Instanztyps einer angehaltenen Instanz geschrieben habe:

Verschieben einer EC2-Instanz auf eine größere Größe
http://alestic.com/2011/02/ec2-change-type

Hier ist ein Artikel, den ich geschrieben habe, um die Größe einer EBS-Bootdiskette einer Instanz zu ändern, während diese angehalten ist:

Ändern der Größe der Root-Festplatte auf einer laufenden EBS Boot EC2-Instanz
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Hier ist ein Artikel, den ich geschrieben habe, um die Root-Festplatte einer Instanz zu untersuchen (während sie angehalten ist), wenn Sie keine Verbindung zu ihr herstellen können, während sie ausgeführt wird:

Reparieren von Dateien auf dem Root-EBS-Volume einer EC2-Instanz
http://alestic.com/2011/02/ec2-fix-ebs-root

Da der Stopp- / Startzyklus eine gute Chance hat, Ihre Instanz auf neue Hardware zu verschieben, können Sie die Hardware Ihrer Instanz auf einfache Weise austauschen, wenn Sie den Verdacht haben, dass die aktuelle Plattform fehlerhaft ist und Probleme verursacht. Hier ist ein Artikel, den ich darüber geschrieben habe:

Eine einfachere Möglichkeit zum Ersetzen von Instanzhardware in EC2
http://alestic.com/2011/02/ec2-move-hardware

Eric Hammond
quelle
+1 für die hervorragende Zusammenfassung (und die Bereitstellung in Ihrem Blog, wo ich sie tatsächlich zuerst gefunden habe;) - eine kleine Ergänzung / Korrektur in Bezug auf Thema 3: Ich habe gerade festgestellt, dass sich Instanzen, die in einer Amazon Virtual Private Cloud (VPC) gestartet wurden, tatsächlich verhalten hier anders, dh eine elastische IP-Adresse (falls vorhanden) bleibt auch im gestoppten Zustand zugeordnet (und scheint nicht entsprechend berechnet zu werden); Ich habe diesbezüglich noch keine spezifische Dokumentation gefunden und auch nicht untersucht, ob es verwandte Feinheiten gibt, aber man sollte sich dieser Möglichkeit wahrscheinlich bewusst sein.
Steffen Opel
Danke für den Hinweis. Ich habe einen Kommentar hinzugefügt, der auf den Blog-Beitrag hinweist
Eric Hammond