1. 개요
본 글에서는 Amazon EKS 환경에서 발생한 애플리케이션 로그를 기반으로, Athena와 Amazon Bedrock을 활용하여 장애 분석 리포트를 자동 생성하는 과정을 설명합니다.
CloudWatch Logs에 수집된 로그를 S3로 적재한 후, Athena를 통해 분석 가능한 형태로 가공하고,
이를 다시 Bedrock의 Claude 모델에 전달하여 장애 원인 및 패턴을 자동으로 도출합니다.
이를 통해 운영자는 대량의 로그를 직접 분석하지 않고도 주요 장애 원인과 영향 범위를 빠르게 파악할 수 있으며, 운영 효율성과 분석 속도를 동시에 개선할 수 있습니다.
2. Hands-on 과정
Athena 쿼리 통한 분석 데이터 추출
CloudWatch Logs에 저장된 EKS 애플리케이션 로그를 S3로 적재한 후, Athena를 활용하여 로그 데이터를 SQL 기반으로 분석하였습니다.
로그 데이터를 JSON 형태에서 분석 가능한 구조로 변환한 뒤, 에러 메시지, Pod 정보, 시간대별 발생 건수 등을 기준으로 집계하여
장애 분석에 필요한 핵심 데이터를 추출합니다.
이 과정에서 대량의 로그를 효율적으로 필터링하고, 이상 패턴을 식별할 수 있는 정형 데이터를 생성합니다.
- 분석이 필요한 로그그룹 데이터 S3에 적재

2. Athena 에서 데이터베이스 생성

3. Athena 쿼리 통해서 raw 테이블 생성

4-1. 쿼리 테스트 – Error 로그만 추출

결과

4-2. 쿼리 테스트 – 시간대별 트래픽 추출하기

결과

메인 분석 데이터 추출
5-1. 메인 분석 데이터 추출 – Error 로그

결과

5-2. 메인 분석 데이터 추출 – 어떤 Pod 에서 Error 로그 분포되어있는지

결과

5-3. 메인 분석 데이터 추출 – 시간대별 Error 건수

결과

- Bedrock을 통한 로그 분석
Athena를 통해 추출된 로그 분석 데이터를 CSV 형태로 S3에 저장한 후, AWS Lambda를 통해 해당 데이터를 Amazon Bedrock으로 전달하도록 설정하였습니다.
Lambda 함수는 S3에서 데이터를 읽어 Bedrock의 Claude 모델을 호출하며, Inference Profile을 통해 모델을 실행하여 장애 분석 리포트를 생성합니다.
이 과정을 통해 빠르고 편리하게 단순 데이터 조회를 넘어, 장애 원인 분석, 주요 에러 패턴 식별, 운영 대응 방안까지 자동으로 도출할 수 있습니다.
- S3 에 쿼리 결과(.csv) 업로드

2. Lambda 생성 및 실행

Bedrock, S3 권한 있는 role 생성하여 Lambda 에 권한 부여

Bedrock 프롬프트를 포함한 Lamnda 코드 작성

Bedrock Inference Profile ARN을 사용하여 모델을 호출

Bedrock Inference Profile ARN을 사용하여 모델을 호출

보고서를 생성하여 S3 에 적재하도록 설정 후 Lambda 코드 저장 후 실행
지정한 S3 경로에 report.txt 잘 생성된것 확인가능

아래와 같은 log 분석 보고서 확인 가능

3. 결론
본 실습을 통해 Athena와 Amazon Bedrock을 연계하여 로그 분석 자동화 파이프라인을 구축함으로써, 대규모 로그 데이터를 기반으로 한 장애 분석을 효율적으로 수행할 수 있었습니다.
특히 Bedrock의 생성형 AI를 활용하여 단순 로그 조회를 넘어, 장애 원인 분석, 패턴 식별, 대응 방안 도출까지 자동화할 수 있었으며,
이는 인프라 운영 시 기존 수작업 기반 로그 분석 대비 운영 생산성을 크게 향상 시킬 수 있는 방법입니다.
향후에는 해당 구조를 기반으로 실시간 분석, 알림 연계, 대시보드화 등을 통해 보다 고도화된 운영 자동화 환경으로 확장할 수 있으며, 실무와 연결시킬수있는 유용한 실습이었습니다.

