Ich möchte eine Linux-basierte EC2-Instanz sichern, während sie ohne Ausfallzeit ausgeführt wird, und später eine neue Instanz starten. (Die Instanz führt einen Webserver und eine Postgres-Datenbank aus.)
Ich fand, dass es zwei Möglichkeiten gibt, dies zu tun, aber ich bin verwirrt darüber, was der Unterschied im Ergebnis zwischen ihnen ist.
Option 1: Erstellen Sie ein AMI direkt aus einer laufenden Instanz:
- Erstellen Sie ein neues AMI direkt aus der aktiven Originalinstanz.
- Starten Sie eine neue Instanz von AMI
Option 2: Erstellen Sie manuell ein AMI aus einem Snapshot:
- Erstellen Sie einen Snapshot von dem Volume, das an die ausgeführte Originalinstanz angehängt ist
- Erstellen Sie AMI aus dem Snapshot und geben Sie manuell Details wie Architektur und Kernel-ID ein
- Starten Sie eine neue Instanz aus dem manuell erstellten Image
Verwirrend ist nun, dass EC2 die Instanz standardmäßig neu startet, wenn ein AMI direkt von einer Instanz erstellt wird. Es gibt ein Kontrollkästchen "Kein Neustart" mit dem folgenden Tooltipp:
Wenn diese Option aktiviert ist, fährt Amazon EC2 die Instanz nicht herunter, bevor das Image erstellt wurde. Wenn diese Option verwendet wird, kann die Dateisystemintegrität des erstellten Images nicht garantiert werden.
Gibt es wirklich einen Unterschied im Ergebnis dieser beiden Möglichkeiten? Für mich fühlt es sich so an, als ob ich die gleichen Dinge manuell mache, die der automatisierte Assistent sowieso tun würde. Es generiert Snapshots, wählt die Kernel-IDs und -Architekturen aus.
Warum hat einer einen Warnungstext und der andere nicht? Das Erstellen eines Snapshots für eine ausgeführte Instanz wird als relativ sicher angesehen. Wenn die AMI-Erstellung einen Snapshot im Hintergrund erstellt, ist dies gefährlicher als das manuelle Erstellen aller Snapshots?