본문 바로가기
카테고리 없음

개발자를 위한 AWS CloudTrail 핵심기능, 이벤트유형, 사용사례

by jranke 2025. 3. 8.

 

AWS CloudTrail은 AWS 환경에서 발생하는 모든 API 호출을 기록하는 서비스로, 보안 감사(Audit), 문제 해결(Troubleshooting), 규정 준수(Compliance) 등을 위해 필수적인 역할을 합니다. AWS를 활용하는 개발자라면 CloudTrail을 이해하고 적절하게 설정함으로써 시스템의 투명성을 높이고, 이상 징후를 감지하며, 보안 정책을 강화할 수 있습니다. 이 글에서는 CloudTrail의 핵심기능, 구성 요소, 로그 유형, 그리고 실제 사용 사례를 중심으로 개발자가 반드시 알아야 할 핵심 개념을 정리해 보겠습니다.

 

AWS CloudTrail 핵심 기능

AWS CloudTrail은 AWS 계정에서 이루어지는 API 호출을 기록하고, 로그를 저장하며, 분석할 수 있도록 도와주는 핵심 서비스입니다. 개발자가 이를 효과적으로 활용하면 보안 및 운영 효율성을 높일 수 있으며, 문제 발생 시 원인을 빠르게 파악할 수 있습니다.

 

AWS CloudTrail 아키텍처
AWS CloudTrail 아키텍처

 

API 호출 추적

CloudTrail은 AWS 계정에서 발생하는 모든 API 호출을 로깅합니다. AWS Management Console, AWS SDK, AWS CLI 등 다양한 인터페이스에서 실행된 모든 API 요청이 기록되며, API 호출의 사용자(Who), 액션(What), 시간(When), 소스(Where) 등의 정보를 상세히 기록합니다.

 

Event History 기록 및 검색 

AWS CloudTrail 콘솔을 통해 이벤트 로그를 검색하고 필요한 정보를 쉽게 조회할 수 있습니다. 최근 90일 동안의 이벤트를 콘솔에서 직접 조회할 수 있으며, CloudTrail Insights 기능을 활용하면 비정상적인 API 호출 패턴을 감지할 수 있습니다.

 

Amazon S3 및 CloudWatch와의 연동

CloudTrail 로그는 Amazon S3 버킷에 저장할 수 있으며, CloudWatch Logs와 연동하여 실시간 모니터링 및 알림 설정이 가능합니다. CloudWatch Logs와 함께 사용하면 특정 API 호출이 발생할 때 경고를 받을 수 있으며, AWS Lambda를 활용하면 로그 분석 및 자동 대응(예: 이상 트래픽 발생 시 특정 사용자 차단)도 가능합니다.

 

Multi-Region 로깅 지원

AWS CloudTrail은 기본적으로 모든 AWS 리전에서 발생하는 API 호출을 추적할 수 있도록 설정할 수 있습니다. 단일 리전 로깅(Single-Region Trail) 또는 모든 리전을 한 번에 로깅하는 Multi-Region Trail 설정이 가능합니다.

 

AWS Organization 차원의 로깅

AWS Organizations를 사용하면 여러 AWS 계정을 하나의 CloudTrail에서 중앙 관리할 수 있습니다. 기업 내 여러 계정의 로그를 하나의 S3 버킷으로 통합하여 관리할 수 있으며, 보안 및 규정 준수 요구사항을 충족하는 데 효과적입니다.

 

이벤트 유형

AWS CloudTrail은 트레일을 통해 로그를 수집하고 저장하는 다양한 구성 요소로 이루어져 있습니다.

트레일(Trail)은 CloudTrail이 API 호출 이벤트를 기록할 수 있도록 설정하는 기능입니다. 단일 리전 또는 모든 리전에 대해 설정 가능하며, S3 버킷 및 CloudWatch에 로그를 저장할 수 있습니다. CloudTrail 콘솔, AWS CLI, AWS SDK를 통해 트레일을 생성할 수 있습니다.

 

트레일은 이벤트들이 기록이 되는 이벤트로 기록이 됩니다. 

AWS CloudTrail이 기록하는 이벤트는 관리 이벤트(Management Events), 데이터 이벤트(Data Events), Insights 이벤트(Insights Events), 네트워크 활동 이벤트로 나뉩니다.

 

관리 이벤트 (Management Events)

AWS 리소스에 대한 생성, 수정, 삭제 등의 API 호출을 기록합니다. 예를 들면 IAM 사용자 생성, 보안 그룹 변경, EC2 인스턴스 생성 등의 이벤트가 포함됩니다.

 

데이터 이벤트(Data Events)

S3 버킷, Lambda 함수 등에서 발생하는 고세밀도(high-fidelity) 이벤트를 기록합니다. 예를 들면 S3 객체 업로드, Lambda 함수 실행 기록 등이 포함됩니다.

 

인사이트 이벤트(Insights Events)

비정상적인 API 호출 패턴을 감지하여 보안 문제를 조기에 발견할 수 있도록 도와줍니다. 예를 들면 갑작스러운 IAM 권한 변경, 과도한 API 호출 발생 등이 있습니다.

 

네트워크 활동 이벤트(Network activity Events)

VPC 엔드포인트를 통과하는 AWS API 활동을 모니터링하여 데이터 보호 및 보안 탐지 기능을 강화할 수 있습니다.
 

 

사용사례

CloudTrail에서 제공하는 로그 유형을 이해하고 보다 효과적으로 시스템을 모니터링하고 보안성을 높일 수 있습니다.

관리 이벤트 로그 활용

  • 보안 구성(예: IAM AttachRolePolicy API 작업)
  • 디바이스 등록(예: Amazon EC2 CreateDefaultVpc API 작업)
  • 로깅 설정(예: AWS CloudTrail CreateTrail API 작업)
  • 콘솔을 통한 사용자 로그인 (non-API 작업)
  • 리소스 생성/삭제/수정 (예: EC2 인스턴스 생성, 삭제, 중지 등)
  • 네트워크 구성 변경 (예: VPC, 서브넷, 라우팅 테이블 등)
  • 데이터 이벤트 로그 활용

데이터 이벤트 로그 활용

  • 데이터 이벤트를 지원하는 AWS 자원의 “데이터 영역”의 운영과 관련한 API 기록
  • 버킷 및 버킷의 객체의 Amazon S3 객체 수준 API 활동(예: GetObject, DeleteObject, PutObject API 작업)
  • AWS Lambda 함수 실행 활동(Invoke API)
  • 테이블의 Amazon DynamoDB 객체 수준 API 활동(예: PutItem, DeleteItem, UpdateItem API 작업)
  • Amazon EBS 볼륨 및 스냅샷 관련 API 활동
  • AWS CodeCommit 리포지토리 관련 API 활동

관리 이벤트 로그는 AWS 리소스의 생성, 수정, 삭제 및 보안 구성 변경 등의 활동을 추적하는 데 유용합니다. 이를 통해 불필요한 리소스 프로비저닝, 잘못된 구성 변경, 권한 부여 등의 문제를 감지할 수 있습니다.

데이터 이벤트 로그는 AWS 서비스에서 데이터 객체(예: S3 객체, DynamoDB 항목)에 대한 액세스 및 변경 사항을 기록합니다. 이를 통해 데이터 무결성 위반, 데이터 누출, 악의적인 데이터 조작 등의 문제를 탐지할 수 있습니다.