 |
안녕하세요, 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. 마무리 (해당 기술 도입을 위한 조언)
- 각자의 워크로드에 맞는 비용 측정, 목표 설정이 필요합니다.
- 제약 조건에 맞는 절충안을 찾아야 합니다.
- 한 번에 진행하지 말고 점진적으로 마이그레이션을 진행하여 리스크를 감소하여야 합니다.
|