vLLM on EKS

DevOps를 위한 LLM 서빙 도입 가이드

Amazon EKS + vLLM + RayServe를 활용한 프로덕션 레벨 LLM 추론 인프라 구축 | 1시간 세션

오늘 세션 구성

총 60min 세션

1
vLLM 기초 & 핵심 기술 15분
2
EKS 아키텍처 & 인프라 구성 15분
3
Ray-vLLM 배포 딥다이브 15분
4
운영 베스트 프랙티스 & 비용 최적화 15분

GPU 자원 관리
  • • A10G(24GB) 1장에 7B 모델 1개
  • • 70B 모델은 8×A100 필요
  • • 수백만 원/월 인스턴스 비용
⏱️
레이턴시 요구사항
  • • TTFT < 500ms 목표
  • • ITL < 100ms 스트리밍
  • • 사용자 이탈률과 직결
📈
동적 스케일링
  • • 트래픽 변동 10× 이상
  • • GPU 노드 시작 5~10분
  • • Cold Start 문제
💸
비용 폭발
  • • GPU On-Demand $3~30/hr
  • • 유휴 GPU = 비용 낭비
  • • Spot 중단 리스크

핵심 기능
PagedAttention v2 — KV Cache 파편화 제거, 메모리 효율 극대화
Continuous Batching — v0.6+ 기준 처리량 2.7배 향상
V1 Engine (2025) — Disaggregated Serving 지원
OpenAI 호환 API — base_url 변경만으로 전환
프로덕션 채택
Amazon Rufus: 80,000 chip 규모 | Stripe: GPU 73% 절감
GitHub Stars 75K+ | 기여자 2,000+
프레임워크 성능 비교 (8×H100, Llama-3.1 70B)
프레임워크 tok/s 강점
vLLM ⭐ 권장 ~12,500 범용, 최대 HW 지원
SGLang ~16,200 RAG, Agent 최적화
TGI ~11,000 HuggingFace 통합
TensorRT-LLM ~18,000 NVIDIA 전용 최고 성능
※ 처리량 단독이 아닌 안정성·생태계·운영 편의성 종합 시 vLLM이 1위

기존 방식 — 정적 메모리 할당
✗ 최대 시퀀스(4096 token)로 VRAM 사전 예약
✗ 실제 512 token 사용 → VRAM 87.5% 낭비
✗ 요청 간 메모리 파편화 → 동시 처리 급감
✗ 실측 메모리 낭비율: 60~80%
메모리 예약 vs 실제 사용
실사용 12.5% 낭비 87.5%
PagedAttention — 동적 페이지 관리
✓ KV Cache를 16-token 블록 단위로 분할
✓ 논리 블록 ↔ 물리 블록 동적 매핑
✓ 필요한 만큼만 할당, 완료 즉시 반환
✓ 메모리 낭비율 <4% → 동시 처리 2~4배↑
V2 추가 기능 (2024+)
KV Cache 멀티 파티션 → Multi-Thread Block 병렬 처리
긴 컨텍스트(128k+) 처리 최적화 | FP8 네이티브

V1 Engine 개편 포인트
Multi-Process 분리
API Server ↔ Inference Engine 별도 프로세스 → Python GIL 병목 제거
Chunked Prefill
긴 입력을 청크로 분할 스케줄링 → Decode stall 방지
Async Output Processing
GPU 연산과 출력 처리 비동기 중첩 → E2E 처리량 ~24%↑
Multi-Step Scheduling
여러 스텝 미리 스케줄링 → CPU-GPU 동기화 오버헤드 제거
Disaggregated Serving (P/D 분리)
Prefill(연산 집약)과 Decode(메모리 대역폭 집약)를 물리적으로 분리하여 각 단계 최적화
Prefill Nodes
연산 집약적
High TFLOPS
H100 / A100
KV→
Decode Nodes
메모리 대역폭
High VRAM
A10G / L40S
• P/D 독립 스케일링 → 비용 최적화
• EKS: Karpenter로 두 NodePool 분리 관리
• 2025년 초기 프로덕션 채택 단계

Karpenter GPU 동적 프로비저닝
NodePool 설정만으로 GPU 인스턴스 자동 확장/축소 | Spot 활용으로 비용 60~70% 절감 | g5, g6, p4d, p5 자동 선택
관리형 컨트롤 플레인
EKS가 Master 노드 운영 부담 제거 | EKS Auto Mode로 노드 관리까지 위임 | 99.95% SLA 보장
풍부한 GPU 생태계
Prometheus + Grafana 모니터링 | KubeRay 분산 추론 오케스트레이션 | NVIDIA Device Plugin + DCGM Exporter
운영 표준화
기존 K8s CI/CD 파이프라인 재활용 | Helm Chart 배포 표준화 | ArgoCD GitOps 통합

github.com/awslabs/ai-on-eks — AWS Solution Architects가 관리하는 프로덕션 레퍼런스 (Apache 2.0)
Layer 1
infra/base/terraform/
재사용 가능 Terraform 모듈 | VPC, EKS, Karpenter, 40+ 애드온 자동 설치
Layer 2
infra/<architecture>/
레퍼런스 아키텍처 | JARK Stack, Triton, Neuron, Dynamo
Layer 3
blueprints/
엔드투엔드 예제 | 18+ 추론 블루프린트, Helm Chart, K8s 매니페스트
Workshop
genai.eksworkshop.com
Helm Charts
awslabs/ai-on-eks-charts
Docs
awslabs.github.io/ai-on-eks

🧠
PagedAttention
OS 페이지 테이블 방식
KV Cache 낭비 <4%
Continuous Batching
Iteration-level Scheduling
처리량 2.7배, TPOT 5배
🏗️
EKS + Karpenter
GPU 동적 프로비저닝
Spot 활용 비용 60~70%↓
블록 내비게이션
← 목차로 돌아가기 다음: EKS 아키텍처 & 인프라 →