[AWS] Logging/Monitoring: CloudTrail / CloudWatch / EventBridge / X-Ray

INYEONG KIM·2024년 9월 1일

AWS SAP 정리노트

목록 보기
9/14
post-thumbnail

Amazon CloudTrail

주요 목적: API 호출 및 계정 활동을 기록하고 추적하는 데 사용되며, 보안 감사와 규정 준수 목적

  • CloudTrail은 AWS 계정에서 이루어진 API 호출(누가, 언제, 어떤 서비스에 대해 무엇을 했는지)을 기록하는 서비스

  • CloudTrail은 관리 작업(예: EC2 인스턴스 시작, S3 버킷 생성 등)과 같은 API 호출을 기록하며, 이를 통해 보안 분석, 변경 사항 추적, 규정 준수를 지원

  • S3 버킷에 저장할 수 있으며, 로그 데이터를 Athena를 사용해 쿼리하거나, CloudWatch Logs에 전달하여 추가 분석 및 모니터링

Amazon CloudWatch

주요 목적: 모니터링 및 로깅 (=경보)

주로 AWS 리소스 및 애플리케이션의 모니터링과 로깅에 사용되며, 메트릭 수집, 로그 관리, 알람 설정과 같은 기능을 제공

  • 모니터링 및 로깅: CloudWatch는 AWS 리소스와 애플리케이션을 모니터링하고, 로그 데이터를 수집, 저장, 분석하는 서비스입니다. CloudWatch를 사용하면 리소스의 상태를 실시간으로 모니터링할 수 있으며, 사용자 지정 메트릭을 정의하고 경보를 설정 가능

  • 메트릭 수집: CloudWatch는 CPU 사용률, 메모리 사용량, 디스크 I/O 등의 메트릭을 수집하여 대시보드에 시각화할 수 있으며, 이러한 메트릭을 기반으로 자동으로 조치

    • 다양한 AWS 서비스(EC2, RDS, Lambda 등)와 통합되어, 이들 서비스의 성능을 모니터링하고 관리 가능
  • 로그 관리: CloudWatch Logs는 애플리케이션 로그, 시스템 로그, 커스텀 로그 데이터를 수집하여 데이터를 저장/쿼리/특정 패턴에 대한 알림을 설정 가능

  • 알람: CloudWatch 알람을 통해 특정 메트릭이 임계값을 초과할 때 자동으로 알림을 전송하거나, AWS Lambda 함수를 트리거하여 조치

AWS Amazon EventBridge

주요 목적: 이벤트 스트리밍 및 라우팅 (=다음 동작으로 라우팅)

이벤트 라우팅 및 스트리밍 서비스로, 다양한 소스에서 발생하는 이벤트를 수신하여 실시간으로 처리하고, 다양한 대상에 이벤트를 라우팅하는 데 사용

  • 이벤트 버스(Event Bus): EventBridge는 이벤트를 스트리밍하고 라우팅하는 서비스로, 다양한 AWS 서비스, 타사 SaaS 애플리케이션, 그리고 사용자 지정 애플리케이션에서 발생하는 이벤트를 실시간으로 수신하고 처리

  • 이벤트 패턴 매칭: EventBridge는 특정 이벤트 패턴에 따라 이벤트를 필터링하고, 그 이벤트를 특정 대상(예: Lambda 함수, SQS 큐, SNS 주제 등)으로 라우팅

  • 사건 기반 아키텍처: EventBridge는 마이크로서비스 아키텍처와 같은 사건 기반(event-driven) 애플리케이션을 구축하는 데 유용하며, 서비스 간의 느슨한 결합을 유지하는데 유용

  • 규칙 및 타겟: EventBridge에서는 규칙을 정의하여 특정 이벤트가 발생했을 때 어떤 행동을 취할지 결정

CloudWatch와 EventBridge는 상호 보완적

CloudWatch 알람을 통해 이벤트를 감지한 후, EventBridge를 통해 해당 이벤트를 다른 서비스로 라우팅하는 방식으로 함께 사용

AWS X-Ray (MSA 모니터링)

분산 애플리케이션에서 발생하는 문제를 추적하고 분석하기 위한 서비스 (MSA 모니터링)

X-Ray는 애플리케이션의 요청이 어떻게 처리되는지를 시각화하여, 성능 병목 현상, 오류 발생 지점,그리고 애플리케이션의 전체적인 아키텍처를 이해할 수 있도록 도와준다.

X-Ray 주요 기능

  • 트랜젝션 분석
  • 서비스 맵(Service Map)
  • 분산 추적: 마이크로서비스나 서버리스 아키텍처에서 특히 유용

X-Ray 주요 사례

  1. 애플리케이션의 오류 추적 및 분석
  2. 마이크로서비스 아키텍처 디버깅
  3. 서버리스 애플리케이션의 성능 분석
profile
미래의 저를 위해 작성하는 중입니다 🙆‍♂️

0개의 댓글