Funktionsweise der AMI-Speicherung- und -Wiederherstellung - Amazon Elastic Compute Cloud

Funktionsweise der AMI-Speicherung- und -Wiederherstellung

Um ein AMI mit S3 zu speichern und wiederherzustellen, verwenden Sie die folgenden APIs:

  • CreateStoreImageTask – Speichert das AMI in einem S3-Bucket

  • DescribeStoreImageTasks – Liefert den Fortschritt der AMI-Speicheraufgabe

  • CreateRestoreImageTask – Stellt das AMI aus einem S3-Bucket wieder her

CreateStoreImageTask

Die CreateStoreImageTask-API speichert ein AMI als einzelnes Objekt in einem S3-Bucket.

Die API erstellt eine Aufgabe, die alle Daten aus dem AMI und seinen Snapshots liest und dann einen mehrteiligen S3-Upload verwendet, um die Daten in einem S3-Objekt zu speichern. Die API nimmt alle Komponenten des AMI, einschließlich der meisten nicht regionsspezifischen AMI-Metadaten, und aller im AMI enthaltenen EBS-Snapshots und verpackt sie in einem einzigen Objekt in S3. Die Daten werden im Rahmen des Upload-Prozesses komprimiert, um den in S3 verwendeten Speicherplatz zu reduzieren, sodass das Objekt in S3 möglicherweise kleiner ist als die Summe der Größe der Snapshots im AMI.

Wenn für das Konto, das diese API aufruft, AMI- und Snapshot-Tags (Markierungen) sichtbar sind, bleiben diese erhalten.

Das Objekt in S3 hat die gleiche ID wie das AMI, jedoch mit einer .bin-Erweiterung. Die folgenden Daten werden auch als S3-Metadaten-Tags (Markierungen) für das S3-Objekt gespeichert: AMI-Name, AMI-Beschreibung, AMI-Registrierungsdatum, AMI-Besitzerkonto und ein Zeitstempel für den Speichervorgang.

Die Zeit, die benötigt wird, um die Aufgabe abzuschließen, hängt von der Größe des AMI ab. Dies hängt auch davon ab, wie viele andere Aufgaben ausgeführt werden, da Aufgaben in die Warteschlange gestellt werden. Sie können den Fortschritt der Aufgabe verfolgen, indem Sie die DescribeStoreImageTasks-API aufrufen.

Die Summe der Größen aller laufenden AMIs ist auf 1,200 GB EBS-Snapshot-Daten pro Konto begrenzt. Die weitere Aufgabenerstellung wird abgelehnt, bis die laufenden Aufgaben unter dem Grenzwert liegen. Wenn beispielsweise derzeit ein AMI mit 200 GB Snapshot-Daten und ein anderes AMI mit 400 GB Snapshot-Daten gespeichert wird, wird eine weitere Anforderung akzeptiert, da die laufende Gesamtzahl 600 GB beträgt, was unter dem Limit liegt. Wenn jedoch derzeit ein einzelnes AMI mit 1,200 GB Snapshot-Daten gespeichert wird, werden weitere Aufgaben abgelehnt, bis die Aufgabe abgeschlossen ist.

DescribeStoreImageTasks

Die DescribeStoreImageTasks-API beschreibt den Fortschritt der AMI-Speicheraufgaben. Sie können Aufgaben für bestimmte AMIs beschreiben. Wenn Sie keine AMIs angeben, erhalten Sie eine paginierte Liste aller Speicher-Image-Aufgaben, die in den letzten 31 Tagen verarbeitet wurden.

Für jede AMI-Aufgabe gibt die Antwort an, ob die Aufgabe InProgress, Completed oder Failed ist. Bei Aufgaben InProgress zeigt die Antwort einen geschätzten Fortschritt in Prozent.

Aufgaben werden in umgekehrter chronologischer Reihenfolge aufgeführt.

Derzeit können nur Aufgaben des Vormonats eingesehen werden.

CreateRestoreImageTask

Die CreateRestoreImageTask-API startet eine Aufgabe, die ein AMI aus einem S3-Objekt wiederherstellt, das zuvor mithilfe einer CreateStoreImageTask-Anforderung erstellt wurde.

Die Wiederherstellungsaufgabe kann in derselben oder einer anderen Region ausgeführt werden, in der die Speicheraufgabe ausgeführt wurde.

Der S3-Bucket, aus dem das AMI-Objekt wiederhergestellt wird, muss sich in derselben Region befinden, in der die Wiederherstellungsaufgabe angefordert wird. Das AMI wird in dieser Region wiederhergestellt.

Das AMI wird mit seinen Metadaten wie dem Namen, der Beschreibung und den Blockgeräte-Zuweisungen wiederhergestellt, die den Werten des gespeicherten AMI entsprechen. Der Name muss für AMIs in der Region für dieses Konto eindeutig sein. Wenn Sie keinen Namen angeben, erhält das neue AMI den gleichen Namen wie das ursprüngliche AMI. Das AMI erhält eine neue AMI-ID, die zum Zeitpunkt des Wiederherstellungsprozesses generiert wird.

Die Zeit, die zum Abschließen der AMI-Wiederherstellungsaufgabe benötigt wird, hängt von der Größe des AMI ab. Dies hängt auch davon ab, wie viele andere Aufgaben ausgeführt werden, da Aufgaben in die Warteschlange gestellt werden. Sie können den Fortschritt der Aufgabe anzeigen, indem Sie das AMI (describe-images) oder seine EBS-Snapshots (describe-snapshots) beschreiben. Wenn die Aufgabe fehlschlägt, werden das AMI und die Snapshots in einen fehlgeschlagenen Zustand verschoben.

Die Summe der Größen aller laufenden AMIs ist auf 600 GB (basierend auf der Größe nach der Wiederherstellung) von EBS-Snapshot-Daten pro Konto begrenzt. Die weitere Aufgabenerstellung wird abgelehnt, bis die laufenden Aufgaben unter dem Grenzwert liegen.

Dateipfade

Sie können beim Speichern und Wiederherstellen von AMIs auf folgende Weise Dateipfade verwenden:

  • Beim Speichern eines AMI in S3 kann der Dateipfad zum Bucket-Namen hinzugefügt werden. Intern trennt das System den Pfad vom Bucket-Namen und fügt den Pfad dann dem Objektschlüssel hinzu, der zum Speichern des AMI generiert wird. Der vollständige Objektpfad wird in der Antwort auf den API-Aufruf angezeigt.

  • Da bei der Wiederherstellung des AMI ein Objektschlüsselparameter verfügbar ist, kann der Pfad am Anfang des Objektschlüsselwerts hinzugefügt werden.

Beispiel: Bucket-Name mit angehängtem Dateipfad

Wenn Sie das AMI speichern, geben Sie den Dateipfad nach dem Bucket-Namen an.

amzn-s3-demo-bucket/path1/path2

Der resultierende Objektschlüssel sieht wie folgt aus.

path1/path2/ami-0abcdef1234567890.bin

Wenn Sie das AMI wiederherstellen, geben Sie den Bucket-Namen und den Objektschlüssel an. Beispiele finden Sie unter Eine Aufgabe zum Speichern eines Images erstellen.