피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Karpenter 및 Spot 최적화를 통한 EKS 비용 67% 절감 전략
EKS Cost Audit for Series A-C India SaaS: The 12-Point Checklist
AI 요약
Context
AWS Cost Explorer의 추상화로 인해 EKS 내부의 Namespace 및 Pod 단위 리소스 낭비가 은폐되는 구조적 한계 존재. 특히 잘못된 Resource Request 설정과 과도한 Control Plane 분산으로 인해 전체 비용의 40-55%가 낭비되는 상황 분석.
Technical Solution
- Cluster Autoscaler를 Karpenter로 교체하여 Bin-packing 효율을 높이고 최적 인스턴스 패밀리를 동적으로 선택하는 구조 설계
- stateless 워크로드에 Spot Instance 비중을 70-90%로 확대하고 Instance Family 다양화를 통해 Spot Interruption 확률을 8%에서 3% 미만으로 낮춘 가용성 확보
- Pod Request를 P95 사용량 기반으로 재설정하고 Limit을 P99 또는 Request의 2배로 제한하여 스케줄러의 배치 효율 최적화
- 단일 ALB 기반의 Path-based Routing 및 AWS Load Balancer Controller 적용을 통한 Load Balancer Sprawl 제거
- Topology-aware Routing 및 Istio localityLbSetting 적용으로 Cross-AZ 데이터 전송 비용 40-70% 절감
- Dev 환경의 Multi-AZ 구성을 Single-AZ로 단순화하여 네트워크 비용 및 LB 비용 최소화
실천 포인트
- Karpenter NodePool에 m/c/r 계열의 다양한 인스턴스 패밀리를 포함했는지 확인 - Pod Request가 P95 실제 사용량보다 3배 이상 높게 설정되지 않았는지 검토 - Dev 클러스터의 AZ 수를 1개로 제한하여 불필요한 Cross-AZ 비용 제거 - StatefulSet 삭제 시 EBS Volume이 Orphaned 상태로 남지 않도록 Reclaim Policy 확인 - IO-bound 워크로드의 HPA 지표를 CPU가 아닌 Custom Metric(Queue Depth 등)으로 변경