Esistono diversi servizi AWS che possono aiutarti in questo, e dipende davvero dalle tue esatte esigenze su quale si adatterebbe meglio a te. Funzionalità (e costi) differenti si applicano a ciascuno.
CloudTrail è stato menzionato, ma la prima opzione che mi viene in mente data la tua domanda (ed è menzionata in un commento sulla risposta di @ Evgeny ) è AWS Config Service . Memorizza le "istantanee" della configurazione di AWS in un determinato momento (in un bucket S3), ma fornisce anche utili modifiche a un argomento SNS. Puoi quindi gestirli come preferisci. Ad esempio, su un account a basso traffico ho questi andando direttamente in Slack; su un account ad alto traffico sto monitorando la NumberOfMessagesPublished
metrica sull'argomento SNS per notare se vengono apportate un numero maggiore di modifiche rispetto al solito.
AWS Config offre anche un servizio "regole"; questi sono un po 'più costosi di quanto mi aspetterei, ma a seconda delle tue esigenze potrebbero essere utili. Basta non attivarli tutti in una volta come facevo mentre giocavo ... il costo del mese per ogni regola si applica immediatamente. ;) (Ma puoi usare Config senza usare le regole - questo è quello che sto facendo al momento).
C'è anche Trusted Advisor , che non fa esattamente quello che hai chiesto ma potrebbe essere utile per eseguire determinati controlli su come gli ingegneri configurano la tua infrastruttura, ad esempio se qualcuno ha lasciato secchi S3 aperti. È molto utile con un piano di supporto di livello aziendale o superiore, poiché molti dei suoi controlli sono bloccati altrimenti.
Esistono poi strumenti di terze parti come CloudCheckr , che combinano aspetti di AWS Cost Explorer, Trusted Advisor, Config, CloudTrail, CloudWatch, Inspector e GuardDuty. Utile se vuoi entrare in profondità ma risparmia tempo a configurare tutto da solo.
In alternativa, è possibile gestire la propria infrastruttura utilizzando uno strumento come Terraform o CloudFormation e imporre che tutte le modifiche debbano essere apportate tramite tali. È quindi possibile eseguire il commit dei file / modelli di configurazione per il controllo del codice sorgente e persino testarli sull'infrastruttura live in CI e fallire la compilazione se qualcuno ha apportato modifiche non tracciate. In questo modo, la cronologia dei commit diventa il registro di controllo, ma richiede che i tuoi ingegneri siano disciplinati!