핵심 요약
롯데ON이 Airflow 3로 업그레이드 후 새벽 배치 장애의 원인을 JWT 만료가 아닌 OOM으로 규명하고, 인프라 이관과 메모리 튜닝으로 안정화를 달성했습니다.
구현 방법
- Amazon Linux 2023 기반 신규 EC2로 Graviton(ARM64) 및 Docker Compose 구성 수행
- DAG 파싱 부하 감소를 위한 설정: DAG_PROCESSOR_MIN_FILE_PROCESS_INTERVAL=3600, MIN_SERIALIZED_DAG_UPDATE_INTERVAL=3600
- API 서버를 gunicorn + uvicorn으로 구성하고 API 워커 2개, DAG 캐시 200, 캐시 TTL 7200 적용
- 워커 컨테이너 재시작 스케줄 도입 및 stop_grace_period 3600s 설정
- Datadog으로 컨테이너 RSS/메모리 모니터링 활성화 및 초기 메모리 여유 확보 확인
주요 결과
- 초기 원인은 16GB 메모리 부족으로, 이후 OOM으로 드러남
- 적용 후 호스트 여유가 10GB대까지 증가
- Site A는 워커 재시작 정책으로 누적 메모리 증가를 차단, Site B는 apiserver/dag-processor 튜닝으로 메모리 사용량을 감소
- DAG 버전 증가로 인한 이슈를 줄이기 위한 템플릿 변수 처리 차이 반영으로 안정화 진행
