Huny's Dev Blog
huny.dev

Amazon ECS GPU 공유 출시: 작은 추론 모델을 함께 띄우기 전 확인할 것

Amazon ECS의 NVIDIA MPS GPU 공유 지원을 바탕으로 메모리 한도·연산 상한·격리 제약을 구분하고, TTS와 작은 추론 서버의 도입 전 검증 순서를 정리한다.

Hun Jang
Hun Jang Oct 29, 2026

하나의 GPU를 여러 추론 작업이 함께 사용하는 모습을 표현한 생성형 개념 이미지다. 실제 AWS 화면이나 하드웨어 설계도가 아니다.

작은 추론 모델마다 GPU 한 장을 배정하면 메모리와 연산 자원이 남기 쉽다. Amazon ECS에 추가된 NVIDIA MPS 공유를 검토할 때는 컨테이너별 메모리 한도와 지연시간을 함께 확인하는 것이 출발점이다. GPU를 더 빽빽하게 채웠다는 사실만으로 운영 효율이 좋아졌다고 판단하기는 어렵다.

AWS는 October 27, 2026 ECS의 GPU 공유 지원을 발표했다. ECS Managed Instances와 ECS on EC2가 대상이며, 상용 리전과 AWS GovCloud(US) 리전에서 제공한다. 작은 모델 추론·임베딩 생성·여러 모델 서빙처럼 GPU 일부만 사용하는 작업을 위한 변화다. AWS 발표

MPS가 맡는 역할

NVIDIA MPS는 여러 CUDA 프로세스의 GPU 사용을 조율하는 런타임 서비스다. 제어 데몬, 서버 프로세스, CUDA 드라이버에 포함된 클라이언트 런타임으로 구성된다. 동시에 작업을 실행하면서 활용도를 높이고 컨텍스트 전환 부담을 줄이는 것이 목적이다. NVIDIA MPS 문서

ECS Managed Instances에서는 MPS 데몬 상태도 관리한다. 비정상 데몬을 발견하면 인스턴스를 교체하고 작업을 정상 용량으로 옮긴다고 AWS는 설명한다. 이것은 서비스의 무중단이나 개별 요청의 성공까지 보장한다는 의미로 읽으면 안 된다. 애플리케이션의 재시도·상태 복구 설계는 별도로 검증해야 한다. AWS 발표

설정에서 구분할 세 가지

컨테이너의 GPU 요구사항에 다음과 같은 조각을 넣는다. 완성된 배포 파일이 아니라 필드 설명용 예제이며 실제 AWS 등록·실행은 하지 않았다.

  • memory는 GPU 메모리 MiB 단위다. 일반 컨테이너 RAM 설정과 구별한다.
  • maxComputePercent는 연산 사용의 상한이며, 최소 성능 예약이 아니다.
  • sharingStrategy를 쓰면 전용 GPU 개수인 value를 함께 넣지 않는다.

배치는 메모리 기준이다. 같은 태스크의 GPU 컨테이너들은 하나의 물리 GPU에 놓이며, 연산 상한을 합산해서 배치하지 않는다. GPU 공유 가이드

도입 전에 확인할 제약

EC2 방식은 ECS 에이전트 1.107.0 이상과 AL2023 GPU 최적화 AMI 20261019 이상이 필요하다. Fargate와 ECS Anywhere는 대상이 아니다.

MPS는 소프트웨어 공유이므로 하드웨어 격리를 요구하는 작업에는 맞지 않는다. 같은 GPU의 치명적 오류가 이웃 작업에 영향을 줄 수 있다. 컨테이너당 GPU 프로세스 하나를 권장하며, 다중 프로세스는 설정보다 많은 메모리를 쓸 수 있어 애플리케이션 차원의 제한도 필요하다. GPU 공유 가이드

TTS·임베딩 서버에서 검증하는 순서

다음은 운영 적용을 위한 제안이며 실측 결과가 아니다.

  1. 독점 GPU 상태에서 모델 로딩 직후와 동시 요청 때의 메모리 최고값을 기록한다.
  1. 같은 입력 묶음으로 단독 실행과 두 작업 동시 실행을 비교한다. TTS라면 첫 오디오 도착 시간, 전체 합성 시간, 오류율을 함께 본다.
  1. 처리량이 늘더라도 p95 지연시간이 서비스 목표를 넘으면 공유 밀도나 연산 상한을 낮춘다.
  1. 모델 재로딩·작업 재시작 중에도 요청이 복구되는지 별도 환경에서 시험한다.

공유 여부는 DescribeContainerInstances의 gpuDevices와 DescribeTasks의 gpuIds·gpuSharingStrategy로 확인한다. 공유 GPU에서는 일부 태스크별 GPU 사용률·메모리 지표가 나오지 않으므로 기존 대시보드만 그대로 믿지 않는다. GPU 공유 가이드

아래는 기존 환경을 읽는 명령 예시다. 클러스터와 컨테이너 인스턴스 식별자는 자신의 값으로 바꾸며, 이 글에서는 호출하지 않았다.

이 API는 요청한 인스턴스의 메타데이터를 조회한다. 응답의 failures도 함께 확인해야 한다. API 설명

검증 범위와 주의점

공식 발표와 개발자 가이드로 출시일·지원 범위·설정 의미를 확인했다. 위 JSON은 로컬에서 문법만 검사했다. GPU 성능, 비용 절감률, 서비스 장애 복구는 측정하지 않았다.

확인 당시 API Reference의 ResourceRequirement 페이지에는 기존 value 중심 설명이 남아 있는 반면, 새 GPU 공유 가이드에는 sharingStrategy가 명시돼 있다. SDK·CLI가 새 필드를 받아들이는지 별도로 확인하고, 문서 예제를 그대로 운영에 등록하지 않는 편이 안전하다. ResourceRequirement API

결정 기준은 GPU 사용률 하나가 아니다. 같은 서비스 목표를 지키면서 GPU 수와 운영 부담을 줄일 수 있는지를 검증한 뒤 도입하는 것이 좋다.

추천 글