Suchen

Cloud-Speichertipp: Datenaufbewahrungsfristen mit Amazon-S3-Stapelverarbeitung verwalten Eine einzige Anfrage für Millionen Objekte

Autor / Redakteur: Michael Hanisch* / Dr. Jürgen Ehneß

Die Aufbewahrungsfristen gespeicherter Daten sind ebenso wie Löschfristen gesetzlich geregelt. Aufgrund der schieren Datenmenge ist ein händisches Management in den wenigsten Unternehmen möglich. Wie eine automatisierte Verwaltung funktioniert, zeigen wir am Beispiel der weitverbreiteten Amazon-S3-Cloud.

Firmen zum Thema

Wie Sie Datenaufbewahrungsfristen mit der Amazon-S3-Stapelverarbeitung verwalten.
Wie Sie Datenaufbewahrungsfristen mit der Amazon-S3-Stapelverarbeitung verwalten.
(Bild: Amazon)

Die Amazon-S3-Funktion S3 Object Lock verhindert die Löschung einer Objektversion für die Dauer eines vom Nutzer vorgegebenen Aufbewahrungszeitraums und setzt damit Regeln für eine Vorhaltung von Daten durch. Bei einer großen Masse von Objekten kann es sehr aufwändig werden, diese Bestimmungen festzulegen, zu verändern oder aufzuheben. Daher unterstützt Amazon S3 Batch Operations die S3-Object-Lock-Funktion: Die S3-Stapelverarbeitung ermöglicht es, wiederkehrende Tätigkeiten und Aktionen auf vielen Objekten mit einer einzigen Anfrage durchzuführen – zum Beispiel Tags über einen Satz von mehreren Millionen Objekten zu kopieren oder zu aktualisieren.

Benötigt wird dafür lediglich die Liste der Objekte. S3 Batch Operations erledigt dann alle sonst händisch anfallenden Aufgaben, wiederholt die Aktionen im Fall eines Fehlers und zeigt den Fortschritt der Operation an. So lassen sich allgemeine Anforderungen der Datensicherung einfach erfüllen.

Mit S3 Object Lock können Sie Fristen für die allgemeine Datenvorhaltung festlegen oder sie an das Vorliegen von Rechtsgründen koppeln. Damit verhindern Sie, dass die Objekte gelöscht oder überschrieben werden. Mit der Unterstützung durch S3 Batch Operations können Sie die gesetzlichen Anforderungen an eine Write-once-read-many-Speicherung (WORM) erfüllen. Zugleich implementieren Sie damit auch eine weitere Sicherungsebene zum Schutz Ihrer Daten. Weitere Informationen über S3 Batch Operations finden Sie in diesem Blog.

Grundlagen

Mit Amazon S3 Object Lock verwalten Sie die Aufbewahrung von Objekten auf zwei Arten:

Die retention period definiert eine Zeitdauer, in der ein Objekt gesperrt ist. Während dieser Zeit ist es ähnlich wie in einem WORM-Speicher gesichert und kann nicht gelöscht oder verändert werden. S3 Object Lock bietet zwei Arten der retention period an:

  • Im governance mode sichern Sie Objekte vor dem Löschen durch die meisten Anwender. Sie können aber auch einzelne Nutzer berechtigen, die Einstellungen für das Vorhalten oder Löschen der Daten zu verändern.
  • Im compliance mode lässt sich eine gesicherte Objektversion von keinem Anwender überschreiben oder löschen – nicht einmal vom Root-Anwender Ihres AWS-Kontos.

Die Einstellung legal hold dient dazu, Daten aufgrund eines vorliegenden Rechtsgrundes vorzuhalten. Ansonsten bietet sie dieselbe Sicherung wie die retention period. Allerdings legt sie kein Datum zum Löschen der Daten fest und bleibt so lange in Kraft, bis der Rechtsgrund ausdrücklich aufgehoben wird.

Eine Version eines Objekts kann entweder mit der retention period, einem legal hold oder einer Kombination von beiden geschützt werden. Sie können zum Beispiel ein Objekt mit einer Aufbewahrungsfrist von einem Jahr versehen und zusätzlich einen legal hold aktivieren. Wenn Sie die exakte Frist für die Vorhaltung der Informationen kennen, sollten Sie die retention period setzen und den passenden retention mode wählen.

Anwendungsmöglichkeiten, um S3 Object Lock durch S3 Batch Operations zu unterstützen

S3 Batch Operations eignet sich, um S3-Object-Lock-Einstellungen für eine große Menge von Objekten anzuwenden, zu aktualisieren oder aufzuheben. Wenn Sie S3 Object Lock zum ersten Mal nutzen, lassen sich mit Hilfe der Stapelverarbeitung Änderungen einfach durchführen. Die Funktion eignet sich auch, wenn sich zum Beispiel die Aufbewahrungsfristen geändert haben und Sie diese bei einer großen Menge von Objekten Sperren aktualisieren, hinzufügen oder entfernen müssen. Um die S3-Object-Lock-Richtlinien automatisch auf alle zum Bucket hinzugefügten Objekte anzuwenden, lässt sich eine Standardeinstellung für den retention mode im Bucket festlegen – dann benötigen Sie S3 Batch Operations nicht. Weitere Informationen zur Sicherung von Daten mit Amazon S3 Object Lock finden Sie in diesem Blog.

Vorbereitungen für das Set-up

Im nachfolgenden Beispiel werden wir die in S3 Object Lock geltende Frist zur Vorhaltung der Daten verändern. Dafür benötigen wir nur eine gewisse Menge an Objekten, für die eine retention period definiert ist. Das Vorgehen eignet sich auch für ein Datenvolumen von mehreren Petabyte oder bei einer Migration in die Cloud. Weitere nützliche Dokumentationen über die möglichen S3 Batch Operations liefern Beiträge über Grundlagen von Amazon-S3-Batch-Operations-Jobs, über weitere Abläufe sowie zur Verwaltung von S3-Batch-Operations-Jobs.

Zu beachten: In dem Bucket, in dem dieser Job durchgeführt wird, müssen sowohl die Versionierung als auch S3 Object Lock aktiviert sein. Sie können Object Lock nur für neue Buckets aktivieren. Wenn Sie dieses Szenario durchspielen wollen, aber Object Lock in ihrem Bucket noch nicht eingeschaltet ist, kontaktieren Sie bitte den AWS Support. Weitere Informationen zur Object-Lock-Bucket-Konfiguration finden Sie hier.

Start: Festlegen, wie Sie S3 Object Lock verwenden wollen

Kein Unternehmen gleicht dem anderen. Jedes hat deswegen seine eigenen Anforderungen an die Datenvorhaltung. Daher lassen sich die Detaileinstellungen von Amazon S3 Object Lock je nach Notwendigkeit verändern. Im Beispiel soll die governance mode retention period für alle Objekte mit Bezug zu einem bestimmten Projekt erweitert werden. Grund ist die Verlängerung eines „keyproject“ genannten Beispielvorhabens: Die Fristen für die Datenspeicherung sollen für sämtliche Objekte um ein Jahr verlängert werden, beginnend ab Tag X. Dafür könnte auch der compliance mode gewählt werden. Im compliance mode lassen sich aber Objekte nur löschen, wenn die damit verknüpften AWS-Konten geschlossen werden. Weitere Überblicksinformationen zu Amazon S3 Object Lock finden Sie hier.

Verlängerung der Aufbewahrungsfristen mit Unterstützung von S3 Object Lock durch S3 Batch Operations

Dieser Prozess besteht aus drei Schritten:

  • 1. Angabe des Manifests: Das „Manifest“ ist eine Datei – ein in Amazon S3 gespeichertes Objekt – , welche eine Liste aller Objektschlüssel enthält, für die Amazon S3 die angegebenen Aktionen durchführen soll.
  • 2. Anlegen des S3-Object-Lock-Jobs: Wählen Sie die gewünschte Aktion, die S3 Batch Operations ausführen soll, und sehen Sie nach, welche Zugriffsrechte dafür vorliegen müssen.
  • 3. Führen Sie den Job aus. Alle Objekte sind dann bis zum Ablauf des neu festgelegten Datums geschützt.

Erzeugen des „Manifests“

In diesem Beispiel wird die Vorhaltefrist für die im Bucket mit dem Präfix „keyproject“ gespeicherten Objekte verlängert. Um eine Liste dieser Dateien anzulegen, können Sie die S3-Inventory-Funktion verwenden: Wenn Sie ein S3-Inventar durchführen, werden eine manifest.json-Datei, eine manifest.checksum-Datei und ein Inventarbericht angelegt. Die manifest.json-Datei liefert die Informationen für den S3-Batch-Operations-Job.

Für den S3-Inventarbericht gehen Sie im Bucket auf das „Management“-Tab, wählen „inventory“ und dann „Add new“. Sie vergeben einen Namen für das S3-Inventar, wählen den Ziel-Bucket für den Bericht, filtern optional nach Präfixen und setzen eine tägliche Frequenz fest.

Die Objekte, für welche die Vorhaltefrist verschoben werden soll, finden sich mit dem Präfix „keyproject“. Wenn Sie im S3-Inventory nach diesem Präfix filtern, stellen Sie sicher, dass das Manifest nur die Objekte auflistet, die zu unserem Beispielprojekt gehören. Zusätzlich können Sie ein Präfix für den Inventarbericht auf dem Ziel-Bucket anwenden, um die Manifest-Dateien später leichter zu finden. Weitere Informationen zur Konfiguration eines S3-Inventory finden Sie hier.

Hinweis: Sie können ein Manifest in einer Anfrage zum Generieren von Jobs festlegen. Dafür verwenden Sie einen Amazon S3-Inventarbericht – wie oben beschrieben angelegt – oder alternativ eine CSV-Datei mit Ihrer Objektliste. Weitere Informationen zur Spezifikation eines Manifests finden Sie hier.

Bildergalerie

Anlegen eines S3-Batch-Operations-Jobs zur Verlängerung der Aufbewahrungsfrist

Nach Zusammenstellung des Manifests nutzen sie die S3-Konsole, um den Job anzulegen und auszuführen. S3 Batch Operations kann über die AWS-Management-Konsole, AWS CLI oder AWS SDKs verwendet werden. In der S3-Konsole gehen Sie auf „Batch Operations“ und dann auf „Create job“. Wählen Sie die Region, in der die jeweiligen Objekte lokalisiert sind. In diesem Beispiel befindet sich das Objekt in einem Bucket in us-east-1. Als Format für das Manifest wählen Sie „S3 Inventory report“. Dann suchen Sie in Ihrem S3-Bucket, in dem der Inventarbericht abgelegt wurde, die Datei manifest.json. Diese wurde entsprechend den Anweisungen oben unter destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json im Ziel-Bucket erzeugt. Laden Sie die manifest.json-Datei herunter und vergleichen Sie mit dem unter Manifest object ETag angegebenen Tag, ob die richtige Manifest-Datei ausgewählt wurde. Anschließend wählen Sie „Next“. Weitere Details über das Anlegen eines S3-Batch-Operations-Jobs finden Sie hier.

Als Nächstes wählen Sie die Aktion („Object Lock retention“) und die jeweiligen Optionen aus. Im Beispiel wird S3 Object Lock im governance retention mode aktiviert. Als neue Vorhaltefrist wird zum Beispiel 2021/05/06 festgelegt. Die Konsole überprüft dabei, ob diese Frist innerhalb von 365 Tagen liegt. Dann wählen Sie „Next“.

Michael Hanisch, Head of Technology bei AWS in Deutschland.
Michael Hanisch, Head of Technology bei AWS in Deutschland.
(Bild: THORSTEN JOCHIM)

*Der Autor: Michael Hanisch, Head of Technology bei AWS in Deutschland.

(ID:46959621)