AWS용어 쉽게 이해하기: CloudTrail, CloudWatch and AWS Config
AWS의 CloudTrail과 CloudWatch는 모두 AWS의 모니터링 및 관리 도구이지만, 각기 다른 목적을 가지고 있으며, 상호보완적으로 작동할 수 있습니다.

출처: https://medium.com/awesome-cloud/aws-difference-between-cloudwatch-and-cloudtrail-16a486f8bc95
- CloudTrail:(CloudTrail > 이벤트 기록)
AWS 계정의 모든 활동(가상자원 생성, 변경, 삭제, 접속 등)을 별도 비용 없이 이벤트로 기록하는 기본 서비스입니다. 마치 계정의 활동 로그를 작성하는 기록관과 같습니다. 모든 API 호출, 콘솔 로그인, 리소스 변경 등 계정에서 일어나는 모든 작업을 기록합니다. 이 기록은 CloudTrail 이벤트를 생성하며, 이 이벤트는 기본적으로 90일 동안 CloudTrail 이벤트 기록에 보존됩니다.
- CloudTrail 추적:(CloudTrail > 추적)
90일이 지난 로그를 보관하려면 추적을 생성하고 S3 버킷에 저장하도록 설정해야 합니다. S3의 스토리지 용량과 비용이 허용하는 한 영구적으로 로그를 보존할 수 있습니다. CloudTrail 로그를 선택사항으로 CloudWatch Logs로 보낼 수 있으며, AWS Organizations를 통해 여러 계정의 로그를 하나의 중앙 버킷에 모으려면 추적이 필요합니다. CloudTrail에서 추적(Trail)을 1개까지 무료로 생성하고 이벤트를 S3 버킷으로 전송할 수 있지만, 이벤트 로그를 저장하는 S3 버킷 사용에 대한 비용은 별도로 발생합니다. - CloudTrail Lake:(CloudTrail > 레이크)
CloudTrail이 기록한 이벤트 데이터를 분석하는 도구입니다. 마치 데이터 분석가와 같습니다. CloudTrail Lake를 사용하면 CloudTrail 추적을 통해 저장된 기존 데이터를 가져올 수도 있고, 새로운 데이터를 직접 수집할 수도 있습니다. CloudTrail Lake를 활성화하면, 이벤트 데이터가 Lake(이벤트 데이터 스토어)에 수집되어 SQL을 사용하여 쿼리하고 분석할 수 있게 됩니다. 이를 통해 보안 위협 탐지, 운영 문제 해결, 규제 준수 감사 등을 수행할 수 있습니다. 이벤트 데이터 스토어를 생성하면서 기록의 보존 기간을 지정할 수 있으며, 보존 기간은 최소 7일에서 최대 2,555일(약 7년)까지 설정 가능합니다. 이 기간이 만료되면 기록은 자동으로 삭제됩니다.
- CloudTrail 추적:(CloudTrail > 추적)
- CloudWatch:
AWS 리소스(CPU, 메모리, 네트워크 등)의 상태를 실시간으로 모니터링하고, 특정 조건(예: CPU 사용률 > 80%)이 발생하면 경고를 트리거합니다. CloudWatch는 로그, 지표 및 이벤트 형태로 모니터링 및 운영 데이터를 수집하고 자동화된 대시보드를 사용하여 시각화하므로 AWS와 온프레미스에서 실행되는 AWS 리소스, 애플리케이션 및 서비스를 통합하여 볼 수 있습니다. 지표와 로그의 상관관계를 파악하여 리소스의 상태와 성능을 더 잘 이해할 수 있습니다. 또한 지정한 지표 값 임계값을 기반으로 경보를 생성하거나 기계 학습 알고리즘을 기반으로 비정상적인 지표 동작을 감시할 수 있습니다. 신속하게 조치를 취하려면 경보가 트리거될 경우 알림을 제공하고 자동 크기 조정을 자동으로 시작하는 자동 작업을 설정하여 평균 해결 시간을 단축할 수 있습니다. 또한 지표, 로그 및 추적을 심층적으로 분석하여 애플리케이션 성능을 개선하는 방법을 더 잘 이해할 수 있습니다.- 대시보드:
Amazon CloudWatch 대시보드는 CloudWatch 콘솔에서 사용자 지정이 가능한 홈 페이지로, 여러 리전에 분산되어 있는 리소스를 비롯한 모든 리소스를 단일 보기에서 모니터링하는 데 사용할 수 있습니다. CloudWatch 대시보드를 사용하면 AWS 리소스에 대한 지표 및 경보의 사용자 지정 보기를 생성할 수 있습니다. 사용자 지정 대시보드와 자동 대시보드가 있으며 사용자 지정 대시보드에서는 사용자가 직접 대시보드를 생성할 수 있습니다. - 경보:
사용자에게 최적의 환경을 제공하려면 애플리케이션의 운영 상태에서 잠재적인 문제가 감지될 때 신속하게 대응할 수 있어야 합니다. CloudWatch 경보는 애플리케이션 및 리소스 내에서 감지된 조건을 알려주고 사용자 대신 조치를 취하여 애플리케이션 운영 상태를 최적화합니다. Amazon SNS 주제를 사용하여 애플리케이션 간 메시징 또는 애플리케이션과 사용자 간 알림을 수행하는 알림을 보냅니다. - 로그:
CloudWatch Logs를 사용하면 모든 시스템, 애플리케이션 및 AWS 서비스의 로그를 확장성이 뛰어난 단일 서비스로 중앙 집중화할 수 있습니다. 로그는 로그 그룹(Log Groups)이라는 논리적 컨테이너에 저장됩니다. EC2 인스턴스에 설치된 CloudWatch 에이전트를 사용하여 사용자 지정 애플리케이션 및 서비스에서 로그를 수집하고 저장할 수도 있습니다. IAM에서 CloudWatchAgentServerPolicy 정책을 가진 역할을 생성한 후 EC2 인스턴스의 IAM역할에서 해당 역할을 선택하면 EC2 인스턴스에 CloudWatch Agent를 설치합니다. 또한 AWS System Manager > Session Manager > 기본 설정에서 CloudWatch 로깅를 활성화하면 세션에서 발생하는 모든 세션 로그가 지정된 로그 그룹에 기록됩니다. - 지표:
지표는 CloudWatch의 기본 모니터링 단위입니다. 지표는 일정한 간격으로 수집되어 시스템의 기능 및 성능에 대한 지식을 제공하는 수치 값입니다. 지표는 환경의 상태를 나타내며 문제를 신속하게 감지하고 알리는 데 특히 유용합니다. 지표에 경보를 설정할 수 있습니다. 지표가 경보 임계값을 위반하는 경우 이를 알리거나 자동으로 작업을 수행하도록 경보를 설정할 수 있습니다. 예를 들어 CPU 사용률이 최대일 때 플릿을 확장하는 경보 작업을 설정할 수 있습니다. - 이벤트:
이벤트는 AWS 리소스의 변경 사항을 설명하는 거의 실시간의 시스템 이벤트 스트림을 제공합니다. Amazon EventBridge는 이벤트 관리에 선호되는 방법입니다. CloudWatch 또는 EventBridge에서 수행한 변경 사항이 각 콘솔에 나타납니다.
- 대시보드:
- AWS Config:
AWS Config는 AWS 계정과 연결된 리소스에 대한 상세 보기를 제공합니다. 여기에는 리소스 구성 방법, 리소스 간 관계, 규정 준수 여부 평가, 시간 경과에 따른 구성 및 관계 변경 방식 등이 포함됩니다.- 지속적인 기록 (Continuous Recording):
AWS 계정의 모든 리소스(EC2 인스턴스, S3 버킷, IAM 사용자 등)의 구성 정보가 생성, 수정, 삭제될 때마다 자동으로 기록합니다. 이를 통해 리소스 구성 내역을 시간 흐름에 따라 추적할 수 있습니다. - 규칙 기반 평가 (Rule-based Evaluation):
AWS Config 규칙(Rules)을 사용하여 리소스의 구성이 보안, 규정 준수 또는 운영 모범 사례를 따르는지 자동으로 평가합니다. 예를 들어, “S3 버킷이 공개적으로 접근 가능한가”와 같은 규칙을 설정하여 위반 사항을 감지하고 알림을 받을 수 있습니다. 웹 콘솔에서는 AWS 관리형 규칙만 선택할 수 있으며, 사용자 지정 규칙은 AWS Lambda 함수를 사용하여 생성할 수 있습니다.
- 지속적인 기록 (Continuous Recording):
특징 | CloudTrail | CloudWatch |
---|---|---|
목적 | API 호출 추적 및 감사 로그 생성 | 리소스 및 애플리케이션 성능 모니터링 |
데이터 수집 범위 | API 활동 기록 (이벤트 로그) | 메트릭, 로그, 시스템 상태 |
로그 저장 위치 | S3에 저장 (기본) | CloudWatch Logs에 저장 |
사용 사례 | 보안 감사, 문제 원인 분석 | 성능 모니터링, 실시간 알림 |
연속성 | 과거 이벤트 기록 중심 | 실시간 모니터링 중심 |
주요 리소스 유형 | API 호출 (사용자 또는 서비스 간) | AWS 리소스 (CPU, 네트워크, 메모리 등) |