핵심요약
Config는 Amazon EKS, EC2 Spot Instances, RabbitMQ, KEDA, Karpenter를 활용하여 대규모 RFM 데이터 전처리 파이프라인을 구축했습니다. 기존 SQS + Lambda 기반의 단일 큐 순차 처리에서 Job별 동적 큐를 통한 완전 병렬 처리로 전환하여, 비용을 70~90% 절감하고 처리 시간을 수일에서 수 시간으로 단축했으며, Spot 인스턴스 중단 시에도 데이터 손실 없이 안정적인 작업 완료를 보장합니다.
Config의 Amazon EKS Spot 기반 대규모 RFM 데이터 파이프라인 구축
소개 및 데이터 파이프라인 역할
- Config는 로봇 정렬 액션(robot-aligned action) 추정을 위한 대규모 데이터 파이프라인을 운영하며, 이를 통해 로봇 데이터 수집 비용 절감 및 효율적인 학습 데이터 확보를 달성합니다.
- RFM(Robot Foundation Model) 학습을 위해 수집된 원시 데이터를 모델 학습 가능한 형태로 변환하는 전처리 과정이 필수적이며, 이는 액션 라벨링과 데이터 세그먼트 분할 및 시간 축 정렬을 포함합니다.
- 에피소드당 평균 75~150MB의 데이터 용량을 수십만 개 처리 시 수십 TB 규모에 이르므로, CPU-GPU 혼합 활용 및 대규모 병렬 처리가 가능한 컴퓨팅 인프라가 필요합니다.
기존 아키텍처(SQS + Lambda)의 한계
- 순차 대기 병목: 단일 SQS 큐 사용으로 여러 사용자의 동시 요청 시 순차 대기 발생, 대규모 배치가 소규모 작업을 지연시켰습니다.
- Lambda 제약: 동시 실행 할당량 및 최대 실행 시간(15분) 제한으로 대규모 배치 처리에 부적합했습니다.
- 높은 비용: On-Demand 가격 기반 Lambda 사용으로 배치 처리 시 비용이 높았습니다.
- 운영 가시성 부족: 개별 작업 진행 상태 및 실패 여부 실시간 파악이 어려웠습니다.
새로운 EKS 기반 아키텍처 개요
- Amazon EKS 클러스터 위에 RabbitMQ, KEDA, Karpenter를 결합한 아키텍처로 전환했습니다.
- 핵심 변화: 단일 큐에서 Job별 동적 큐 생성 패턴으로 전환하여 각 작업의 독립적인 병렬 처리, 스케일링, 모니터링을 가능하게 했습니다.
- Karpenter 기반 노드 관리: On-Demand, CPU Spot, GPU Spot 노드 풀을 세밀하게 제어하고, 다양한 인스턴스 패밀리 지정으로 Spot 용량 확보 가능성을 극대화했습니다.
RabbitMQ 클러스터 및 큐 아키텍처
- 고가용성 클러스터: EKS 내 RabbitMQ Cluster Operator를 사용하여 Quorum Queue 기반의 고가용성 클러스터를 On-Demand 노드에 배포했습니다.
- Job별 동적 큐 패턴: 각 배치 작업 전용 큐와 DLQ를 동적으로 생성/삭제하여 운영 단순화, 병렬 처리, 자동 재시도 및 정리 기능을 제공합니다.
KEDA 및 Spot 인스턴스 중단 처리
- KEDA 기반 자동 스케일링: RabbitMQ 큐 메시지 수에 따라 워커 Pod replica를 자동으로 조절하며, Karpenter와 연동하여 Spot 노드를 동적으로 프로비저닝합니다.
- Spot 인스턴스 중단 처리: Karpenter의 EC2 Spot 중단 경고 수신 및 노드 drain, 워커 Pod의 SIGTERM 핸들러를 통한 작업 NACK, Quorum Queue의 메시지 복제를 통해 데이터 손실 없이 작업 완료를 보장합니다.
데이터 처리 워크로드 및 도입 결과
- 액션 라벨링: CPU-GPU 혼합 활용 3단계 파이프라인(전처리, 추론, 후처리)을 각기 다른 큐와 KEDA ScaledObject로 독립적으로 스케일링합니다.
- 도입 결과: 1,000개 이상의 Pod 동시 운영 및 완전 병렬 처리로 병목 해소, Spot Instance 활용으로 70~90% 비용 절감, RabbitMQ Management UI를 통한 실시간 운영 가시성 확보 및 간편한 진행률 추적이 가능해졌습니다.
결론
- EKS, Spot Instances, RabbitMQ, KEDA, Karpenter를 활용하여 대규모 데이터 전처리 파이프라인을 구축, 비용 절감, 처리 시간 단축, 안정성 확보를 달성했습니다.
- 이 아키텍처는 영상 인코딩, ML 추론, ETL 등 다양한 대규모 배치 워크로드에 적용 가능합니다.