Die Nutzung von Amazon S3 Intelligent-Tiering ist eine beliebte Lösung, um die Kosten für das Speichern großer Datenmengen in der Cloud zu optimieren. Die Speicherklasse verschiebt automatisch Objekte basierend auf ihrem Zugriffsverhalten in die jeweils kosteneffizienteste Speicherklasse. Für viele Amazon-S3-Nutzer stellt sich dabei die Frage, wie sich der aktuelle Zugriffsstufe eines bestimmten Objekts feststellen lässt. Denn anders als bei klassischen Speicherklassen erfolgt die Verwaltung dieser Datenbewegungen innerhalb von Intelligent-Tiering automatisch im Hintergrund. Dieses Vorgehen sorgt einerseits für eine einfache Handhabung und Kosteneinsparungen, andererseits jedoch auch für eine gewisse Intransparenz hinsichtlich der genauen Speicherstufe, auf der ein Objekt zu einem bestimmten Zeitpunkt liegt.
Die Möglichkeit, den aktuellen Access Tier eines Objekts abzufragen, hängt maßgeblich davon ab, ob es sich um eine Standardstufe, eine selten genutzte Stufe oder eine Archive-Instanzstufe handelt, und ob das Objekt für asynchrone Archivierung aktiviert wurde. Bei opt-in Archive-Tiers lässt sich der Status sogar über einfache HEAD-Anfragen an das Objekt herausfinden. Dies ist jedoch nur bei diesen speziellen Speicherstufen verfügbar. In allen anderen Fällen empfiehlt sich der Einsatz von Amazon S3 Inventory als verlässliche Informationsquelle. Amazon S3 Inventory erstellt regelmäßig Berichte, die Metadaten aller überwachten Objekte enthalten.
Diese Berichte liefern eine Momentaufnahme der Objektinformationen, inklusive der aktuell verwendeten Zugriffsstufe innerhalb des Intelligent-Tiering-Speichers. Die Daten lassen sich entweder lokal auswerten oder direkt mit Amazon Athena, dem serverlosen Abfrageservice von AWS, bequem analysieren. Die Verwendung von Athena bietet dabei den Vorteil, dass die Inventarberichte direkt in S3 im CSV-, ORC- oder Parquet-Format abgelegt werden können und anschließend effizient durchsuchbar sind. Die Einrichtung von S3 Inventory erfordert zunächst, dass die entsprechende Bucket-Verwaltungskonsole geöffnet wird. Es wird eine Inventarkonfiguration erstellt, bei der der Anwendungsbereich und der Output-Pfad genau definiert werden müssen.
Dabei können einzelne Präfixe für das Reporting ausgewählt und zusätzliche Metadatenfelder wie die Intelligent-Tiering-Zugriffsstufe mit ausgewählt werden. Die Frequenz der Berichtserstellung lässt sich auf täglich oder wöchentlich einstellen – eine wichtige Entscheidung, da die Aktualität der Daten und die entstehenden Kosten hier eng miteinander verbunden sind. Neben der Inventarkonfiguration ist es entscheidend, das richtige Ausgabeformat zu wählen. Parquet und ORC bieten gegenüber CSV Vorteile durch sparsamen Speicherverbrauch und schnellere Abfragezeiten, besonders wenn große Mengen an Objektdaten verarbeitet werden. Die ausgewählten Dateien werden nach der Erstellung im angegebenen S3-Bucket gespeichert und sind anschließend für Abfragen mit Athena oder einem beliebigen Abfragewerkzeug zugänglich.
Die Arbeit mit Amazon Athena startet nach der ersten Inventarerstellung, da die Tabellenstruktur an die Struktur der Inventory-Daten angepasst werden muss. Über das Athena Web Interface kann eine neue Datenbank erstellt werden und anschließend die Tabelle an das Inventar-Output-Verzeichnis angelegt werden. AWS stellt dafür praktische Vorlagen bereit, die je nach Format leicht angepasst werden können. Dadurch entfällt die Notwendigkeit eines Glue Crawlers oder komplexer Schema-Definitionen. Der wirklich spannende Teil ist die Abfrage der Zugriffsstufe eines Objekts über die SQL-Schnittstelle von Athena.
Anhand des Objektnamens lässt sich einfach ermitteln, in welcher Intelligent-Tiering-Stufe sich ein Objekt aktuell befindet. Diese Informationen erlauben Rückschlüsse auf die Nutzungshäufigkeit eines Objekts und geben wertvolle Hinweise für die weitere Speicherverwaltung und Kostenoptimierung. Ebenso zeigt sie potentielle Kandidaten für Archivierung oder Löschung auf. Für Nutzer, die automatisierte Scripte oder Integration in bestehende Prozesse bevorzugen, bietet sich die Nutzung der AWS CLI an. Mit dem Tool lassen sich Athena-Abfragen programmatisch starten und die Ergebnisse auslesen.
Das Verfahren umfasst das Einreichen des SQL-Statements, das Abfragen der Ausführungs-ID und schließlich das Abrufen der Ergebnisse. Mit zusätzlichen Werkzeugen wie jq lassen sich die JSON-Ausgaben gezielt gefiltert und weiterverarbeitet werden. Dies ermöglicht etwa eine systematische Überwachung der Zugriffsstufen in automatisierten Backends oder Monitoring-Tools. Es gibt allerdings einige wichtige Randbedingungen, die bei der Nutzung dieses Verfahrens berücksichtigt werden müssen. Die Inventarberichte spiegeln nicht den Echtzeitstatus wider, da sie in festen Intervallen erstellt werden.
Somit können kurzfristige Änderungen an Zugriffsstufen zeitverzögert sichtbar werden. Außerdem sind korrekte Bucket-Richtlinien und Zugriffsrechte essentiell, damit die Inventarberichte ohne Probleme erstellt und gelesen werden können. Die Verschlüsselung der Daten in S3 ist ebenfalls ein Faktor, der bei der Konfiguration bedacht werden sollte. Die regelmäßige Überwachung der Zugriffsstufen von S3-Objekten eröffnet Unternehmen vielfältige Möglichkeiten. Neben Kostenoptimierung lassen sich damit auch gesetzliche Vorgaben oder interne Richtlinien zur Datenhaltung besser erfüllen.
Moderne Datenmanagementstrategien profitieren von der Transparenz, die durch die Kombination aus S3 Inventory und Athena geschaffen wird. Ob für große Enterprise-Umgebungen oder kleinere Projekte – die effiziente Abfrage und Auswertung der Objektzugriffsstufen hilft dabei, Speicherressourcen nachhaltig und verantwortungsbewusst zu nutzen. Die hohe Flexibilität von AWS bietet zudem noch weitere interessante Optionen. So kann mit einem einfachen SELECT-Statement aus Athena heraus mit der Abfrage der Intelligent-Tiering-Zugriffsstufe auch die Historie eines Objekts betrachtet werden. Die in der Inventory gespeicherten Zeitstempel ermöglichen das Nachvollziehen der Speicherbewegungen über mehrere Tage oder Wochen.