Amazon SageMaker HyperPod의 오토스케일링 알아보기
Amazon SageMaker HyperPod의 관리형 노드 오토스케일링
1. 소개 및 필요성
- SageMaker HyperPod가 2025년 8월부터 Karpenter 기반의 관리형 노드 오토스케일링 지원 시작.
- 대규모 모델 학습 및 추론 워크로드에서 예측 불가능한 트래픽 패턴 대응 및 SLA 유지 위해 GPU 노드 오토스케일링 필수.
- 기존 Self-managed Karpenter 대비 운영 부담 감소 및 SageMaker HyperPod 복원력 기능과의 긴밀한 통합.
2. 관리형 오토스케일링의 주요 기능 및 장점
- 완전 관리형 수명 주기: Karpenter 설치, 업데이트, 유지 관리 자동화.
- 적시(Just-in-time) 프로비저닝: 대기 중인 파드 감지 후 필요 컴퓨팅 자원 즉시 프로비저닝.
- 제로 스케일링: 노드 개수를 0까지 축소하여 비용 효율성 증대.
- 지능형 노드 선택: 파드 요구사항, 가용 영역, 가격 기반 최적 인스턴스 유형 선택.
- 자동 노드 통합(Consolidation): 사용률 낮은 노드 방지 및 클러스터 최적화.
- 통합 복원력: SageMaker HyperPod 내장 내결함성 및 노드 복원 메커니즘 활용.
- Continuous Provisioning: 백그라운드에서 자동 프로비저닝 및 재시도 기능으로 논블로킹 방식 구현.
3. 솔루션 아키텍처 및 작동 방식
- Karpenter 컨트롤러가 Kubernetes API 서버를 감시하며 스케줄링 불가 파드 감지.
- 파드 요구사항(GPU, CPU, 메모리) 및 토폴로지 제약 조건 기반 NodeClaim 계산 및 NodePool 매칭.
- SageMaker HyperPod API 쿼리하여 지원 인스턴스 유형 조회 및 새 노드 프로비저닝 시도 (
sagemaker:UpdateCluster API 사용).
- 불필요한 노드는 삭제 요청 처리.
4. 구성 및 설정 방법
- 사전 요구 사항: 충분한 인스턴스 할당량(quota) 확보 및 IAM 역할 생성.
- SageMaker HyperPod 클러스터 생성/구성: AI 콘솔에서 EKS 클러스터 생성 시 Karpenter 및 continuous provisioning 활성화.
- HyperpodNodeClass 생성: 파드 확장에 사용할 SageMaker HyperPod InstanceGroup 매핑 및 제약 조건 정의.
- NodePool 생성: 노드 실행 가능 파드 제한(label, taint), 가용 영역/인스턴스 유형/아키텍처 제약 조건 설정.
5. 고급 활용: KEDA와 통합
- KEDA(Kubernetes Event-driven Autoscaling)와 통합하여 이벤트 기반 파드 오토스케일링 구현.
- CloudWatch 메트릭, SQS 대기열 길이 등 다양한 메트릭 기반 파드 수 동적 조정.
- KEDA가 파드 조정 시 Karpenter가 노드 프로비저닝/삭제를 자동 처리하는 2계층 오토스케일링 아키텍처 구성.
- 효과적인 통합을 위한 버퍼 임계값, 쿨다운 기간, 리소스 요청/제한 설정 중요.