AWS Security Academy · Lektion

Partitionera loggar för hastighet och kostnad

Organisera data så att undersökningar går snabbare och kostar mindre.

Lektion 4 av 413 steg

Partitionera loggar för hastighet och kostnad är en gratis lektion i AWS Security Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AWS Security Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AWS Security Academy innehåller totalt 4 lektioner.

Kostnaden för genomsökning

Eftersom Athena tar betalt per genomsökt datamängd slösar ni både pengar och tid om ni frågar efter ett års loggar för att hitta händelser från en enda dag. Partitionering är tekniken som gör att Athena bara behöver läsa den relevanta delen av datan, vilket gör frågorna avsevärt snabbare och billigare. Det är den viktigaste enskilda optimeringen i Athena.

Vad är en partition

En partition delar upp en tabells data efter värdena i en eller flera kolumner, vanligtvis datumkomponenter som mappas till S3-prefix. CloudTrail-loggar är redan strukturerade efter region/year/month/day, så partitionering efter dessa värden motsvarar den fysiska strukturen och gör att Athena kan hoppa över mappar utanför frågan.

Partition pruning

När en fråga filtrerar på en partitionskolumn utför Athena partition pruning: endast matchande prefix läses och resten ignoreras. En fråga för en enda dag med korrekta partitioner genomsöker en mycket liten del av bucketen. Utan pruning skulle samma fråga genomsöka allt, även data som den omöjligen kan behöva.

Lägg till partitioner manuellt

Ett sätt att registrera partitioner är ALTER TABLE ADD PARTITION, där ett partitionsvärde kopplas till dess S3-plats. Det fungerar, men är omständligt för dagliga loggdata eftersom ni skulle behöva lägga till en partition varje dag. Det passar bra för enstaka historiska inläsningar, men skalar inte för fortlöpande loggar.

Partition projection

Partition projection är den moderna och rekommenderade metoden: ni anger partitionsmönstret för Athena, till exempel datum inom ett intervall, och Athena beräknar prefixen vid frågetillfället utan att lagra varje partition i katalogen. För CloudTrail- och Flow Log-data som växer kontinuerligt undviker detta ständigt underhåll och gör pruning automatisk.

TBLPROPERTIES (
  'projection.enabled'='true',
  'projection.dt.type'='date',
  'projection.dt.range'='2023/01/01,NOW',
  'projection.dt.format'='yyyy/MM/dd'
)

Glue Crawlers för partitioner

En Glue crawler kan också upptäcka nya partitioner enligt ett schema och lägga till dem i katalogen. Det automatiserar hanteringen av partitioner för data som förändras, men för förutsägbara datum-baserade layouter är partition projection vanligtvis enklare och medför ingen crawler-kostnad.

Kolumnformat förstärker besparingarna

Partitionering begränsar vilka filer som läses, medan kolumnformat som Parquet begränsar vilka kolumner som läses i dessa filer. Genom att kombinera båda – konvertera loggar till Parquet och partitionera efter datum – kan ni minska den genomsökta datamängden med flera storleksordningar. Många team kör ett konverteringsjobb för att lagra frågeoptimerade kopior av loggar med hög volym.

Komprimering

Om ni komprimerar loggdata med format som GZIP eller Snappy minskar ni ytterligare antalet genomsökta byte och lagringskostnaden. Athena läser komprimerade filer transparent. Tillsammans med partitionering och kolumnlagring fullbordar komprimering den trio av tekniker som gör storskalig logganalys ekonomiskt överkomlig.

Utforma partitioner för säkerhet

För säkerhetsloggar bör ni i första hand partitionera efter datum eftersom utredningar är tidsbegränsade. Överväg även partitionering efter konto eller region för organisationstrails, så att ni snabbt kan rikta in er på ett visst konto. Rätt partitionsnycklar återspeglar hur era utredningar faktiskt filtrerar och maximerar pruning för verkliga frågor.

Övervaka genomsökningsmått

Athena rapporterar genomsökt datamängd per fråga. Genom att övervaka detta mått ser ni om partitioneringen fungerar: en välpartitionerad fråga med ett begränsat tidsintervall bör genomsöka megabyte, inte terabyte. Om en fråga genomsöker betydligt mer än förväntat är filtret förmodligen inte anpassat till partitionskolumnerna.

Kombinera optimeringarna

Optimeringslagren består av partitionering för att hoppa över irrelevanta data, kolumnformat för att bara läsa nödvändiga kolumner och komprimering för att minska antalet byte. Tillämpade på CloudTrail och Flow Logs omvandlar dessa tekniker långsamma och kostsamma genomsökningar till snabba och billiga utredningar – precis vad storskalig säkerhetsanalys kräver.

Snabbkontroll

Testa era kunskaper om partitionering.

Sammanfattning

Partitionering delar upp tabelldata efter kolumner, vanligtvis datum, så att Athena kan utföra partition pruning och bara genomsöka relevanta prefix, vilket minskar kostnad och tidsåtgång. Föredra partition projection framför manuella ADD PARTITION eller crawlers för loggar som växer. Kombinera partitioner med kolumnformatet Parquet och komprimering för stora besparingar, partitionera säkerhetsloggar efter datum och konto och övervaka måttet för genomsökt datamängd.

Gratis att börja

Lär dig AWS Security Academy med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Partitionera loggar för hastighet och kostnad” gratis?

Ja – hela texten till ”Partitionera loggar för hastighet och kostnad” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AWS Security Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i AWS Security Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Partitionera loggar för hastighet och kostnad”?

Organisera data så att undersökningar går snabbare och kostar mindre. Ni övar på AWS Security Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AWS Security Academy?

Du behöver inga förkunskaper. Utbildningen i AWS Security Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Partitionera loggar för hastighet och kostnad”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AWS Security Academy-lektionen?

Ja. Varje AWS Security Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Fråga S3-loggar med Athena
  2. Skapa tabeller över CloudTrail-data
  3. Undersök incidenter med SQL-frågor
  4. Partitionera loggar för hastighet och kostnad
← Tillbaka till AWS Security Academy