칼투라(Kaltura), Amazon OpenSearch Service 이용한 관측성 운영 비용 60% 절감 사례
도입
대규모 애플리케이션 환경을 운영할수록 로그, 메트릭, 트레이스 등 다양한 관측 데이터를 안정적으로 수집하고 분석하는 작업은 점점 복잡해집니다. 특히 수백 개의 애플리케이션과 수십억 건의 이벤트가 발생하는 환경이라면, 단순한 모니터링 수준을 넘어 운영 효율성과 성능, 비용까지 세심하게 고려해야 합니다.
영상 중심의 AI 기업인 칼투라(Kaltura)는 이러한 과제를 안고 SaaS 기반 로깅 솔루션에서 Amazon OpenSearch Service로 전환해 60% 비용 절감, 실시간 통합 분석 기능 확보, 팀 간 협업 강화라는 성과를 이뤄냈습니다. 이번 글에서는 칼투라의 Amazon OpenSearch Service 활용 사례를 통해 관측성 자동화 구성 방안, 효율적인 로그 수집 및 분석 방법, 배포 가이드 등을 자세히 살펴봅니다.
본문
관측성 확장에 따른 과제
칼투라는 매일 8TB 이상의 로그와 트레이스를 수집하며, 최대 초당 6GB의 로그가 발생하는 대형 아키텍처를 운영하고 있습니다. 이 규모에서 SaaS 기반 솔루션은 초기에는 적절했지만, 플랫폼이 성장하면서 로그 포맷의 비표준화, 복잡한 유지보수, 데이터 가치를 반영하지 못하는 보존 정책 등으로 운영 효율이 떨어졌습니다.
이에 따라 DevOps 팀은 다양한 오픈소스/매니지드 솔루션을 비교하며, 유연성, 보안성, 실시간 처리 역량 등을 종합적으로 고려해 Amazon OpenSearch Service로 마이그레이션을 진행했습니다.
관측성과 트레이스 수집을 위한 시스템 구성
칼투라는 새로운 AWS 계정에 전용 관측성 시스템을 생성하고 여기서 OpenSearch Service를 실행했습니다. 로그는 Amazon EKS 및 EC2에서 실행되는 마이크로서비스에서 수집되었고, KMS, IAM, CloudWatch와 같은 보안 서비스와 연동하여 엔터프라이즈 등급의 운영 환경을 구축했습니다.
로그 수집 자동화를 위한 Fluent Bit 구성
로그는 쿠버네티스에서 Fluent Bit를 DaemonSet으로 배포하여 수집했습니다. 각 애플리케이션 코드를 수정하지 않고 stdout에서 로그를 자동으로 읽어 수집하는 방식입니다. Fluent Bit 설정을 통해 로그 항목별 태깅 및 라우팅을 자동화했으며, OpenSearch Ingestion을 통해 로그 유형별로 필터링, 구조화 및 처리했습니다.
또한, OpenTelemetry Collector를 사용해 애플리케이션 레이어에서 직접 스팬과 트레이스를 수집하고, 트레이스 수집 자동화를 위한 SDK를 개발해 애플리케이션에 통합했습니다.
OpenSearch Ingestion을 이용한 자동화된 로그 파이프라인
수집된 Fluent Bit 및 OpenTelemetry 데이터는 OpenSearch Ingestion을 통해 실시간으로 수집, 정규화, 전처리, 필터링되었습니다. open-source 기반 Data Prepper 프로세서를 활용한 이 파이프라인은 아래와 같은 처리 기능을 갖추고 있습니다:
- 로그 유형 식별 및 필드 추가 (add_entries)
- Grok 기반 구조화 및 파싱 (grok)
- 날짜 형식 통일 (date)
- 필드명 리네이밍 (rename_keys)
- 노이즈 제거 (drop_events)
이 과정을 통해 분석 가능한 정제 로그 데이터를 생성하고, OpenSearch Service 도메인에 배치하여 실시간 검색과 대시보딩이 가능하게 했습니다.
지속 가능한 로그 관리: Index State Management와 Data Stream 활용
Amazon OpenSearch Service의 Index State Management(ISM) 정책을 활용, 데이터 수명주기에 따라 핫-웜-콜드 스토리지를 자동으로 전환하며 저장 비용을 최소화했습니다. 예시 정책은 다음과 같이 설정됐으며, 60일 이후 자동 삭제되도록 설정되었습니다.
- 30GB 이상의 로그는 자동 롤오버
- 2일 후 Warm Storage로 이전
- 14일 후 Cold Storage로 이동
- 60일 후 삭제
이러한 저장 정책은 데이터 활용도에 따른 자원 배분에 최적화되어 있으며, 비용 대비 효율을 높이는 자동화 전략입니다.
역할 기반 접근제어(RBAC) 및 SAML 연동 구성
OpenSearch Dashboards 접근은 Okta와 SAML로 통합했으며, 사용자 역할에 따라 각기 다른 테넌트로 자동 라우팅됩니다. IAM, SAML 그룹 매핑을 통해 운영, QA, 개발, 지원 팀에 맞춘 접근 권한 제어가 가능하며, 네이티브 사용자 관리를 생략해 관리 부담도 감소시켰습니다.
로그와 트레이스의 연관 분석을 위한 Observability 기능 활용
OpenSearch Dashboards에서 Observability 플러그인을 통해 로그와 트레이스를 연관 분석하고, 각 스팬의 처리 시간, 외부 호출 지연, MongoDB 등의 서비스 지연 등 문제 지점을 추적할 수 있도록 구성됐습니다.
OpenSearch 기반 트레이스 ID 기반 로그 필터링 기능 등을 통해 개발자들은 특정 요청 전체 흐름을 시각적으로 추적하고 병목 지점이나 실패 지점을 빠르게 파악할 수 있습니다.
마이그레이션 후 향상된 기능과 확장성
이후 칼투라는 다음과 같은 고급 기능 확장을 통해 OpenSearch 기반 관측성을 한층 강화했습니다:
- Amazon S3에서 과거 로그 재수집 후 대시보드에 통합
- API Gateway, Lambda 설정을 통한 외부 벤더 로그 통합
- 템플릿 및 ISM 정책을 코드화해 Git 및 Terraform으로 버전 관리
이로써 개발자 주도의 자동화 구성 확산과 함께 팀 간 유기적인 협업 기반이 마련되었습니다.
결론
칼투라는 OpenSearch 기반 관측성 플랫폼 도입을 통해 관측성 자동화, 로그 처리 자동화, 배포 시 운영 자동화 등 다양한 혜택을 얻었습니다. 특히,
- 로그 유지기간은 중요 로그 기준 30일로 확장
- 전체 솔루션 운영 비용 60% 절감
- 10개의 별개 시스템 통합 운영으로 협업 및 확장성 향상
이러한 로그 및 트레이스 통합 전략은 단순한 비용 절감을 넘어 기존 SaaS의 한계를 뛰어넘는 통합 운영과 개발자 경험 향상까지 이끌어냈습니다. 유사한 시스템 구축을 고려 중이라면 POC부터 자동화 사용자 정의 구성까지 단계적으로 시도해 보시기 바랍니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기