CloudTrail을 사용하여 내 AWS 계정에서 발생한 API 호출 및 작업을 검토하는 방법은 무엇입니까?

최종 업데이트 날짜: 2020년 12월 18일

콘솔 로그인 또는 인스턴스 종료와 같이 내 AWS 계정에서 수행된 작업을 검토하려면 어떻게 해야 합니까?

간략한 설명

AWS CloudTrail 데이터를 사용하여 다음을 통해 계정에 대해 수행된 API 호출을 보고 추적할 수 있습니다.

  • CloudTrail 콘솔의 이벤트 기록.
  • Amazon CloudWatch Logs.
  • Amazon Athena 쿼리.
  • Amazon Simple Storage Service(Amazon S3)의 아카이브된 로그 파일.

참고: 모든 AWS 서비스가 CloudTrail에서 로그를 기록하고 사용하도록 지원하는 것은 아닙니다. CloudTrail과 통합된 AWS 서비스 목록은 CloudTrail에 대한 AWS 서비스 항목을 참조하세요.

해결 방법

참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

CloudTrail 콘솔의 이벤트 기록

지난 90일 동안 모든 지원되는 서비스 및 통합과 이벤트 유형(생성, 수정, 삭제 및 변경 불가능한 활동)을 볼 수 있습니다. 이벤트 기록을 사용하기 위해 트레일을 설정할 필요가 없습니다. 관련 지침은 CloudTrail 콘솔에서 CloudTrail 이벤트 보기를 참조하세요.

CloudWatch 콘솔에서 이벤트를 검색하려면 AWS CLI 명령인 filter-log-events를 사용할 수도 있습니다. 지표 필터를 사용하여 로그 이벤트에서 단어, 구문, 값을 검색하고 일치시킬 수도 있습니다. 그런 다음, CloudWatch 지표 및 경보로 변환할 수 있습니다. 자세한 내용은 필터 및 패턴 구문을 참조하십시오.

참고: AWS CLI를 사용 중이며 filter-log-events를 대규모(예: 자동화 또는 스크립트)로 사용할 계획인 경우에는, 모범 사례는 CloudWatch Logs 구독 필터를 사용하는 것입니다. filter-log-event에는 API 제한이 있기 때문입니다. 구독 필터에는 이러한 한도가 없으며, 구독 필터를 사용하면 실시간으로 대규모 로그 데이터를 처리할 수 있습니다. filter-log-events 및 해당 한도에 대한 자세한 내용은 CloudWatch Logs 한도를 참조하십시오.

Amazon CloudWatch Logs

CloudWatch Logs를 사용하면 StopInstances와 같이 리소스의 상태를 변경하는 작업은 물론, DescribeInstances와 같이 리소스의 상태를 변경하지 않는 작업도 검색할 수 있습니다. 이 지침에서는 이미 트레일을 생성했고 CloudWatch Logs로 이벤트를 전송하도록 구성했다고 가정합니다.

다음을 고려하십시오.

관련 지침은 CloudWatch Logs에 전송된 로그 데이터 보기를 참조하세요.

Amazon Athena 쿼리

Amazon Athena를 사용하면 Amazon S3 버킷에서 많은 수의 CloudTrail 로그 파일을 쿼리한 다음 자동으로 구문 분석할 수 있습니다. 자세한 내용은 Amazon Athena에서 AWS CloudTrail 로그 검색을 위한 테이블을 자동으로 생성하려면 어떻게 해야 합니까?를 참조하세요.

Amazon S3 아카이브된 로그 파일

CloudTrail로 캡처한 모든 이벤트를 Amazon S3 로그 파일에서 볼 수 있습니다. 또한 CloudTrail Processing Library 또는 AWS CLI를 사용하여 S3 버킷에서 수동으로 로그 파일을 구문 분석하거나 로그를 AWS CloudTrail 파트너에게 전송할 수 있습니다.

참고: S3 버킷에 로깅하려면 추적을 활성화해야 합니다.