어제 네 가지 추론 옵션 중 가장 운영 부담이 큰 것이 Real-time Endpoint라고 했다. 상시 가동되는 인스턴스 위에서 안정적 저지연을 제공하려면, 엔드포인트를 어떻게 구성하고, 트래픽 변동에 어떻게 자동 대응하며, 모델이 수십~수천 개로 늘어날 때 비용을 어떻게 통제할지를 알아야 한다. 오늘은 SageMaker 실시간 엔드포인트의 운영 3대 축 — 엔드포인트 구성, 오토스케일링, 멀티모델/멀티컨테이너 — 를 다룬다.
SageMaker 실시간 추론은 세 가지 리소스로 분리되어 있고, 이 분리가 무중단 업데이트와 트래픽 분할의 토대가 된다.
Model : 학습 산출물(S3 모델 아티팩트) + 추론 컨테이너 이미지
EndpointConfig : 어떤 Model들을 어떤 인스턴스/비율로 올릴지 정의(ProductionVariant)
Endpoint : 실제 HTTPS URL. EndpointConfig를 가리킨다.핵심은 Endpoint와 EndpointConfig가 분리되어 있다는 점이다. 새 EndpointConfig를 만든 뒤 UpdateEndpoint로 바꿔 끼우면, SageMaker가 새 플릿을 띄우고 트래픽을 옮긴 다음 기존 플릿을 내리는 무중단 교체를 수행한다.
from sagemaker.model import Model