피드로 돌아가기
The Hidden Costs of Idle EMR Clusters (And How to Stop the Bleed)
Dev.toDev.to
Infrastructure

Idle EMR WAITING 상태 클러스터가 월 $5,256의 비용을 발생시킴

The Hidden Costs of Idle EMR Clusters (And How to Stop the Bleed)

Rick Wise2026년 4월 2일4intermediate

Context

EMR 비용 구조는 EC2 인스턴스 비용과 EMR surcharge 두 가지로 구성됨. EMR surcharge는 EC2 가격의 20-25% 수준이며 청구서에서 별도 항목으로 표시되지 않아 자주 간과됨. EBS 스토리지 비용은 클러스터가 아이들 상태에서도 계속 부과됨.

Technical Solution

  • EMR 비용 구조: EC2 인스턴스 비용과 EMR surcharge(추가 인스턴스별 시간당 요금)로 구분됨
  • EBS Trap 방지를 위한 구성 검토 필요함. gp3 기본 볼륨 유형의 월 비용은 GB당 $0.08임
  • WAITING 상태 감지를 위한 AWS CLI 쿼리 실행 필요함. 24시간 이상 대기 상태인 클러스터 식별함
  • list-steps 명령으로 마지막 스텝 실행 시점 확인함. 마지막 스텝 완료 후 수주가 지난 경우 리소스 낭비 상태임
  • describe-cluster 명령으로 AutoTerminationPolicy 설정 여부 검증함
  • 배치 워크로드에는 Transient Cluster(일시적 클러스터) 사용 필요함. 스텝 실행 모드에서 마지막 스텝 완료 시 자동 종료됨
  • 인터랙티브 워크로드에는 1-2시간 유휴 시간의 짧은 자동 종료 정책 적용함
  • 비용 속성 추적을 위해 aws:elasticmapreduce:editor-id 및 사용자 정의 태그 설정함

Impact

10노드 r5.2xlarge 클러스터가 WAITING 상태에서 월 $5,256 비용 발생함. EC2 비용($0.504/hr × 10 × 730)과 EMR surcharge($0.126/hr × 10 × 730) 및 EBS 비용 포함됨. 데이터 처리량은 0바이트임.

Key Takeaway

EMR 비용 최적화는 EC2 인스턴스 유형 선정만으로는 부족함. surcharge와 EBS charges를 포함한 전체 비용 구조를 파악해야 함. 배치 워크로드 환경에서 일시적 클러스터 패턴은 필수임.


배치 워크로드 환경에서 EMR 스텝 실행 모드를 활용하면 자동으로 종료되는 일시적 클러스터 구현 가능함. 인터랙티브 워크로드에는 1-2시간 유휴 시간의 자동 종료 정책 설정 필요함. 비용 최적화의 전제 조건으로 모든 클러스터에 팀 및 프로젝트 태그를 필수로 부여해야 함.

원문 읽기