Protokolle für Geschwindigkeit und Kosten partitionieren
Organisieren Sie Daten so, dass Untersuchungen schneller und kostengünstiger ausgeführt werden.
Protokolle für Geschwindigkeit und Kosten partitionieren ist eine kostenlose AWS Security Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AWS Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Die Kosten des Scannens
Da Athena nach der Menge der gescannten Daten abrechnet, verschwendet es Zeit und Geld, ein Jahr an Logs zu durchsuchen, um die Ereignisse eines einzigen Tages zu finden. Partitionierung ermöglicht es Athena, nur den relevanten Datenausschnitt zu lesen, wodurch Abfragen deutlich schneller und günstiger werden. Sie ist die wichtigste einzelne Optimierung für Athena.
Was eine Partition ist
Eine Partition unterteilt die Daten einer Tabelle anhand der Werte einer oder mehrerer Spalten, üblicherweise anhand von Datumskomponenten, die S3-Präfixen zugeordnet sind. CloudTrail-Logs sind bereits nach region/year/month/day strukturiert. Eine entsprechende Partitionierung bildet diese physische Struktur ab und ermöglicht es Athena, Ordner außerhalb der Abfrage zu überspringen.
Partitionsbereinigung
Wenn eine Abfrage nach einer Partitionsspalte filtert, führt Athena eine Partitionsbereinigung durch: Es liest nur die passenden Präfixe und ignoriert den Rest. Eine Abfrage für einen Tag mit korrekt eingerichteten Partitionen scannt nur einen winzigen Teil des Buckets. Ohne diese Bereinigung würde dieselbe Abfrage alles scannen, auch Daten, die sie unmöglich benötigen kann.
Partitionen manuell hinzufügen
Partitionen lassen sich unter anderem mit ALTER TABLE ADD PARTITION registrieren, indem ein Partitionswert einem S3-Speicherort zugeordnet wird. Das funktioniert, ist bei täglich anfallenden Logs jedoch mühsam, da Sie jeden Tag eine Partition hinzufügen müssten. Für einmalige historische Datenimporte ist dieses Vorgehen geeignet, für laufende Logs lässt es sich jedoch nicht skalieren.
Partitionsprojektion
Die Partitionsprojektion ist der moderne und empfohlene Ansatz: Sie teilen Athena das Partitionsmuster mit, etwa Datumswerte innerhalb eines Bereichs, und Athena berechnet die Präfixe zum Abfragezeitpunkt, ohne jede Partition im Katalog zu speichern. Bei kontinuierlich wachsenden CloudTrail- und Flow-Log-Daten entfällt dadurch die laufende Pflege, während die Bereinigung automatisch erfolgt.
TBLPROPERTIES (
'projection.enabled'='true',
'projection.dt.type'='date',
'projection.dt.range'='2023/01/01,NOW',
'projection.dt.format'='yyyy/MM/dd'
)Glue-Crawler für Partitionen
Ein Glue crawler kann neue Partitionen ebenfalls nach einem Zeitplan erkennen und dem Katalog hinzufügen. Das automatisiert die Partitionsverwaltung für sich entwickelnde Daten. Bei vorhersehbaren datumsbasierten Strukturen ist die Partitionsprojektion jedoch meist einfacher und verursacht keine Crawler-Kosten.
Einsparungen durch Spaltenformate verstärken
Die Partitionierung begrenzt, welche Dateien gelesen werden; Spaltenformate wie Parquet begrenzen, welche Spalten innerhalb dieser Dateien gelesen werden. Die Kombination aus beidem – die Konvertierung der Logs in Parquet und die Partitionierung nach Datum – kann die gescannte Datenmenge um Größenordnungen reduzieren. Viele Teams führen einen Konvertierungsjob aus, um abfrageoptimierte Kopien umfangreicher Logs zu speichern.
Komprimierung
Die Komprimierung von Log-Daten mit Formaten wie GZIP oder Snappy reduziert die gescannten Bytes und die Speicherkosten zusätzlich. Athena liest komprimierte Dateien transparent. Zusammen mit Partitionierung und spaltenbasierter Speicherung vervollständigt die Komprimierung das Trio der Techniken, die eine groß angelegte Log-Analyse bezahlbar machen.
Partitionen für Sicherheit konzipieren
Partitionieren Sie Sicherheitslogs hauptsächlich nach Datum, da Untersuchungen zeitlich begrenzt sind. Bei Organisationstrails sollten Sie außerdem eine Partitionierung nach Konto oder Region in Betracht ziehen, damit Sie schnell ein einzelnes Konto auswählen können. Die richtigen Partitionsschlüssel spiegeln wider, wie Ihre Untersuchungen tatsächlich filtern, und maximieren so die Bereinigung bei realen Abfragen.
Scan-Metriken beobachten
Athena meldet die Menge der gescannten Daten pro Abfrage. Anhand dieser Metrik erkennen Sie, ob die Partitionierung funktioniert: Eine gut partitionierte und zeitlich begrenzte Abfrage sollte Megabytes und keine Terabytes scannen. Scannt eine Abfrage deutlich mehr als erwartet, stimmt Ihr Filter wahrscheinlich nicht mit den Partitionsspalten überein.
Optimierungen kombinieren
Der Optimierungsstapel besteht aus Partitionierung, um irrelevante Daten zu überspringen, einem Spaltenformat, um nur benötigte Spalten zu lesen, und Komprimierung, um die Bytemenge zu reduzieren. Auf CloudTrail und Flow Logs angewendet, verwandeln diese Techniken langsame und teure Scans in schnelle, kostengünstige Untersuchungen – genau das, was eine Sicherheitsanalyse im großen Maßstab erfordert.
Kurze Überprüfung
Testen Sie Ihr Wissen über Partitionierung.
Zusammenfassung
Partitionierung unterteilt Tabellendaten nach Spalten (meist nach Datum), sodass Athena eine Partitionsbereinigung durchführen und nur relevante Präfixe scannen kann. Dadurch werden Kosten und Zeit reduziert. Bevorzugen Sie bei wachsenden Logs die Partitionsprojektion gegenüber manuellen ADD PARTITION-Anweisungen oder Crawlern. Kombinieren Sie Partitionen mit spaltenbasiertem Parquet und Komprimierung, um große Einsparungen zu erzielen, partitionieren Sie Sicherheitslogs nach Datum und Konto und behalten Sie die Metrik für gescannte Daten im Blick.
Häufig gestellte Fragen
Ist die Lektion „Protokolle für Geschwindigkeit und Kosten partitionieren“ kostenlos?
Ja — der vollständige Text von „Protokolle für Geschwindigkeit und Kosten partitionieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AWS Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Protokolle für Geschwindigkeit und Kosten partitionieren“?
Organisieren Sie Daten so, dass Untersuchungen schneller und kostengünstiger ausgeführt werden. Du übst AWS Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AWS Security Academy zu starten?
Keine Vorkenntnisse erforderlich. AWS Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Protokolle für Geschwindigkeit und Kosten partitionieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AWS Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede AWS Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- S3-Protokolle mit Athena abfragen
- Tabellen über CloudTrail-Daten erstellen
- Vorfälle mit SQL-Abfragen untersuchen
- Protokolle für Geschwindigkeit und Kosten partitionieren