본문 바로가기
Cloud Native/AWS: Automation

11. CloudWatch Logs

by jys275 2026. 3. 4.

1. Overview

 

개요 및 배경

  • AWS 환경 내 애플리케이션 로그 저장을 위한 중앙 집중식 로그 스토리지 서비스임
  • Log Groups(로그 그룹): 애플리케이션 또는 서비스 단위의 상위 논리적 그룹임
  • Log Streams(로그 스트림): 로그 그룹 내 특정 인스턴스, 개별 로그 파일 또는 컨테이너 단위의 로그 흐름을 나타냄
  • 로그 만료(보존) 정책은 영구 보존 또는 1일에서 10년 사이로 유연하게 설정 가능
  • 데이터는 기본적으로 암호화되며, 사용자 지정 KMS 키를 활용한 암호화 구성도 지원됨

주요 리소스 및 기능

  1. 로그 수집 소스 (Log Sources)
    • 인스턴스에서는 CloudWatch Unified Agent 사용을 권장함 (기존 CloudWatch Logs Agent는 사용 중단 예정)
    • Elastic Beanstalk, ECS(컨테이너), Lambda(함수), VPC Flow Logs(네트워크 트래픽), API Gateway, CloudTrail, Route53 등 다양한 AWS 서비스와 기본적으로 연동됨
  2. CloudWatch Logs Insights
    • 전용 쿼리 언어를 활용해 방대한 로그 데이터를 효율적으로 검색 및 분석함
    • 쿼리 결과를 시각화하여 CloudWatch 대시보드에 즉시 추가 가능
    • 실시간 모니터링 엔진이 아니며, 쿼리 실행 시점의 과거(Historical) 데이터를 분석함
    • 여러 AWS 계정이나 서로 다른 지역의 다수 로그 그룹에 대한 동시 쿼리 지원
  3. 로그 데이터 내보내기 및 스트리밍
    • S3 일괄 내보내기 (Batch Export): CreateExportTask API를 사용하며 완료까지 최대 12시간이 소요됨 (실시간 분석에 부적합)
    • 구독 필터 (Subscription Filters): 로그 이벤트를 실시간으로 필터링하고 라우팅함
    • 주요 구독 전송 대상: Kinesis Data Streams, Kinesis Data Firehose, AWS Lambda, Amazon OpenSearch

헷갈리는 포인트 (Tips)

  • S3로 로그를 즉시(실시간) 저장해야 하는 경우, S3 일괄 내보내기(Batch Export)가 아닌 구독 필터와 Kinesis Data Firehose를 연동하여 구성해야 함
  • 다중 계정 환경에서 교차 계정 로그 집계(Cross-account Log Aggregation) 구성 시 IAM 역할 및 권한 설정 구조를 명확히 이해해야 함
    • 발신 계정(Sender)은 구독 필터를 생성하고, 수신 계정(Recipient)은 가상의 구독 대상(Subscription Destination)을 생성함
    • 수신 계정 측에서 발신 계정의 접근을 허용하는 대상 액세스 정책(Destination Access Policy)을 연결해야 함
    • 수신 계정 내에 Kinesis Data Streams에 레코드를 쓸 수 있는 권한을 가진 IAM 역할을 생성하고, 발신 계정이 이를 수임(Assume)하도록 허용해야 함

2. Metric Filters

 

개요 및 배경

  • 로그 데이터 내 특정 패턴이나 단어(예: 특정 IP 주소, 'error' 단어 등)를 검색하고 필터링하기 위해 사용함
  • 필터링된 로그 이벤트 결과를 바탕으로 사용자 지정 지표(Custom Metric)를 생성할 수 있음

주요 리소스 및 기능

  1. 지표 필터 (Metric Filters)
    • 수집된 로그 스트림에 필터 표현식을 적용하여 매칭되는 이벤트의 발생 횟수 등을 측정함
    • 추출된 데이터로 실제 CloudWatch 지표(Metric)를 생성함
    • 생성하는 지표 필터에 최대 3개의 차원(Dimensions)을 지정하여 더욱 세밀한 데이터 분류가 가능함
  2. CloudWatch 경보 (Alarms) 연동
    • 지표 필터로 만들어진 지표를 활용하여 경보를 트리거함
    • 특정 조건 충족 시(예: 1분 이내에 'error' 단어가 5회 이상 발생) Amazon SNS 토픽과 연동하여 즉각적인 알림을 받을 수 있음

헷갈리는 포인트 (Tips)

  • 지표 필터를 생성하더라도 기존 데이터에 소급 적용(Retroactive filtering)되지 않음
  • 필터가 생성된 이후에 발생하는 로그 이벤트에 대해서만 지표 데이터가 푸시됨
  • 일반적인 자동화 알림 파이프라인 흐름: EC2 인스턴스(CloudWatch Agent) → CloudWatch Logs → 지표 필터(Metric Filter) 생성 → CloudWatch 지표 반영 → CloudWatch 경보 트리거 → SNS 알림 전송

'Cloud Native > AWS: Automation' 카테고리의 다른 글

13. CloudTrail  (0) 2026.03.04
12. EventBridge  (0) 2026.03.04
10. Systems Manager (SSM)  (0) 2026.03.04
9. Elastic Beanstalk  (0) 2026.03.04
8. Serverless Application Model (SAM) & CDK  (0) 2026.03.04