서론: 왜 Inference Operator 설치가 이렇게 쉬워졌을까?

과거 SageMaker HyperPod에서 추론(Inference) 워크로드를 배포하려면 AI 팀이 Helm 차트, IAM 역할 설정, 의존성 관리, 수동 업그레이드 등 복잡한 과정을 거쳐야 했습니다. 보통 첫 모델이 예측을 제공하기까지 몇 시간이 걸리곤 했죠. 😅

이제 Amazon SageMaker HyperPod Inference OperatorEKS Add-on으로 제공되면서 상황이 완전히 달라졌습니다. SageMaker 콘솔에서 원클릭 설치관리형 업그레이드가 가능해져서, Helm 차트나 복잡한 IAM 설정 없이도 곧바로 모델을 배포할 수 있습니다.

이 글에서는 새로운 설치 경험을 3가지 방법(콘솔, CLI, Terraform) 으로 살펴보고, 멀티 인스턴스 타입 배포Node Affinity 같은 고급 기능을 실무에 어떻게 활용할 수 있는지도 함께 알아보겠습니다.

이 글은 AWS Architecture Blog의 내용을 기반으로 한국 개발자 생태계에 맞게 재구성했습니다.

SageMaker HyperPod cluster dashboard showing Inference Operator installation status Algorithm Concept Visual

본론 1: 3가지 설치 방법과 실제 코드 예제

방법 1: SageMaker UI를 통한 설치 (추천)

SageMaker 콘솔은 가장 간편한 방법을 제공합니다. Quick InstallCustom Install 두 가지 옵션이 있습니다.

설치 순서:

  1. SageMaker Console → HyperPod Clusters → Cluster Management로 이동
  2. 원하는 클러스터 선택 → Inference 탭으로 이동
  3. Quick Install (자동 설정) 또는 Custom Install (기존 리소스 재사용) 선택
  4. Install 버튼 클릭
  5. 설치 확인: kubectl get pods -n hyperpod-inference-system

방법 2: EKS CLI를 통한 설치

CLI를 선호하는 팀은 아래 명령어로 직접 설치할 수 있습니다. 단, 사전 준비 리소스(IAM 역할, S3 버킷, VPC 엔드포인트)는 수동으로 생성해야 합니다.

# EKS Add-on 생성 (사전 준비 리소스는 별도로 생성 필요)
aws eks create-addon \
  --cluster-name my-hyperpod-cluster \
  --addon-name amazon-sagemaker-hyperpod-inference \
  --addon-version v1.0.0-eksbuild.1 \
  --configuration-values '{
    "executionRoleArn": "arn:aws:iam::ACCOUNT-ID:role/SageMakerHyperPodInference-inference-role",
    "tlsCertificateS3Bucket": "hyperpod-tls-certificate-bucket",
    "hyperpodClusterArn": "arn:aws:sagemaker:REGION:ACCOUNT-ID:cluster/CLUSTER-ID",
    "alb": {
      "serviceAccount": {
        "create": true,
        "roleArn": "arn:aws:iam::ACCOUNT-ID:role/alb-controller-role"
      }
    },
    "keda": {
      "auth": {
        "aws": {
          "irsa": {
            "roleArn": "arn:aws:iam::ACCOUNT-ID:role/keda-operator-role"
          }
        }
      }
    }
  }' \
  --region us-west-2

방법 3: Terraform을 통한 설치

IaC(Infrastructure as Code)를 사용하는 조직은 awesome-distributed-training GitHub 레포지토리의 Terraform 모듈을 활용할 수 있습니다.

# custom.tfvars 예제
kubernetes_version = "1.33"
eks_cluster_name = "tf-eks-cluster"
hyperpod_cluster_name = "tf-hp-cluster"
resource_name_prefix = "tf-eks-test"
aws_region = "us-east-1"
instance_groups = [
  {
    name = "accelerated-instance-group-1"
    instance_type = "ml.g5.8xlarge"
    instance_count = 2
    availability_zone_id = "use1-az2"
    ebs_volume_size_in_gb = 100
    threads_per_core = 1
    enable_stress_check = false
    enable_connectivity_check = false
    lifecycle_script = "on_create.sh"
  }
]

# HyperPod Inference Operator 활성화
create_hyperpod_inference_operator_module = true

첫 모델 배포하기

Add-on이 설치되면 아래와 같이 JumpStartModel CRD를 사용해 모델을 배포할 수 있습니다. (예: DeepSeek 모델)

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: JumpStartModel
metadata:
  name: deepseek-test-endpoint
spec:
  model:
    modelId: "deepseek-llm-r1-distill-qwen-1-5b"
  sageMakerEndpoint:
    name: deepseek-test-endpoint
  server:
    instanceType: "ml.g5.8xlarge"
# 배포 실행
kubectl apply -f jumpstart-model.yaml

# 배포 상태 확인
kubectl get jumpstartmodel

Kubernetes node affinity scheduling inference pods on GPU instances in HyperPod Development Concept Image

본론 2: 고급 기능 – 멀티 인스턴스 타입 배포 & Node Affinity

멀티 인스턴스 타입 배포 (Multi-Instance Type Deployment)

리소스 가용성을 높이기 위해 우선순위 목록을 지정할 수 있습니다. 시스템은 가장 우선순위가 높은 인스턴스 타입부터 시도하고, 용량이 부족하면 자동으로 다음 타입으로 폴백(Fallback)합니다.

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: lmcache-test-1
  namespace: default
spec:
  replicas: 13
  modelName: Llama-3.1-8B-Instruct
  # 우선순위 순서: p4d -> g5.24xlarge -> g5.8xlarge
  instanceTypes: ["ml.p4d.24xlarge", "ml.g5.24xlarge", "ml.g5.8xlarge"]

이 기능은 Kubernetes Node Affinity의 requiredDuringSchedulingIgnoredDuringExecutionpreferredDuringSchedulingIgnoredDuringExecution을 활용해 구현됩니다.

Node Affinity로 세밀한 스케줄링 제어

Spot 인스턴스를 배제하거나, 특정 가용 영역(AZ)을 선호하거나, 커스텀 레이블이 있는 노드에만 배포하고 싶다면 nodeAffinity를 직접 지정할 수 있습니다.

apiVersion: inference.sagemaker.aws.amazon.com/v1
kind: InferenceEndpointConfig
metadata:
  name: lmcache-test-1
  namespace: default
spec:
  replicas: 15
  modelName: Llama-3.1-8B-Instruct
  nodeAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        preference:
          matchExpressions:
            - key: node.kubernetes.io/instanceType
              operator: In
              values: ["ml.g5.4xlarge"]
  worker:
    resources:
      limits:
        nvidia.com/gpu: "1"
      requests:
        cpu: "6"
        memory: 30Gi
        nvidia.com/gpu: "1"

국내 SI/클라우드 환경에서의 적용 맥락

한국 기업들은 보통 프라이빗 EKS 클러스터에 HyperPod를 구축하는 경우가 많습니다. 이때 VPC 엔드포인트 설정이 특히 중요합니다. AWS Console의 Quick Install을 사용하면 자동으로 VPC 엔드포인트가 구성되지만, CLI나 Terraform으로 설치할 때는 S3 VPC Endpoint, EKS API Endpoint 등을 사전에 생성해야 합니다.

또한 국내 금융권/공공기관에서는 KMS 암호화CloudTrail 로깅이 필수인데, Inference Operator는 기본적으로 S3 TLS 인증서 저장소에 대해 SSE-S3 암호화를 사용하므로, KMS 키를 별도로 지정하려면 Custom Install에서 설정해야 합니다.

Developer deploying a Llama model on SageMaker HyperPod using kubectl Software Concept Art

결론: 실무 적용 조언 및 다음 단계

SageMaker HyperPod Inference Operator의 EKS Add-on 통합은 인프라 복잡성을 획기적으로 줄여주고, ML 팀이 모델 최적화와 서빙에 집중할 수 있게 해줍니다.

주요 이점 요약

이점설명
빠른 시간-가치클러스터 생성 후 몇 분 안에 첫 추론 엔드포인트 배포 가능
복잡성 감소IAM 역할, S3 버킷, VPC 엔드포인트 등 모든 리소스를 한 번에 자동 생성
일관된 설정AWS 모범 사례를 따른 보안 구성 자동 적용
간편한 업그레이드EKS Add-on 메커니즘으로 원클릭 업그레이드 및 롤백 지원

주의사항

  • 기존 Helm 설치 사용자: AWS에서 제공하는 helm_to_addon.sh 마이그레이션 스크립트를 사용하면 무중단 마이그레이션이 가능합니다. 단, 롤백을 대비해 백업 파일이 /tmp/hyperpod-migration-backup-/에 저장되니 꼭 확인하세요.
  • 비용: 멀티 인스턴스 타입 배포를 사용할 경우, 폴백 인스턴스가 더 비쌀 수 있으므로 비용 모니터링을 함께 설정하는 것이 좋습니다.
  • Tiered KV Cache: 설치 시 활성화하면 장문 컨텍스트 추론에서 최대 40%의 레이턴시 감소 효과를 볼 수 있지만, 메모리 사용량이 증가할 수 있으니 워크로드 특성에 맞게 선택하세요.

다음 단계 학습 방향

  1. 터미널 코딩의 판을 바꾸다 Gemini 3 Flash, 이제 CLI에서 사용 가능 – 최신 AI 모델을 CLI로 빠르게 테스트하는 방법
  2. 단일 장애점에서 탈출하기: 아마존 키 팀이 밝히는 이벤트 기반 아키텍처(EDA) 실전 노하우 – EDA와 결합한 확장 가능한 ML 시스템 설계
  3. 공식 문서: SageMaker HyperPod Inference Operator 설치 가이드트러블슈팅 가이드

지금 바로 SageMaker 콘솔에서 새 HyperPod 클러스터를 만들 때 Inference Operator를 활성화하거나, 기존 클러스터에 원클릭으로 추가해보세요. 🚀

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.