7장 모니터링: CloudTrail, CloudWatch, AWS Config

GonnabeAlright·2022년 3월 22일
0
post-thumbnail
AWS Certified Solutions Architect STUDY GUIDE 도서를 읽고 정리한 내용입니다.

CloudTrail, CloudWatch, AWS Config는 AWS 리소스와 애플리케이션의 상태, 성능, 보안 수준을 관리하기 위한 주요 서비스로서 다음과 같은 작업을 통해 AWS 환경을 지속적으로 모니터링할 수 있도록 돕는다.

성능 모니터링

AWS 리소스의 성능을 파악할 수 있다면, 기존의 리소스만으로 워크로드 처리가 충분한지, 그렇지 않다면 리소스 스케일업 또는 스케일아웃이 필요한지 알 수 있다. 시간 흐름에 따른 성능 모니터링을 통해 사용량 급증 시간대를 파악할 수 있다.

애플리케이션 문제점 감지

로그에서 exception, 또는 warning과 같은 단어가 나타났을 때, 적시에 데이터 오류, 타임아웃, 기타 이슈를 해결해서 이후 발생할 수도 있는 큰 사태를 미연에 방지할 수 있다.

보안 문제점 감지

사용자의 활동 내역과 접근 허용 내역을 감사함으로써 보안 위험을 조기에 차단할 수 있다.

로그 이벤트 모니터링

AWS 리소스 사용과 관련된 모든 행적은 로그 형태로 남게 되며, 시스템 문제 해결 및 보안 위험성 조사에서 이와 같은 로그는 큰 도움이 된다.

AWS 리소스 인벤토리 관리

기존 리소스 내역을 파악하고, 이들 리소스의 환경설정 내역과 관계, 의존성을 이해하는 일은 현재의 환경이 변경됐을 때 어떤 일이 발생할 수 있는지 예측할 때 도움이 된다.

  • CloudTrail은 AWS 리소스와 관련된 모든 읽기 및 쓰기 작업에 대한 상세한 로그를 기록한다. 해당 리소스에 대해 누가, 언제, 어떤 IP 주소를 통해 접근했는지 파악할 수 있도록 한다.
  • CloudWatch는 AWS 및 온프레미스 서버 등 비-AWS 리소스로부터 숫자형 성능 지표 또는 매트릭스를 수집한다. 이들 리소스로부터 수집 및 저장된 로그 파일은 검색하기 쉽게 관리되며, 매트릭스가 저장된 범위 또는 병목구간을 넘어설 때 알림을 보내거나 일정한 액션을 취할 수 있다. CloudWatch는 이벤트 또는 스케줄 기반으로 자동화된 대응 액션을 취할 수 있다.
  • AWS Config는 AWS 리소스의 환경 설정 변경 내역을 추적하고, 시간에 따라 어떻게 변화했는지 파악한다. 이 때 서로 연관된 리소스를 파악하고 과거 특정 시점에 어떤 내용으로 설정돼 있었는지도 알 수 있다. 또한 기본 설정 내역 대비, 특정 시점 리소스의 환경 설정 내역을 비교할 수 있고, 미리 정의된 기준을 벗어나는 경우 경고 메시지를 전송하도록 할 수 있다.

CloudTrail

CloudTrail은 계정에서 발생한 AWS 리소스에 대한 읽기 및 쓰기 작업 내역을 기록하며, 사용자가 취한 액션의 종류, 이에 영향을 받는 리소스와 해당 리전, 액션을 위한 사용자, 액션이 취해진 시기 등에 대한 상세한 내역이 남게 된다. Cloud Trail은 API 액션은 물론, 비-API 액션도 기록한다.

API 액션

  • 인스턴스 시작
  • S3 버킷 생성
  • VPC 생성
  • CLI, SDK, 다른 AWS 서비스에서 행해진 액션 모두 포함

비-API 액션

  • 관리 콘솔 로그인

CloudWatch

AWS 리소스 및 비-AWS 리소스의 성능 지표 또는 매트릭스를 수집, 수정, 시각화하는 서비스이며, 모든 AWS 리소스는 자신의 매트릭스를 CloudWatch로 전송한다. 주요 성능 매트릭스로는 EC2 인스턴스의 CPU 활성화, EBS 볼륨의 읽기 및 쓰기 IOPS, S3 버킷 용량, DynamoDB의 읽기 및 쓰기 용량 유닛 등이 있다.

CloudWatch는 네임스페이스(namespaces)를 기준으로 매트릭스를 관리한다. 예를 들어, EC2 매트릭스의 네임스페이스는 AWS/EC2이고, S3 매트릭스의 네임스페이스는 AWS/S3가 된다.

네임스페이스는 매트릭스를 담는 컨테이너와 같은 역할을 하며, 비슷한 이름을 혼동하지 않도록 돕는다.

CloudWatch Agent

CloudWatch Agent는 EC2 인스턴스, Linux 또는 Windows 기반의 온프레미스 서버의 로그를 수집하는 명령줄 기반의 프로그램이다. Agent는 메모리 활성화율 등, EC2가 기본적으로 생성하지 못하는 성능 지표도 수집할 수 있다. Agent가 생성한 지표는 커스텀 매트릭스이며 사용자 지정 커스텀 네임스페이스에 저장된다.

CloudWatch Alarms

CloudWatch Alarms은 단일 지표를 모니터링하다가 값의 변화가 발생하면 이메일 알림, 인스턴스 리부팅, Auto Scaling 액션 실행 등 미리 지정된 특정 동작을 취하는 서비스다.

Amazon EventBridge

EventBridge(CloudWatch Events의 새 버전)는 특정 이벤트 또는 스케줄을 모니터링하다가 관련 액션을 취할 수 있다. EventBridge는 이벤트에 반응해 액션을 취하는 반면, CloudWatch Alarms는 성능 지표에 반응해 액션을 취한다는 점에서 차이가 있다. 따라서 EventBridge는 EC2 인스턴스가 중지되는 순간 SNS 알림을 전송할 수 있으며, 유저가 S3 버킷에 이미지 파일을 업로드하는 순간 이를 처리하기 위한 Lambda 함수를 실행할 수 있다.

AWS Config

AWS Config는 특정 시간대의 AWS 리소스의 환경설정 내역을 추적하며, 일종의 환경설정 타임머신이라 할 수 있다. 또한 AWS Config는 리소스 변경 후 6시간마다 여러분이 지정한 S3 버킷에 환경설정 히스토리를 저장하면, 이 때의 S3 버킷을 딜리버리 채널(delivery channel)이라고 부른다.

0개의 댓글