ECK 기반 전사 Observability 플랫폼 구축
Projects | | Links:

EKS 클러스터에 ECK(Elastic Cloud on Kubernetes)를 오픈소스로 직접 구축하고, 서로 다른 네트워크(VPC)에 분산된 전사 140대+ 서버를 연결하여 메트릭과 로그를 한곳으로 수집하는 플랫폼입니다.
프로젝트 기여도 100% (아키텍처 설계·네트워크 연결·Agent 배포·대시보드 구축)
1. Overview
EKS 클러스터에 ECK(Elastic Cloud on Kubernetes)를 오픈소스로 직접 구축하고, 7개 VPC에 분산된 전사 140대+ 서버(EC2, EKS 포함)를 네트워크 레벨에서 연결하여 메트릭과 로그를 중앙 수집하는 Observability 플랫폼을 구축했습니다.
전사 네트워크 구조(VPC Peering, Security Group, 방화벽 정책 등)를 직접 파악하고 통신 경로를 확보한 뒤, Fleet Server를 통해 전 서버에 Agent를 중앙 배포·관리하고 있습니다.
2. Background — 왜 만들었는가
기존에는 외부 SaaS 모니터링으로 일부 서버(약 30대)만 커버하고 있었고, 나머지 130대+ 서버에는 모니터링 도구 자체가 없는 상태였습니다.
장애가 발생해도 서버마다 SSH로 접속해서 수동으로 확인해야 했고, 리소스 트렌드 파악이나 사전 대응이 불가능했습니다.
이를 해결하기 위해 ECK를 직접 구축하여 전사 서버를 한곳에서 관측할 수 있는 플랫폼을 만들게 되었습니다.
3. Problem Statement
| 문제 | 영향 |
|---|---|
| 130대+ 서버에 모니터링 도구 없음 | 장애 시 서버별 SSH 접속으로 수동 확인 |
| 기존 SaaS 모니터링은 일부 서버만 커버 | 나머지 서버는 사각지대 |
| 리소스 트렌드 파악 불가 | Disk Full 등 사전 대응 불가능 |
| 서버가 7개 VPC에 분산 | 네트워크 연결 없이는 중앙 수집 불가 |
| EKS 컨테이너 로그 수집 없음 | MSA 서비스 디버깅 어려움 |
4. Architecture
3-Tier 저장 전략
| Tier | 용도 | 스토리지 |
|---|---|---|
| Hot (SSD) | 실시간 대시보드, 최근 데이터 | EBS gp3 |
| Cold (HDD) | 과거 데이터 조회, replica 0 | EBS st1 |
| S3 (Snapshot) | 매일 스냅샷, 장기 보관 | S3 |
핵심 구성
- ECK on EKS: Elasticsearch 8.17.0 클러스터 (오픈소스 직접 구축)
- Kibana: 메트릭·로그 시각화 및 대시보드
- Fleet Server: 140대+ Agent 중앙 관리 (정책 배포, 버전 관리)
- ILM: 자동 데이터 이동 (Hot → Cold → Delete)
- SLM: 매일 S3 스냅샷 (장기 보관)
- DaemonSet: EKS 컨테이너 로그 자동 수집
네트워크 연결
7개 VPC에 분산된 서버들을 Elasticsearch 클러스터에 연결하기 위해, VPC 간 통신 경로 확보(Peering, Security Group, 방화벽 정책)를 직접 설계·적용했습니다.
5. EC2 Monitoring System과의 차이점
| 비교 | EC2 Monitoring System | ECK 플랫폼 |
|---|---|---|
| 목적 | 장애 즉시 알람 (5분 이내 인지) | 메트릭·로그 수집 및 시각화 |
| 강점 | 전화 자동 발신, 온콜 체계 | 리소스 트렌드, 로그 검색, 대시보드 |
| 알람 | Slack + 전화 (즉시) | ElastAlert2 등 오픈소스 연동 가능 |
| 데이터 | 상태(UP/DOWN)만 판별 | CPU/MEM/Disk 메트릭 + 로그 원본 |
→ EC2 Monitoring은 “즉시 인지·대응”, ECK는 “메트릭·로그 기반 분석·가시성”으로 역할이 구분됩니다.
6. 현재 구축 현황
| 항목 | 상태 |
|---|---|
| Fleet 등록 Agent | ~140대 (EC2 + EKS) |
| 수집 메트릭 | CPU, Memory, Disk (/, /data) |
| 대시보드 | 전 서버 리소스 대시보드 구축 완료 (Kibana) |
| EKS 로그 | DaemonSet으로 컨테이너 로그 수집 |
| 스냅샷 | 매일 S3 자동 백업 |
| 고도화 | 진행 중 (로그 파이프라인 확장, 알람 연동 등) |
7. Key Results
| 지표 | Before | After |
|---|---|---|
| 모니터링 커버리지 | 일부 서버만 (SaaS) | 140대+ 전체 (ECK 직접 구축) |
| 리소스 확인 | 서버별 SSH 접속 | Kibana 통합 대시보드 |
| Agent 관리 | 없음 | Fleet 중앙 관리 |
| 네트워크 | VPC별 단절 | 7개 VPC 통합 수집 |
| 데이터 보관 | 없음 | S3 매일 스냅샷 |
| EKS 로그 | 수집 없음 | DaemonSet 자동 수집 |
8. Used Skills
- ECK (Elastic Cloud on Kubernetes) — 오픈소스 직접 구축
- Elasticsearch 8.17.0
- Kibana (대시보드·시각화)
- Elastic Agent + Fleet Server
- EBS gp3 (Hot) / st1 (Cold) / S3 (Snapshot)
- ILM, SLM
- Kubernetes DaemonSet
- VPC Peering, Security Group, 방화벽 정책