Skip to main content

Invalid Date

AWS Monitoring & Logging

이 문서에서는 AWS 리소스의 상태, 성능, 보안을 감시하고 분석하는 핵심 서비스들을 정리합니다. 모니터링(Monitoring)과 로깅(Logging)은 시스템의 안정성을 유지하고 문제를 신속하게 파악하는 데 필수적입니다.

다음 용어와 개념들에 대해 간략히 알아보겠습니다.

  • CloudWatch (지표 및 알람)
  • CloudTrail (API 호출 감사)
  • EventBridge (서버리스 이벤트 버스)
  • Config (리소스 구성 추적)
  • X-Ray (분산 추적 및 디버깅)

CloudWatch

AWS 리소스 및 애플리케이션에 대한 모니터링 및 관찰 서비스

  • 주요 기능:
    • Metrics (지표): EC2 CPU 사용률, 디스크 I/O, 네트워크 트래픽 등 다양한 수치를 수집합니다. (기본 5분, 상세 1분 간격)
    • Logs (로그): 애플리케이션 로그, 시스템 로그 등을 중앙에서 수집하고 저장합니다. (보존 기간 설정 가능)
    • Alarms (경보): 특정 지표가 임계값을 초과할 때 알림(SNS)을 보내거나 Auto Scaling 작업을 트리거합니다.
    • Dashboards: 여러 지표를 한눈에 볼 수 있는 시각화 도구를 제공합니다.
  • Agent: EC2 내부의 메모리 사용량이나 디스크 여유 공간 같은 OS 레벨 지표를 수집하려면 CloudWatch Agent를 설치해야 합니다.

CloudTrail

AWS 계정의 거버넌스, 규정 준수, 운영 및 위험 감사를 지원하는 서비스

  • 특징: "누가(Who), 언제(When), 어디서(Where), 무엇을(What)" 했는지 기록합니다.
  • 용도:
    • 보안 분석: 비정상적인 API 호출 패턴 감지.
    • 변경 추적: 리소스 생성/삭제/수정 이력 확인.
    • 규정 준수 감사: 내부 정책 위반 여부 확인.
  • Event History: 지난 90일간의 관리 이벤트(CreateBucket, RunInstances 등)를 무료로 조회할 수 있습니다.
  • Logs File Validation: 로그 파일이 무결한지(중간에 수정되지 않았는지) 검증하는 기능 제공.

EventBridge (구 CloudWatch Events)

애플리케이션을 다양한 소스의 데이터와 연결하는 서버리스 이벤트 버스

  • 특징: AWS 서비스, 자체 애플리케이션, SaaS 앱에서 발생하는 이벤트를 실시간으로 스트리밍하여 Lambda, SNS, SQS 등 타겟으로 라우팅합니다.
  • 주요 기능:
    • Rules (규칙): 특정 패턴의 이벤트를 필터링하여 타겟으로 전달.
    • Scheduler: 정해진 일정(Cron 표현식)에 따라 이벤트를 트리거 (예: 매일 밤 12시에 Lambda 실행).
    • Schema Registry: 이벤트 구조(스키마)를 정의하고 관리.

AWS Config

AWS 리소스 구성을 측정, 감사 및 평가하는 서비스

  • 특징: 리소스의 설정(Configuration) 변경 이력을 지속적으로 기록하고, 규정 준수(Compliance) 여부를 평가합니다.
  • 용도:
    • "S3 버킷이 퍼블릭인지 확인"
    • "EC2 보안 그룹에 22번 포트가 열려 있는지 감시"
    • 변경 전/후 상태 비교 및 구성 스냅샷 저장.
  • Remediation: 규정 위반 리소스 발견 시 자동으로 수정 조치(SSM Document 실행 등) 가능.

X-Ray

개발자가 마이크로서비스 아키텍처와 같은 분산 애플리케이션을 분석하고 디버깅하는 데 도움을 주는 서비스

  • 특징: 요청이 애플리케이션을 통과하는 전체 경로를 추적(Tracing)하여 병목 현상이나 오류 원인을 파악합니다.
  • Service Map: 서비스 간의 호출 관계와 응답 시간을 시각적으로 보여줍니다.
  • Annotations/Metadata: 추적 데이터에 비즈니스 관련 정보를 추가하여 검색 및 필터링 가능.

서비스 비교 (혼동하기 쉬운 포인트)

구분CloudWatchCloudTrailAWS Config
핵심 질문"시스템 성능은 어떤가?""누가 호출했는가?""설정이 어떻게 변했는가?"
주요 대상성능 지표 (CPU, 메모리, I/O)API 호출 (User, IP, Time)리소스 구성 (SG Rules, Bucket Policy)
알림/대응경보(Alarm) -> Auto ScalingCloudWatch Logs로 전송 -> 분석규칙 위반 -> 자동 복구(Remediation)
데이터 형태시계열 데이터 (숫자, 그래프)JSON 로그 파일 (감사 기록)리소스 구성 스냅샷 (히스토리)

데이터 시각화 및 대시보드 비교

AWS에는 데이터를 시각화하는 다양한 도구가 있습니다. 목적에 따라 적절한 서비스를 선택해야 합니다.

서비스설명주요 사용 사례
Amazon QuickSight클라우드 네이티브 BI(Business Intelligence) 서비스.비즈니스 데이터 분석, CEO/경영진 보고용 대시보드, ML 기반 인사이트 도출.
CloudWatch DashboardAWS 리소스 및 사용자 지정 지표 시각화.운영자/DevOps 모니터링, 서버 상태, 애플리케이션 성능 실시간 확인.
Amazon OpenSearch Service (Kibana)로그 및 분석 데이터 검색, 시각화, 분석.애플리케이션 로그 분석, 실시간 로그 모니터링, 복잡한 쿼리 검색.
Amazon Managed Grafana오픈 소스 Grafana의 완전 관리형 서비스.멀티 클라우드/하이브리드 환경 모니터링, Prometheus 등 다양한 데이터 소스 통합.

유즈케이스 시나리오 (Use Case Scenarios)

시나리오 / 키워드추천 서비스 (정답)설명
"CPU 사용률이 80%를 넘으면 알림을 받고 싶다"CloudWatch Alarm성능 지표(Metric)를 감시하고 임계값 도달 시 조치를 취합니다.
"누가 보안 그룹을 삭제했는지 알고 싶다"CloudTrailAPI 호출 기록(Identity, Time, Action)을 통해 범인을 찾습니다.
"S3 버킷이 퍼블릭으로 설정되지 않도록 강제하고 싶다"AWS Config리소스 구성을 지속적으로 평가하고 위반 시 알림/수정합니다.
"분산 시스템에서 특정 요청이 왜 느린지 분석하고 싶다"X-Ray서비스 맵과 트레이싱을 통해 각 구간별 지연 시간을 확인합니다.
"매일 밤 12시에 특정 Lambda를 실행해야 한다"EventBridge SchedulerCron 표현식을 사용하여 정해진 시간에 이벤트를 생성합니다.
"VPC 내부의 네트워크 트래픽 흐름을 분석하고 싶다"VPC Flow LogsENI(Network Interface)를 오가는 IP 트래픽 정보를 수집합니다. (내용은 안 보임, 헤더 정보만)
"경영진을 위한 매출 현황 대시보드를 만들고 싶다"QuickSight비즈니스 데이터를 시각화하고 인사이트를 공유하는 BI 도구입니다.
"실시간 로그 데이터를 검색하고 분석하고 싶다"OpenSearch (Kibana)대량의 로그 데이터를 인덱싱하고 빠르게 검색/시각화합니다.