Frage Amazon EC2-Terminologie - AMI vs. EBS vs. Snapshot vs. Volume


Ich stochere in Amazon EC2 herum und bin in einigen Begriffen etwas verwirrt. Speziell im Hinblick auf AMI, Snapshots und Volumes und ein EBS

Bitte korrigiere mich, wenn ich falsch liege, oder fülle wichtige Lücken in meinen folgenden Aussagen:

  • Ein AMI (Amazon Machine Image) ist eine vollständige 'Festplattenaufnahme' eines Betriebssystems und einer Konfiguration. Wenn Sie eine Instanz starten, starten Sie sie von einem AMI

  • Ein EBS (Elastic Block Storage) ist eine Möglichkeit, den Zustand von Änderungen beizubehalten, die Sie nach dem Booten von einem bestimmten AMI vorgenommen haben. In meinen Augen ist dies eine Art Vergleich des Endzustands Ihrer Instanz gegenüber dem AMI.

  • Ein Schnappschuss ist ... nun, ich bin mir nicht sicher. Ich kann nur annehmen, dass es sich um eine Momentaufnahme einer bestimmten Instanz handelt, aber mir ist nicht klar, wie sich dies von dem in einem EBS gespeicherten Zustand unterscheidet. Worin unterscheidet sich ein Snapshot von der Erstellung eines EBS AMI aus einer vorhandenen Instanz?

  • Ein Volume ist ... es scheint ein Festplattenplatz zu sein, in den ein AMI / EBS-Paar geladen wird? Ich bin mir da auch nicht sicher. Ich kann sehen (von der AWS-Konsole), dass Sie ein Volume aus einem Snapshot erstellen können und dass Sie Volumes anhängen / trennen können, aber es ist mir nicht klar Warum oder wann Das würdest du tun.


114
2018-05-11 18:30


Ursprung




Antworten:


Ein AMI, wie Sie bemerken, ist ein Maschinenbild. Es handelt sich um eine vollständige Momentaufnahme eines Systems, das als Bild gespeichert ist und als Instanz gestartet werden kann. Wir werden gleich zu AMIs zurückkehren.

Schauen wir uns EBS an. Ihre anderen zwei Elemente sind Unterelemente davon. EBS ist ein virtuelles Blockgerät. Sie können es sich als eine Festplatte vorstellen, obwohl es wirklich eine Menge Software-Magie ist, um es mit einer anderen Art von Speichergerät zu verbinden, aber es wie eine Festplatte für eine Instanz aussehen zu lassen.

EBS ist nur der Name für den gesamten Service. Innerhalb von EBS haben Sie sogenannte Volumes. Dies sind die "Einheit" Amazon verkauft Sie. Sie erstellen ein Volume und weisen Ihnen X Gigabyte zu. Sie verwenden es wie eine Festplatte, die Sie an einen beliebigen Ihrer laufenden Computer (Instanzen) anschließen können. Volumes können entweder leer oder aus einer Snapshot-Kopie des vorherigen Volumes erstellt werden, was uns zum nächsten Thema führt.

Snapshots sind ... nun ... Snapshots von Volumes: eine genaue Erfassung dessen, wie ein Volume zu einem bestimmten Zeitpunkt aussah, inklusive aller Daten. Du könntest ein Volume haben, es an deine Instanz anhängen, es mit Zeug füllen, dann einen Schnappschuss machen, aber es weiterhin benutzen. Der Inhalt des Volumes würde sich ändern, wenn Sie es als Dateisystem verwenden, aber der Snapshot würde in der Zeit eingefroren werden. Sie könnten ein neues Volume erstellen, indem Sie diesen Snapshot als Basis verwenden. Das neue Volume würde genau so aussehen, wie es Ihre erste Festplatte bei der Erstellung des Snapshots getan hat. Sie können das neue Volume anstelle des alten Volumes verwenden, um Ihre Daten zurückzusetzen, oder den gleichen Datensatz an einen zweiten Computer anhängen. Sie können jederzeit Snapshots von Volumes erstellen. Es ist wie eine Freeze-Frame-Instanz-Sicherung, die dann einfach zu einer neuen Live-Festplatte (Volume) gemacht werden kann, wann immer Sie sie brauchen.

Daher können Datenträger auf neuen Leerstellen oder auf einem Snapshot basieren. Verstanden? Volumes können an beliebige Instanzen angehängt und von ihnen getrennt werden, aber sie sind immer nur mit einer Instanz verbunden, genau wie die physische Festplatte, von der sie eine virtuelle Abstraktion sind.

Jetzt zurück zu AMIs. Diese sind schwierig, weil es zwei Arten gibt. Man erstellt eine ephemere Instanzen, wo das Root-Dateisystem wie ein Laufwerk für den Computer aussieht, aber tatsächlich irgendwo im Speicher sitzt und in dem Moment verdampft, in dem es nicht mehr benutzt wird. Die andere Art wird als EBS-unterstützte Instanz bezeichnet. Das heißt, wenn Ihre Instanzen geladen werden, wird das Root-Dateisystem auf ein neues EBS-Volume geladen. Dabei wird die EC2-Technologie der virtuellen Maschine auf die EBS-Technologie überlagert. Ein reguläres EBS-Volume befindet sich neben EC2 und kann angehängt werden, aber eine EBS-unterstützte Instanz ist auch selbst ein Volume.

Ein normales AMI ist nur ein großer Teil der Daten, die als Maschine geladen werden. Ein EBS-unterstütztes AMI wird auf ein EBS-Volume geladen, so dass Sie es herunterfahren können und es wird von dort wieder gestartet, wo Sie aufgehört haben, genau wie eine echte Festplatte.

Jetzt lege alles zusammen. Wenn eine Instanz EBS-gesichert ist, können Sie auch eine Momentaufnahme erstellen. Im Grunde genommen macht dies genau das, was ein normaler Snapshot wäre ... ein Standbild der Root-Festplatte Ihres Computers zu einem bestimmten Zeitpunkt. In der Praxis macht es zwei Dinge anders. Zum einen wird Ihre Instanz heruntergefahren, so dass Sie eine Kopie der Festplatte erhalten, da sie auf einen OFF-Computer und nicht auf ON zeigt. Das macht es einfacher zu booten :) Wenn Sie also eine Instanz speichern, wird sie heruntergefahren, nimmt das Disk-Image und startet erneut. Zweitens speichert es diese Bilder als AMI und nicht als normalen Festplatten-Snapshot. Im Grunde handelt es sich um einen bootfähigen Snapshot eines Volumes.


142
2018-05-11 18:50



Danke für die tolle Info, ich denke es kommt für mich zusammen. Eine weitere Frage: Was ist der Unterschied zwischen einem Schnappschuss eines EBS AMI im Vergleich zu einem Rechtsklick und der Auswahl von "Create Image (EBS AMI)" von der EC2 Webkonsole? Basierend auf Ihrer obigen Beschreibung, scheint es, dass sie identisch sind, außer wie Sie sie verwenden. Sie können ein Volume aus einem Snapshot erstellen und dieses Volume dann an ein AMI anhängen. Wo, wie das EBS AMI-Bild nur ... Ich weiß nicht, beseitigt diesen Schritt des Anhängens an ein Volumen? - Matt
Eigentlich denke ich, dass das Konsolenwerkzeug für den Snapshot eines AMIs dasselbe tut wie die Webkonsole. Bei deinen Beschreibungsfehlern geht es um Anhänge. Wenn Sie eine Instanz abfotografieren, wird zwar ein Snapshot des Root-Volumes erstellt, aber der Snapshot wird zu einem AMI. Ein regulärer Snapshot, den Sie zu einem Volume erstellen und an eine Instanz anfügen. Ein Snapshot einer Instanz, die Sie zu einer Instanz machen (Sie hängen das Volume nicht an eine Instanz an, es ist die Instanz). Ist das sinnvoll? - Caleb
Immer wenn ich Konsole gesagt habe, wollte ich Web-Konsole sagen. Ich habe noch nicht mit Befehlszeilen-APIs oder irgendetwas gespielt. Ich vermute, dass ich verwirrt bin, ist, dass Sie ein EBS AMI von einer Instanz erstellen, und Sie erstellen einen Snapshot von einem Volume, aber es scheint, dass das Volume ist das EBS AMI. Um eine neue Instanz zu erstellen, können Sie entweder 1) von einem erstellten AMI starten oder 2) den Snapshot auf ein Volume kopieren und ein AMI starten, das an dieses Volume angehängt ist. Am Ende ist das Ergebnis jedoch das gleiche. Ist das korrekt? - Matt
Du warst in Ordnung bis zum "es scheint wie" Teil, dann hört es auf, der Realität zu entsprechen. Besonders der letzte Teil (deine 2) ist Unsinn. Sie verbinden keine AMIs mit Volumes. EBS unterstützt AMIs sind speziell gekennzeichnete Volumes, die bootfähig sind. Volumes werden Instanzen zugeordnet, nicht umgekehrt. - Caleb
Wenn Sie etwas anderes als die Root-Festplatte abfotografieren. Ich habe viele Festplatten, die Datensätze speichern, die nicht Teil eines bestimmten Computers sind. Wenn Sie den Systemdatenträger / das Stammlaufwerk als Snapshot verwenden, verwenden Sie die EBS AMI-Erstellungstools. Aber manchmal haben Sie andere Datenträger mit anderen Datensätzen, die möglicherweise an ein bestimmtes System angeschlossen sind oder nicht. Diejenigen, die Sie in Ihrer Freizeit fotografieren können. Es wird ein automatischer Snapshot erstellt, wenn sie zufällig an eine Snapshot-Instanz angehängt sind. Sie können jedoch auch Ihre eigenen Snapshots erstellen, um beispielsweise einen Datenträger zu duplizieren und ihn an eine andere Instanz zu binden. - Caleb


Ich denke, lass es uns einfach machen. Erstellen Sie eine AMI-Vorlage aus einer vorhandenen Instanz (z. B. Instanz 1). Beachten Sie, dass Sie beim Erstellen einer AMI-Vorlage auch einen Datenträger-Snapshot haben. Suchen Sie in Ihrem Snapshot-Abschnitt nach. Wenn Sie eine neue Instanz erstellen möchten, wählen Sie die neu erstellte aus AMI-Vorlage, wird dann den Schnappschuss zum Zeitpunkt der Erstellung der AMI-Vorlage auswählen.

Nun, wenn Sie Snapshots vom Volume von Instanz # 1 erstellt haben, ist es in Ordnung. Erstellen Sie eine neue Instanz aus der AMI-Vorlage, trennen Sie dann das Volume, das für sie automatisch erstellt wurde, und hängen Sie dann das aus Snapshots erstellte Volume an das Volume von Instanz 1 an.


8
2018-05-01 17:26





Um die Dinge zusammenzufassen:

  • EBS = der AWS-Dienst selbst

  • EBS-Volumen = Denken Sie daran wie eine Festplatte, die Sie an einen EC2 anschließen können Beispiel

  • Schnappschuss = eine Zeitpunkt Kopie Ihres Volumes

  • AMI = eine Kopie einer vollständigen Instanz


1
2018-02-04 20:08