CloudTrail의 S3 + Athena 패턴은 강력하지만 마찰이 있다. Athena 테이블을 만들고, 파티션을 설정하고, 쿼리를 작성하고, 결과를 해석하는 과정이 감사가 급할 때 시간을 잡아먹는다. CloudTrail Lake는 이 마찰을 제거한다. 이벤트 데이터를 전용 레이크에 직접 저장하고, 콘솔에서 SQL을 바로 실행한다. 오늘은 SOA 운영자 시각에서 CloudTrail Lake의 Event Data Store 설계, SQL 쿼리 패턴, Insights의 ML 기반 이상 탐지 원리, 그리고 Organization 규모의 크로스 계정 활용까지 실무 중심으로 깊이 다룬다.
기존 Trail(S3 저장)은 "저장과 분석을 분리"하는 구조다. 이벤트가 S3에 JSON.gz로 쌓이면, Athena가 그것을 읽어 쿼리한다. 이 분리가 유연성을 주지만, Athena 테이블·파티션 관리라는 운영 부담이 생긴다.
CloudTrail Lake는 이벤트를 **컬럼형 저장소(Columnar Storage)**에 직접 수집한다. 컬럼형은 특정 필드만 스캔할 때 I/O가 훨씬 적다. eventName = 'ConsoleLogin'만 조건으로 걸면 다른 컬럼은 읽지 않아 쿼리가 빠르고 비용이 낮다.