본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] AWS CloudWatch Logs

728x90
반응형

AWS CloudWatch Logs 완벽 가이드

AWS CloudWatch Logs는 애플리케이션 로그 데이터를 안전하게 저장하고, 관리하며, 분석할 수 있는 강력한 도구입니다. 이번 글에서는 CloudWatch Logs의 주요 개념, 기능, 활용 방법을 알아보겠습니다.


1. CloudWatch Logs의 기본 개념

CloudWatch Logs는 AWS 애플리케이션 로그를 저장하고 관리하는 데 최적화된 서비스입니다. 로그 데이터는 **로그 그룹(Log Group)**에 저장되며, 각 그룹 내에 로그 스트림(Log Stream) 형태로 구성됩니다.

  • 로그 그룹(Log Groups): 특정 애플리케이션 또는 시스템 단위를 나타냄
  • 로그 스트림(Log Streams): 애플리케이션 인스턴스나 특정 파일, 컨테이너와 같은 세부 단위

로그 만료 정책

로그 데이터를 보관할 기간을 설정할 수 있습니다.

  • 기본값은 무기한 보관
  • 1일에서 10년까지 선택 가능

2. CloudWatch Logs에 데이터 전송하기

CloudWatch Logs는 다양한 방법으로 데이터를 수집할 수 있습니다. 주요 방법은 다음과 같습니다:

  1. CloudWatch Unified Agent
    • 서버 로그 및 메트릭 데이터를 수집 및 전송
  2. Elastic Beanstalk
    • 애플리케이션 로그를 CloudWatch로 직접 전송
  3. ECS
    • 컨테이너 로그 전송
  4. Lambda
    • 함수 실행 시 생성되는 로그 전송
  5. VPC Flow Logs
    • 네트워크 메타데이터 기록
  6. API Gateway
    • API 요청 데이터를 로그로 기록
  7. CloudTrail
    • 특정 필터링 조건에 맞는 이벤트 로그 저장
  8. Route53
    • DNS 쿼리 로그 저장

3. CloudWatch Logs Insights로 데이터 분석

CloudWatch Logs Insights는 CloudWatch Logs 데이터를 효율적으로 검색하고 분석할 수 있도록 지원하는 쿼리 도구입니다.

주요 기능

  • 쿼리를 작성해 시간 범위 지정 후 실행 가능
  • 시각화된 결과와 로그 라인 확인
  • 분석 결과를 대시보드에 추가해 재사용 가능

예시 쿼리

  • 최근 25개 이벤트 검색
  • 로그 내 에러 및 예외 탐색
  • 특정 IP 기반 필터링

Logs Insights는 자동으로 로그 데이터를 분석하여, 조건 기반 필터링, 통계 계산, 이벤트 정렬 등의 기능을 제공합니다.


4. CloudWatch Logs 데이터 내보내기

CloudWatch Logs 데이터를 외부로 내보내는 방법은 두 가지로 나뉩니다.

1) Amazon S3로 배치 내보내기

  • 로그 데이터를 S3로 내보내기 위한 CreateExportTask API 호출
  • 최대 12시간 소요 가능

2) 실시간 스트리밍

  • **구독 필터(Subscription Filters)**를 사용하여 실시간 스트리밍 구현
  • 데이터를 Kinesis Data Streams, Kinesis Data Firehose, 또는 Lambda로 전송

5. 다중 계정/리전 로그 통합

CloudWatch Logs는 여러 AWS 계정과 리전에서 데이터를 통합 관리할 수 있습니다.

  • 발신 계정에서 구독 필터 생성
  • 수신 계정에서 구독 대상 생성
  • 적절한 IAM 권한 설정으로 데이터 통합

결론

AWS CloudWatch Logs는 로그 데이터를 관리하고 분석하는 데 필수적인 도구입니다. 애플리케이션에서 발생하는 다양한 로그를 효율적으로 수집하고 분석하여 시스템 안정성을 강화하세요.

728x90
반응형