안녕하세요, Cloud&AI 매니지드 서비스 전문 기업 베스핀글로벌입니다.
AWS re:Invent 2024의 [Run workloads efficiently on EKS with Karpenter and EC2 Spot Instances]을 확인해보시기 바랍니다.

☑️ Keynote

세션명 Run workloads efficiently on EKS with Karpenter and EC2 Spot Instances
세션코드 CMP213
발표일자 2024.12.02
강연자 Miles Bryant, Mike Dukes
키워드 1. Amazon EC2 Spot, and Graviton
2. Amazon EKS + Karpneter
3. Amazon EKS Optimization
핵심 내용

1. EC2 Spot은 최대 90% 비용 절감이 가능하지만 중단이 가능하므로 워크로드의 속성 파악이 필요합니다.
2. Graviton은 ARM64 베이스로 가격 대비 뛰어난 성능을 제공합니다.
3. Karpenter는 EC2 Spot, Graviton과 결합하여 시너지를 낼 수 있으며, 어플리케이션을 우선하여 유동적 인프라 프로비저닝이 가능합니다.

Run workloads efficiently on EKS with Karpenter and EC2 Spot Instances

EC2 Spot, Graviton, Karpenter를 활용하여 EKS 클러스터를 최적화하고, 비용 절감과 성능 향상을 동시에 달성하는 방법을 소개합니다.


1. Amazon EC2 Spot, and Graviton

1-1. EC2 Spot

  • Spare capacity로 기존 최대 90% 절약이 가능합니다. (컨테이너 환경에서 평균 65~68% 정도 절약)
  • EC2 Spot은 중단이 가능한 인스턴스이기에 Statless, Fault-tolerant, Flexible한 워크로드에 적합합니다.
  • 최적의 성능을 위해서는 인스턴스 풀을 다양하게 구성하는 것이 좋습니다. 

​​1-2. Graviton

  • 4세대로 구성되어 있으며, 동일 비용 대비 최고 성능을 제공합니다. (최대 40% 성능 향상)
  • ARM64 베이스로 다양한 생태계 서포트를 받을 수 있습니다. (컨테이너, ISV, OS 등)
  • 유사한 인스턴스 대비 최대 60%까지 에너지 소비를 줄여 비용 절감뿐만 아니라 환경 보호에도 기여합니다. 따라서 비용, 성능, 지속 가능성을 모두 고려해야 하는 워크로드에 매우 적합합니다.
 

2. Amazon EKS + Karpneter

2-1. Scaling in Kubernetes
  • 어플리케이션 스케일링과 데이터 플레인 스케일링 두 가지 관점이 존재합니다.                  
  • 어플리케이션 스케일링 : HPA (수평 확장), VPA (수직 확장), KEDA (이벤트 기반 확장)   
  • 데이터 플레인 스케일링 : CAS (Cluster AutoScaler), Karpenter

2-2. Karpenter

  • CAS는 다양한 유형의 워크로드를 지원하기 위해 여러 개의 노드 그룹을 생성해야 합니다.
    (이는 관리 오버헤드를 증가시키고, 불필요한 노드 그룹 생성으로 인한 비용 증가를 야기할 수 있습니다. )
  • 반면, Karpenter는 모든 유형의 워크로드에 대해 단일한 데이터 플레인 크기 조정을 제공합니다.
  • Karpenter는 애플리케이션의 실제 요구 사항에 따라 유동적으로 인프라를 프로비저닝하여, 필요한 만큼의 노드만 생성하고 관리합니다. 이를 통해 애플리케이션 우선의 인프라를 구축하고, 파드의 요구에 따라 노드를 즉시 프로비저닝할 수 있습니다.
  • Karpenter는 즉시 중단 처리가 가능하므로 알맞은 Spot 및 On-demand 인스턴스 유형에 맞춰 다양한 활용이 가능합니다.
  • Group-less 오토스케일링을 통한 인프라 관리 및 프로비저닝이 용이합니다.
  • EC2 Spot 및 Graviton과 결합하여 지속적인 알맞은 크기의 인프라로 최적화가 가능합니다.


3. Amazon EKS Optimization 

3-1. 고객 사례를 통한 EKS 최적화
  • 고객의 인프라 구성과 워크로드를 면밀히 분석하여 EKS 클러스터를 최적화했습니다. (EKS CAS를 구성하여 클러스터의 자동 확장 및 축소 기능을 구현하고, Fault-tolerant 및 Stateless 환경을 구축하여 시스템의 안정성을 높였습니다.)
  • Karpenter를 도입하여 파드의 요구 사항에 맞춰 클러스터의 크기를 유동적으로 조절함으로써 자원 활용도를 극대화했습니다.
  • Fault-tolerant, Stateless 환경으로 EC2 Spot을 도입하여 비용을 절감했습니다.
  • 동일한 가격으로 더욱 뛰어난 성능을 제공하는 Graviton 프로세서 기반 인스턴스를 활용하여 성능을 향상시켰습니다.

​​​​​​


4. 마무리 (해당 기술 도입을 위한 조언)

  • 각자의 워크로드에 맞는 비용 측정, 목표 설정이 필요합니다.
  • 제약 조건에 맞는 절충안을 찾아야 합니다.
  • 한 번에 진행하지 말고 점진적으로 마이그레이션을 진행하여 리스크를 감소하여야 합니다.