cloudrift
cloudrift è una CLI che analizza account AWS per identificare risorse sprecate e stimarne il costo mensile.
⚠️ Disclaimer: cloudrift è uno strumento di analisi in sola lettura: segnala spreco stimato e raccomandazioni — non cancella, modifica o ferma alcuna risorsa AWS. Ogni finding deve essere validato dal tuo team infrastrutturale prima di agire.
Perché
Le risorse AWS inutilizzate accumulano costi senza valore. EBS volumes non attaccati, Elastic IP non associati, RDS ferme, NAT Gateway senza traffico — cloudrift li trova automaticamente e ti dice quanto stai spendendo per niente.
Output di esempio
cloudrift analyze
Scanning us-east-1 (account 123456789012) for wasted cloud resources...
EBS Volumes — Unattached
┌────────────────────┬───────────┬────────┬──────┬────────────┬────────────┐
│ Volume ID │ Region │ Size │ Type │ Created │ Est. Cost │
├────────────────────┼───────────┼────────┼──────┼────────────┼────────────┤
│ vol-0abc123def456 │ us-east-1 │ 500 GB │ gp3 │ 2025-01-15 │ $40.00/mo │
└────────────────────┴───────────┴────────┴──────┴────────────┴────────────┘
NAT Gateways — Zero Traffic (14d)
┌────────────────────┬───────────┬────────────┬────────────┐
│ Gateway ID │ Region │ Created │ Est. Cost │
├────────────────────┼───────────┼────────────┼────────────┤
│ nat-0f1e2d3c4b5a6 │ us-east-1 │ 2025-02-03 │ $32.40/mo │
└────────────────────┴───────────┴────────────┴────────────┘
Total estimated waste: $72.40/month
Stessa scansione, output diverso a seconda di cosa ti serve: --format json per il piping (jq), --format markdown per i commenti PR, --pdf per un report da allegare, --silent per l’esecuzione CI-only.
Cosa lo rende diverso
- Nessuna credenziale nuova da creare — usa la chain di credenziali AWS SDK standard che hai già (profilo, variabili d’ambiente, instance role). Nessun IAM user dedicato, nessuna access key da ruotare per cloudrift stesso.
- Sola lettura, sempre — la policy richiesta è fatta solo di
Describe*/Get*/List*. Nessuna action di scrittura è mai chiamata, in nessun comando. - Zero terze parti — gira in locale o nella tua CI; i dati restano dentro il tuo perimetro. Nessun account SaaS da creare, nessuna telemetria, nessun dato che lascia la tua rete a meno che tu non attivi esplicitamente una notifica (Slack/webhook/email).
- Open source — Apache-2.0, codice ispezionabile su GitHub.
Quick start
npm install -g @cloudrift/cli
cloudrift analyze
Serve solo una policy IAM in sola lettura — vedi Quick Start → per l’installazione completa e la policy da incollare.
Cosa rileva
cloudrift analizza 44 tipi di risorse suddivisi in due categorie — waste (denaro speso ora, eliminabile) e optimization (risparmio che mantiene la risorsa) — dai volumi EBS non attaccati ai cluster Redshift idle, dalle pipeline CodePipeline stagnanti ai bucket S3 senza lifecycle.
→ Vedi tutte le 44 risorse supportate
Oltre la waste detection
Il core è la ricerca di spreco cloud-cost, ma cloudrift copre anche altri tre domini — ciascuno con la propria pagina:
- Server MCP — un agente AI (Claude Code, Kiro, VS Code Copilot) chiama gli scanner direttamente come tool
- CI/CD Gate — blocca la pipeline se lo spreco supera una soglia
- Postura di sicurezza (
resource-security, 29 check) e risorse morte (dead-resources, 18 check) a costo $0 - Policy as Code con OPA per regole avanzate
- Confronto e trend di spesa via AWS Cost Explorer
Protezioni contro i falsi positivi
- Periodo di grazia — risorse più giovani di 7 giorni (configurabile con
--min-age-days) non vengono mai segnalate - Tag di esclusione — qualunque risorsa con
cloudrift:ignore(configurabile con--ignore-tag) viene saltata - Snapshot legati ad AMI — non vengono segnalati (non sarebbero comunque cancellabili)
- Finestre di idle conservative — 14 giorni (non 48h) per i check “zero attività”, apposta per non far scattare falsi positivi su workload batch/DR poco frequenti. Vedi Honest Caveats
Stack tecnico
- TypeScript (strict mode)
- AWS SDK v3 (client modulari, retry/backoff built-in)
- Architettura DDD (Ports & Adapters) con plugin model
- Nx monorepo con pnpm
- Jest per il testing (unit, contract con fixture replay, e2e LocalStack)
- esbuild per il bundling della CLI
- pdfkit per la generazione PDF (no headless browser)
- Commander.js per il parsing argomenti
- Zod per la validazione del config