Welche Daten werden in der Ephemeral Storage of Amazon EC2-Instanz gespeichert?


289

Ich versuche, eine Amazon EC2-Instanz zu stoppen und die Warnmeldung zu erhalten

Warnung: Bitte beachten Sie, dass alle Daten im kurzlebigen Speicher Ihrer Instanz verloren gehen, wenn sie gestoppt wird.

Meine Frage

Welche Daten werden im kurzlebigen Speicher einer Amazon EC2-Instanz gespeichert?

Antworten:


148

Alles, was nicht auf einem EBS-Volume gespeichert ist, das an die Instanz angehängt ist, geht verloren.

Wenn Sie beispielsweise Ihr EBS-Volume auf mounten /mystuff, geht alles /mystuffverloren , was nicht vorhanden ist. Wenn Sie kein ebs-Volume bereitstellen und keine Daten darauf speichern, geht meiner Meinung nach alles verloren.

Sie können aus Ihrem aktuellen Maschinenzustand eine AMI erstellen, die alles in Ihrem kurzlebigen Speicher enthält. Wenn Sie dann eine neue Instanz starten, die auf diesem AMI basiert, enthält sie alles so, wie es jetzt ist.

Update: zur Klarstellung anhand von Kommentaren von mattgmg1990 und glenn bech:

Beachten Sie, dass zwischen "Stopp" und "Beenden" ein Unterschied besteht. Wenn Sie eine von EBS unterstützte Instanz "stoppen", befinden sich die Informationen auf dem Root-Volume immer noch im selben Status, wenn Sie den Computer erneut "starten". In der Dokumentation wird "Standardmäßig werden das Root-Geräte-Volume und die anderen Amazon EBS-Volumes, die beim Starten einer von Amazon EBS unterstützten Instanz angehängt werden, automatisch gelöscht, wenn die Instanz beendet wird". Sie können dies jedoch über die Konfiguration ändern.


1
Alles auf der Instanz befindet sich im ephermeralen Speicher, es sei denn, Sie haben ein ebs-Volume konfiguriert und gemountet und legen Ihre Daten bewusst darauf ab.
Digitaljoel

2
Gilt das nur für instance storeGeräte? Das heißt, ebsist mein Root-Speicherlaufwerk auf einem Gerät kurzlebig oder nicht?
Dean

17
Diese Antwort ist nicht genau richtig. Wo Ihre Daten gespeichert werden, hängt davon ab, welche Art von AMI Sie erstellt haben. Die folgende Antwort von @nidalpres ist vollständiger. Wenn Sie ein von EBS unterstütztes AMI erstellen möchten, wird Ihr Stammverzeichnis NICHT im kurzlebigen Speicher gespeichert.
Mattgmg1990

1
Ich möchte nur hinzufügen, dass ich denke, dass @nidalpres eine bessere Antwort geschrieben hat oder zumindest eine, die viel einfacher zu verstehen ist.
Lozzano

1
"Wenn Sie die Maschine" beenden ", ist sie auch dann weg, wenn sie von EBS unterstützt wird." Das ist nicht richtig. Dies wird durch das Flag "Bei Beendigung löschen" auf der Seite "Speicher hinzufügen" (bezogen auf das Root-Volume) bestimmt. Es kann auch in der Befehlszeile angegeben und sogar beim Ausführen von Instanzen mithilfe der CLI ( docs.aws.amazon.com/AWSEC2/latest/UserGuide/… ) geändert werden
Glenn Bech

260

Grundsätzlich ist das Root-Volume (Ihre gesamte virtuelle Systemfestplatte) kurzlebig, jedoch nur, wenn Sie AMI erstellen, das vom Amazon EC2- Instanzspeicher unterstützt wird .

Wenn Sie AMI erstellen, das von EBS unterstützt wird, wird Ihr Root-Volume von EBS unterstützt und alles, was Sie auf Ihrem Root-Volume haben, wird zwischen den Neustarts gespeichert .

Wenn Sie sich nicht sicher sind, welche Art von Volume Sie haben, suchen Sie in Ihrer AWS-Konsole unter EC2-> Elastic Block Store-> Volumes. Wenn Ihr AMI-Root-Volume dort aufgeführt ist, sind Sie sicher. Wenn Sie zu EC2-> Instanzen gehen und dann in der Spalte "Root-Gerätetyp" Ihrer Instanz nachsehen und dort "ebs" steht, müssen Sie sich keine Gedanken über Daten auf Ihrem Root-Gerät machen.

Weitere Details finden Sie hier: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html


98
Dies würde die Leute wahrscheinlich nicht so sehr verwirren, wenn AWS nicht die unnötige Warnmeldung "dass alle Daten im kurzlebigen Speicher Ihrer Instanz verloren gehen" ausgibt, selbst wenn versucht wird, eine Instanz zu stoppen, die einen von EBS unterstützten Root verwendet Gerät, und es gibt eigentlich keinen Grund, sich über Datenverlust Sorgen zu machen.
Tilman

2
Die Warnung gilt, weil Sie sowohl eine BS-gestützte Wurzel als auch einen kurzlebigen Speicher anhängen können (manuell, da aws dies standardmäßig nicht tut)
Zig Mandel

Eigentlich habe ich das einfach gemacht, aber es gab trotzdem einen Fehler: Unable to connect to your database server using the provided settings. Filename: core/Loader.php Line Number: 346 Irgendwelche Ideen? Dies geschah vorher nicht.
James

Nur um nachzufolgen, wurde der Dienst aus irgendeinem Grund nicht mysqldmehr ausgeführt. Der Support sagte, dies sei nicht normal, aber das sei das einzige Problem.
James

3
@ Tilman Genau das, was ich dachte. Die Warnung ist nicht nur unnötig, sondern auch irreführend. Vielen Dank für den Hinweis.
Sabuncu

7

Um klar zu sein und die Frage von @ Dean zu beantworten: EBS-Root-Speicher scheint nicht kurzlebig zu sein. Daten sind über Neustarts hinweg persistent und es macht keinen Sinn, ein von ebs unterstütztes Root-Volume zu verwenden, das "kurzlebig" ist. Dies würde sich nicht vom bildbasierten Root-Volume unterscheiden.


2
Der gesamte von EBS unterstützte Speicher ist dauerhaft, z. B. nicht kurzlebig, nachdem Sie die Instanz "gestoppt" haben. Wenn Sie "Beenden", verlieren Sie die Daten. Weitere Informationen finden Sie unter stackoverflow.com/a/11566285/46249 .
Matthew

0

Laut AWS-Dokumentation [ https://aws.amazon.com/premiumsupport/knowledge-center/instance-store-vs-ebs/] sind Instanzspeicher-Volumes durch Instanzstopps, -beendigungen oder Hardwarefehler nicht dauerhaft. Ein AMI, das von einer gespeicherten Instanzdiskette erstellt wurde, enthält keine Daten, die im Instanzspeicher vorhanden sind, sodass in allen von diesem AMI gestarteten Instanzen keine Daten im Instanzspeicher gespeichert sind. Der Instanzspeicher kann als Cache für Anwendungen verwendet werden, die auf einer Instanz ausgeführt werden. Für alle persistenten Daten sollten Sie EBS verwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.