Monitoring
AWS 리소스의 로그 관리, 이벤트 모니터링 서비스
CloudTrail
AWS 리소스의 모든 읽기, 쓰기 작업의 상세 로그(작업 내역, 관련 리소스와 리전, 작업 수행자의 작업 시간 등)를 보관
-
API 작업과 비 API 작업을 모드 기록
- API 작업
- 예 : 인스턴스 시작, S3 버킷 생성, VPC 생성
- 비 API 작업
- 예 : AWS Management Console에 로그인 등
-
이벤트(event)
- AWS 계정의 활동 기록
관리 이벤트
= 제어 플레인 작업(Control Plane Operations)
- 보안 주체가 AWS 리소스에서 실행하는 작업을 포함
- 보안 구성
- → IAM AttachRolePolicy API
- 디바이스 등록
- → EC2 AttachRolePolicy API
- 데이터 라우팅 규칙 구성
- 로깅 설정
- → CloudTrail CreateTrail API
- 계정에서 발생하는 비 API 이벤트
- 사용자가 로그인하는 경우 ConsoleLogin 이벤트가 로깅
- 쓰기 전용과 읽기 전용으로 분류
- 쓰기 전용 이벤트 : 리소스를 변경하거나 변경할 수 있는 API 작업
- 읽기 전용 이벤트 : 리소스를 읽기만하고 변경하지 않는 API 작업
데이터 이벤트
= 데이터 플레인 작업(Data Plane Operations)
- 리소스 또는 리소스 내에서 수행되는 리소스 작업에 대한 정보를 제공
- 대량의 작업이 수행되는 S3 객체 수준 활동, Lambda 함수 실행
- S3 객체 수준 활동 → GetObject, DeleteObject, PutObject API
- Lambda 함수 실행 → Invoke API
- 추적을 생성할 때 데이터 이벤트는 기본적으로 기록되지 않음
- 데이터 이벤트를 기록하려면 활동을 수집할 리소스 또는 리소스 유형을 추적에 명시적으로 추가해야 함
인사이트 이벤트
- AWS 계정의 비정상적인 활동을 캡쳐
- 계정 API 사용량 변화가 계정의 일반적인 사용 패턴과 크게 다를 때 로깅
- S3 deleteBucket API 호출이 평균적으로 분당 20회 호출
- → 분당 100회 호출이 감지
- ⇒ 비정상적인 활동
- ⇒ 비정상적인 활동이 시작될 때와 정상으로 돌아갔을 때를 기록
-
이벤트 기록 (Event History)
- CloudTrail 이벤트에 대한 지난 90일 간의 기록
- 조회, 검색, 다운로드 등이 가능
- 각 리전별로 이벤트 기록을 작성하고 해당 리전에서의 활동만 기록
- IAM, Route 53 등의 글로벌 서비스 이벤트는 모든 리전의 이벤트 기록에 포함
-
추적 (trail)
- 90일이 경과한 이벤트 기록을 저장하거나 CloudTrail이 기록하는 이벤트 유형을 사용자 정의할 때 생성
- 특정 이벤트를 기록하고 지정한 S3 버킷에 CloudTrail 로그 파일을 전달, 로그 파일에는 JSON 형식의 항목이 하나 이상 들어 있음
- eventTime
- userIdentity
- eventSource
- eventName
- awsResion
- sourceIPAddress
CloudWatch
AWS 리소스와 AWS에서 실시간으로 실행되는 애플리케이션을 모니터링
- 리소스와 애플리케이션에 대한 지표(= 측정할 수 있는 변수)를 수집하고 추적
- CloudWatch 웹 사이트에는 사용 중인 모든 AWS 서비스에 한 지표가 자동으로 표시되고, 사용자 지정 대시보드 추가가 가능
- 지표를 감시해 알림을 보내거나 임계값을 위반한 경우 모니터링 중인 리소스를 자동으로 변경하는 경보를 생성
- 시스템 전체의 리소스 사용량, 애플리케이션 성능 및 운영 상태를 파악