Wie kann ich ein Amazon-S3-Objekt mithilfe der AWS-CLI aus der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive wiederherstellen?

Lesedauer: 5 Minute
0

Ich habe ein Amazon Simple Storage Service (Amazon S3)-Objekt mithilfe einer Lebenszykluskonfiguration in der Speicherklasse Amazon S3 Glacier Flexible Retrieval (ehemals Glacier) oder Amazon S3 Glacier Deep Archive archiviert. Ich möchte das Objekt mithilfe der AWS Command Line Interface (AWS CLI) wiederherstellen.

Lösung

Gehen Sie wie folgt vor, um ein S3-Objekt mithilfe der AWS-CLI aus der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive wiederherzustellen.

Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Initiieren einer Wiederherstellungsanforderung

Führen Sie den folgenden Befehl aus, um eine Wiederherstellungsanforderung zu initiieren. Ersetzen Sie dabei alle Werte aus dem Beispielbefehl durch die Werte für Ihren Bucket, Ihr Objekt und Ihre Wiederherstellungsanforderung.

Hinweis: Die Gebühren für Datenabrufe hängen von der Menge der Anforderungen ab. Vergewissern Sie sich daher, dass die Parameter Ihrer Wiederherstellungsanforderung korrekt sind.

$ aws s3api restore-object --bucket awsexamplebucket --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

Nach Ausführung dieses Befehls ist eine temporäre Kopie des Objekts für die in der Wiederherstellungsanforderung angegebene Dauer verfügbar. In diesem Beispiel beträgt die in der Wiederherstellungsanforderung angegebene Dauer 25 Tage und die Wiederherstellungsstufe ist auf S3 Standard festgelegt.

An dem Befehl können folgende Änderungen vorgenommen werden:

  • Wenn Sie eine bestimmte Objektversion in einem Bucket mit Versionsverwaltung wiederherstellen möchten, können Sie die Option --version-id einschließen und die entsprechende Versions-ID angeben.
  • Für die Speicherklasse S3 Glacier Flexible Retrieval stehen Optionen für beschleunigten Abruf, Standardabruf und Massenabruf zur Verfügung. Für die Speicherklasse S3 Glacier Deep Archive können dagegen nur die Optionen für Standard- oder Massenabruf verwendet werden.
  • Sollte die im Beispiel verwendete JSON-Syntax auf einem Windows-Client einen Fehler verursachen, ersetzen Sie die Wiederherstellungsanforderung durch die folgende Syntax:
--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}

Hinweis: Wenn ein Objekt in S3 Glacier Instant Retrieval gespeichert ist, erfolgt der Datenabruf umgehend und der Wiederherstellungsvorgang wird nicht benötigt. Weitere Informationen finden Sie unter Amazon-S3-Speicherklassen.

Überwachen des Status Ihrer Wiederherstellungsanforderung

Führen Sie den folgenden Befehl aus, um den Status Ihrer Wiederherstellungsanforderung zu überwachen:

aws s3api head-object --bucket awsexamplebucket --key dir1/example.obj

Sollte die Wiederherstellung nach dem Ausführen des Befehls noch nicht abgeschlossen sein, erhalten Sie eine Antwort wie die folgende:

{
    "Restore": "ongoing-request=\"true\"",
    ...
    "StorageClass": "GLACIER | DEEP_ARCHIVE",
    "Metadata": {}
}

Nach Abschluss der Wiederherstellung erhalten Sie eine Antwort wie die folgende:

{
    "Restore": "ongoing-request=\"false\", expiry-date=\"Sun, 13 Aug 2017 00:00:00 GMT\"",
    ...
    "StorageClass": "GLACIER | DEEP_ARCHIVE",
    "Metadata": {}
}

Beachten Sie das Ablaufdatum in der Antwort. Dies ist der Zeitpunkt, bis zu dem Sie auf das temporäre (in der Speicherklasse für reduzierte Redundanz gespeicherte) Speicherobjekt zugreifen können. Das temporäre Objekt ist parallel zu dem archivierten Objekt verfügbar, das sich in der Speicherklasse S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive befindet. Nach Verstreichen des Ablaufdatums wird das temporäre Objekt entfernt. Sie müssen die Speicherklasse des Objekts ändern, bevor das temporäre Objekt abläuft. Wenn Sie die Speicherklasse des Objekts nach dem Ablaufdatum ändern möchten, müssen Sie eine neue Wiederherstellungsanforderung initiieren.

Ändern der Speicherklasse des Objekts in Amazon S3 Standard

Verwenden Sie copy (kopieren), um die Speicherklasse des Objekts in Amazon S3 Standard zu ändern. Sie können das bereits vorhandene Objekt überschreiben oder das Objekt an einen anderen Ort kopieren.

Warnung: Achten Sie bei Verwendung der Version 1.x der AWS-CLI darauf, dass der Schwellenwert für mehrere Teile auf 5 GB festgelegt ist, bevor Sie ein Objekt kopieren. Andernfalls gehen die Benutzermetadaten des Objekts verloren, wenn die Objektgröße die AWS-CLI-Schwellenwerte für mehrere Teile übersteigt. Verwenden Sie für Objekte mit einer Größe von mehr als 5 GB die Version 2.x der AWS-CLI, damit Benutzermetadaten erhalten bleiben.

(Optional) Führen Sie den folgenden Befehl aus, um den AWS-CLI-Schwellenwert für mehrere Teile zu erhöhen:

aws configure set default.s3.multipart_threshold 5GB

Führen Sie den folgenden Befehl aus, um das bereits vorhandene Objekt mit der Speicherklasse Amazon S3 Standard zu überschreiben:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir1/example.obj --storage-class STANDARD

Führen Sie den folgenden Befehl aus, um einen rekursiven Kopiervorgang für ein gesamtes Präfix durchzuführen und bereits vorhandene Objekte mit der Speicherklasse Amazon S3 Standard zu überschreiben:

aws s3 cp s3://awsexamplebucket/dir1/ s3://awsexamplebucket/dir1/ --storage-class STANDARD --recursive --force-glacier-transfer

Hinweis: Objekte, die in S3 Glacier Flexible Retrieval archiviert werden, haben eine Mindestspeicherdauer von 90 Tagen. Objekte, die in S3 Glacier Deep Archive archiviert werden, haben eine Mindestspeicherdauer von 180 Tagen. Wenn Sie ein Objekt in S3 Glacier Flexible Retrieval vor Ablauf der Mindestdauer von 90 Tagen überschrieben haben, werden Ihnen 90 Tage in Rechnung gestellt. Ebenso werden Ihnen für Objekte, die sich in S3 Glacier Deep Archive befinden und vor Ablauf der Mindestdauer von 180 Tagen überschrieben werden, 180 Tage in Rechnung gestellt.

Führen Sie den folgenden Befehl aus, um das Objekt an einen anderen Ort zu kopieren:

aws s3 cp s3://awsexamplebucket/dir1/example.obj s3://awsexamplebucket/dir2/example2.obj

Hinweis: Bei gesperrten Buckets sowie bei Buckets mit aktivierter Versionsverwaltung werden durch diesen Schritt zusätzliche Kopien von Objekten erstellt. Für diese zusätzlichen Objekte fallen auch Speicherkosten an. Um Speicherkosten zu vermeiden, entfernen Sie die nicht aktuellen Versionen, die sich noch in der Amazon-S3-Glacier-Speicherklasse befinden, oder erstellen Sie eine S3-Lebenszyklusablaufregel.


Verwandte Informationen

Wie kann ich Wiederherstellungen für eine große Anzahl von Amazon-S3-Objekten initiieren, die sich derzeit in der S3-Glacier- oder S3-Glacier-Deep-Archive-Speicherklasse befinden?

Wie verwende ich die Wiederherstellungsstufen in der Amazon-S3-Konsole, um archivierte Objekte aus der Amazon-S3-Glacier-Speicherklasse wiederherzustellen?

Wiederherstellen eines archivierten Objekts

Verwalten Ihres Speicher-Lebenszyklus

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr