FINDING COSTI
Log CloudWatch conservati per sempre
Un esempio pratico di finding in un audit AWS: i log group senza retention policy conservano dati per sempre e possono trasformare log ordinari in costo ricorrente silenzioso.
Cos’è un CloudWatch Log Group?
I CloudWatch Log Group conservano log da servizi AWS e applicazioni: funzioni Lambda, task ECS, API Gateway, log applicativi custom, job di deploy e altro. Ogni log group contiene log stream, e ogni stream contiene eventi di log.
Il finding
Alcuni log group non hanno una retention policy. In AWS significa che i log vengono conservati indefinitamente. Succede spesso quando i servizi creano log group automaticamente e nessuno rivede i default.
Perché conta
I log sono utili, ma log vecchi e rumorosi possono diventare costosi e difficili da governare. Una retention indefinita può aumentare i costi, conservare dati operativi sensibili più del necessario e rendere il cleanup più difficile.
Come rilevarlo
Trova i log group senza retention policy:
aws logs describe-log-groups --query "logGroups[?retentionInDays==null].[logGroupName,storedBytes]" --output tableCome correggerlo manualmente
Dopo aver confermato la retention corretta per l’ambiente, applica una retention policy al log group esistente:
aws logs put-retention-policy --log-group-name "/aws/lambda/my-function" --retention-in-days 30Come lo previene il nostro building block CDK
Per nuova infrastruttura, il fix deve vivere nel codice così la configurazione non va in drift. Il nostro building block LogGroup imposta di default una retention di un mese e supporta KMS quando i log sono sensibili.
new LogGroup(this, 'AppLogs', {
retention: logs.RetentionDays.ONE_MONTH,
appId: 'billing-api',
owner: 'platform',
env: 'prod',
});Takeaway dell’audit
Durante un AWS Account Audit, elenchiamo i log group senza retention, stimiamo dove il rischio è significativo, raccomandiamo retention per ambiente, correggiamo manualmente le risorse esistenti dove serve e portiamo i log group futuri in IaC.
Prenota un audit AWS