AWS CloudTrail API 호출 이력 추적 가이드
1. [빠른 확인] 이벤트 기록 (Event History)
최근 90일 이내의 관리 이벤트(Management Events)를 조회할 때 가장 빠르고 간편한 방법입니다.
방법: CloudTrail 콘솔 → 이벤트 기록(Event History) 메뉴로 이동합니다.
필터링: * 시간 범위: 특정 시점을 찾기 위해 'Absolute' 범위를 선택하고 날짜와 시간을 지정합니다.
속성 필터:
이벤트 이름(예:RunInstances),사용자 이름,리소스 이름등으로 범위를 좁힙니다.
장점: 별도의 설정 없이 모든 계정에서 기본 활성화되어 있으며 무료입니다.
2. [심층 분석] CloudTrail Lake (SQL 기반 쿼리)
1) CloudTrail Lake: 설정이 필요한 이유와 방법
기본 제공되는 '이벤트 기록'은 편리하지만 한계가 명확합니다. Lake는 그 한계를 넘기 위해 설계되었습니다.
항목 | 이벤트 기록 (기본) | CloudTrail Lake (설정 필요) |
보관 기간 | 최대 90일 | 최대 10년 (3,653일) |
검색 방식 | 단순 필터링 (시간, 리소스 등) | 표준 SQL (SELECT, JOIN 등) |
데이터 범위 | 단일 계정, 관리 이벤트 위주 | 조직 전체(Organizations), 데이터 이벤트 포함 가능 |
비용 | 무료 | 유료 (데이터 수집 및 스토리지 용량 기반) |
2) Lake 설정 단계 (간단 요약)
이벤트 데이터 스토어 생성: CloudTrail 콘솔의 'Lake' 메뉴에서 '이벤트 데이터 스토어 생성'을 클릭합니다.
보관 기간 설정: 1년에서 최대 10년까지 보관 기간을 지정합니다. (이 기간에 따라 스토리지 비용이 결정됩니다.)
이벤트 유형 선택: 관리 이벤트(인스턴스 생성 등)만 담을지, S3 객체 접근 같은 데이터 이벤트도 담을지 선택합니다.
조직 통합(선택): AWS Organizations를 사용 중이라면, 모든 멤버 계정의 로그를 이 한 곳으로 다 모으도록 설정할 수 있습니다.
3) 설정 시 엔지니어가 고려해야 할 포인트
비용 관리: Lake는 데이터를 수집할 때 GB당 비용이 발생합니다. 모든 S3 접근 로그(Data Events)를 다 넣으면 비용이 폭발할 수 있으니, 조사가 꼭 필요한 버킷이나 중요한 API만 선별해서 담는 것이 기술입니다.
통합 분석: Lake는 CloudTrail 로그뿐만 아니라 AWS Config 리소스 구성 이력이나 외부 시스템 로그도 함께 담아서 쿼리할 수 있습니다. "누가 보안 그룹을 바꿨고(CloudTrail), 그 결과 보안 그룹이 어떻게 변했는지(Config)"를 SQL 한 번으로 찾을 수 있죠.
CloudTrail Lake (SQL 기반 쿼리)
90일이 지났거나, 수백만 건의 로그 중 정교한 조건으로 데이터를 뽑아내야 할 때 사용합니다. 2026년 현재 가장 추천되는 분석 방식입니다.
방법: CloudTrail 콘솔 → Lake 메뉴에서 SQL 쿼리를 실행합니다.
예시 쿼리 (특정 시간대 특정 IP의 작업 추적):
SELECT eventTime, eventName, userIdentity.arn, sourceIpAddress FROM [Event_Data_Store_ID] WHERE eventTime >= '2026-01-30 09:00:00' AND eventTime <= '2026-01-30 10:00:00' AND sourceIpAddress = '1.2.3.4'
장점: 최대 10년까지 로그 보관이 가능하며, AI 기반 쿼리 요약(Preview) 기능을 통해 복잡한 로그 결과를 자연어로 요약받을 수 있습니다.
3. [대량 로그 쿼리] Amazon Athena 활용
이미 S3에 로그를 쌓고 있는 '추적(Trail)'이 있다면 Athena를 통해 저렴하고 빠르게 쿼리할 수 있습니다.
방법: S3에 저장된 JSON 로그를 테이블화하여 표준 SQL로 조회합니다.
추천 시나리오: 특정 버킷에 대한 액세스 거부(Access Denied) 에러만 골라내거나, 특정 IAM Role의 활동 전체를 엑셀(CSV)로 추출해야 할 때 유용합니다.
로그에서 반드시 확인해야 할 4대 핵심 필드
특정 시점의 이력을 추적할 때는 다음 필드들을 조합하여 퍼즐을 맞추어야 합니다.
필드명 | 의미 | 분석 포인트 |
| Who (누가) | Root 계정인지, 특정 IAM Role인지, 아니면 AWS 서비스(자동화)인지 확인 |
| When (언제) | 사고 발생 시점과 일치하는지 확인 (UTC 기준임에 주의) |
| What (무엇을) | 호출된 API 명칭 (예: |
| Detail (상세내용) | 어떤 인스턴스 ID를 타겟으로 했는지, 어떤 설정값으로 변경했는지 확인 |
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.