비용 8배 절감과 고가용성 사이의 딜레마
Salesforce는 추론 컴포넌트(Inference Components, IC)를 활용해 여러 모델을 공유 GPU 인스턴스에 통합 배포함으로써 인프라 비용을 기존 대비 8배 절감하는 성과를 거두었다. 이 방식은 고가의 GPU 자원을 효율적으로 점유하여 유휴 자원을 최소화하는 데 최적화되어 있다. 하지만 비용 효율성을 극대화하는 과정에서 고가용성(High Availability, HA)을 유지해야 하는 새로운 기술적 과제에 직면했다.
기존의 기본 배치 알고리즘은 모델 복제본(Replica)을 여러 가용 영역(Availability Zone, AZ)에 걸쳐 균등하게 분산하는 기능을 지원하지 않았다. 멀티 AZ 환경에서 특정 모델의 복제본이 한쪽 AZ에만 집중될 경우, 해당 영역에 장애가 발생하면 서비스 전체가 중단되는 단일 장애 지점(Single Point of Failure) 위험이 존재한다. Salesforce의 Agentforce 모델과 같이 가용성 요건이 엄격한 프로덕션 환경에서는 이러한 불균형이 비즈니스 연속성을 저해하는 요소가 된다.
이 문제를 해결하기 위해 Salesforce는 온디맨드 용량 예약(On-Demand Capacity Reservations, ODCR)을 도입하여 각 대상 AZ별로 GPU 용량을 사전에 확보했다. ODCR은 고수요 지역에서 발생할 수 있는 용량 부족 문제를 사전에 방지하여, 모델 복제본이 원하는 AZ에 안정적으로 배치될 수 있도록 돕는 기반이 된다. 이러한 사전 준비 없이는 인프라의 물리적 제약으로 인해 의도한 만큼의 분산 배치가 불가능할 수 있다.
결국 인프라 비용을 8배 줄이는 동시에 서비스 가용성을 보장하기 위해서는 모델 배치 전략을 수동으로 제어할 수 있는 수단이 필수적이다. SageMaker(AWS의 완전 관리형 머신러닝 플랫폼)의 추론 컴포넌트 배치는 이제 단순한 비용 절감을 넘어, 기업이 요구하는 엄격한 가용성 요건을 준수하면서도 운영 효율성을 유지할 수 있는 방향으로 진화하고 있다. Salesforce의 사례는 대규모 AI 워크로드를 운영하는 기업들이 비용과 안정성이라는 두 마리 토끼를 잡기 위해 어떤 인프라 제어권을 확보해야 하는지를 보여주는 실질적인 참조 패턴이 된다.
SchedulingConfig로 제어하는 모델 배치 전략
AWS는 CreateInferenceComponent API의 SchedulingConfig 파라미터를 통해 인스턴스와 가용 영역(AZ, Availability Zone) 단위로 모델 복제본의 배치 위치를 세밀하게 제어할 수 있는 기능을 도입했다. 기존의 기본 배치 알고리즘은 복제본이 특정 영역에 쏠리는 현상을 방지하기 어려웠으나, 이제는 SPREAD 전략과 MaxImbalance 파라미터를 조합하여 복제본 간 균형을 강제로 유지할 수 있다. 이는 인프라의 장애 격리 수준을 높이고 특정 영역의 장애가 전체 서비스 중단으로 이어지는 위험을 방지하는 핵심 기제다.
SPREAD 전략은 여러 인스턴스에 복제본을 균등하게 분산하여 단일 인스턴스 장애가 동일 모델의 복제본 여러 개를 동시에 마비시키지 않도록 설계되었다. 이때 MaxImbalance 파라미터는 서로 다른 가용 영역 간 복제본 개수 차이를 설정하여 균형을 맞춘다. 예를 들어 MaxImbalance를 1로 설정하면 두 가용 영역 간 복제본 개수 차이가 1개 이하로 유지된다. 아래는 SPREAD 전략을 적용하고 가용 영역 간 균형을 맞추기 위한 API 호출 예시다.
{"SchedulingStrategy": "SPREAD", "MaxImbalance": 1}
모델의 경량화 정도에 따라 더 엄격한 제어도 가능하다. 복제본 2개를 배포하는 상황에서 MaxImbalance를 0으로 설정하면 알고리즘은 각 가용 영역에 정확히 1개씩 복제본을 배치한다. Salesforce는 Agentforce 모델 배포 시 이 설정을 활용하여 고가용성 요건을 충족했다. 특히 3번 기둥(Pillar 3) 배포 시에는 밀집도보다 장애 격리를 우선하여 SPREAD 방식을 채택했다. 이는 인스턴스 단위의 장애가 발생하더라도 모델의 가용성을 유지하기 위한 전략적 선택이다.
MaxImbalance 0 설정을 적용하면 가용 영역 하나가 완전히 마비되는 상황에서도 다른 영역에 배치된 복제본을 통해 서비스 연속성을 확보할 수 있다. 이처럼 SchedulingConfig는 비용 효율성을 위한 통합 배포와 안정성을 위한 분산 배치 사이에서 최적의 균형점을 찾게 해준다. 사용자는 배포 환경의 특성에 맞춰 복제본의 분산 정도를 수치로 직접 지정함으로써 예측 가능한 인프라 운영 환경을 구축할 수 있다.
SPREAD와 MaxImbalance를 활용한 실전 배포
복제본 개수와 가용 영역(AZ) 간의 균형은 모델의 안정성을 결정짓는 핵심 변수다. SPREAD 전략을 선택하고 MaxImbalance 파라미터를 1로 설정하면, 인프라 배포 시 두 가용 영역 간의 복제본 개수 차이를 최대 1개 이하로 엄격하게 제어할 수 있다. 예를 들어 모델 복제본을 4개 배포할 경우, 시스템은 각 가용 영역에 2개씩 배치하여 특정 영역의 장애가 전체 서비스 중단으로 이어지는 위험을 방지한다. 만약 복제본을 2개로 설정한다면 MaxImbalance를 0으로 조정하여 각 가용 영역에 정확히 1개씩 배치하는 정밀한 분산이 가능하다.
고가용성이 필수인 프로덕션 환경의 모델이라면 복제본 개수인 CopyCount를 1로 설정하는 것은 피해야 한다. 이 경우 모델이 단일 가용 영역에만 배치되어 해당 영역의 인프라 장애 발생 시 즉각적인 서비스 중단으로 이어지기 때문이다. 배포 전략을 수립할 때는 모델의 중요도와 인프라의 가용성 수준을 먼저 확인하고, 배치 계획을 수립하는 SchedulingConfig 설정을 통해 각 복제본이 물리적으로 분리된 환경에 위치하도록 보장해야 한다.
반복적인 확장과 축소 작업으로 인해 초기 배포 시점의 균형이 깨질 가능성도 고려해야 한다. 이럴 때는 ScaleInPolicy에 CONSOLIDATION 전략을 적용하여 주기적인 재균형화를 수행할 수 있다. 이 설정은 백그라운드에서 실행되는 스위퍼(Sweeper)가 주기적으로 추론 컴포넌트 복제본을 통합하고 유휴 인스턴스를 해제하면서도, 설정된 가용 영역 균형 제약 조건을 준수하도록 돕는다. 이러한 배치 제어 기능에 대한 상세 정보는 공식 문서를 통해 확인할 수 있다.
https://docs.aws.amazon.com/sagemaker/latest/dg/inference-components.html
용량 계획과 관측 가능성 확보
ODCR(On-Demand Capacity Reservations, 온디맨드 용량 예약)을 활용하면 특정 가용 영역(AZ)에 필요한 GPU 자원을 사전에 확보하여 배포 실패 가능성을 원천적으로 차단할 수 있다. 멀티 AZ 환경에서 모델을 배포할 때 인스턴스 자원이 부족하면 일반적인 환경에서는 배포가 중단되지만, SageMaker AI는 부분 배포를 지원하여 가용 자원이 있는 인스턴스에 우선적으로 복제본을 배치한다. 이는 운영 중단 없이 가용성을 유지하는 실무적인 완충 장치로 작동한다. 다만 최적의 균형을 유지하기 위해서는 ODCR을 통해 각 AZ별로 필요한 GPU 용량을 미리 예약해 두는 것이 권장된다.
[IMG_1: SageMaker AI Insights Reliability tab with AZ balance metrics]
SageMaker AI Insights(SageMaker AI의 모델 배포 상태를 시각화하는 관측 도구)는 배포된 추론 컴포넌트의 가용 영역별 균형 지표를 실시간으로 제공한다. 실무자는 이 대시보드를 통해 현재 각 AZ에 복제본이 몇 개씩 배치되어 있는지, 특정 영역으로 쏠림 현상이 발생하지 않았는지 즉각 확인할 수 있다. 특히 50개 이상의 프로덕션 모델을 운영하는 환경에서는 이러한 지표가 단순한 참고 자료를 넘어, 장애 격리 수준을 결정하는 핵심 판단 근거가 된다.
정기적인 운영 점검 시에는 인스턴스 배치 상태와 함께 관측 도구에서 제공하는 신뢰성 탭의 지표를 대조하는 것이 좋다. 만약 특정 AZ의 용량이 부족하여 자동 배치 알고리즘이 의도치 않은 결과를 낼 경우, 관리자는 즉시 ODCR 설정을 조정하거나 추가 인스턴스를 프로비저닝하여 균형을 맞출 수 있다. 이처럼 사전 예약된 자원과 실시간 모니터링 체계를 결합하는 것은 고가용성 요건이 엄격한 프로덕션 모델 운영의 필수적인 안전장치다. 상세한 설정과 API 활용법은 공식 문서를 통해 확인할 수 있다.
한국 엔지니어를 위한 배포 체크리스트
비즈니스 크리티컬한 AI 서비스를 운영하는 한국 기업의 엔지니어는 가용 영역(AZ, Availability Zone) 균형 지표를 반드시 모니터링해야 한다. SageMaker의 기본 배치 알고리즘은 각 추론 컴포넌트의 배포 작업을 독립적으로 최적화하며 인스턴스 간에 복제본을 균등하게 분산하지만 AZ 균형은 고려하지 않는다. 멀티 AZ 엔드포인트를 사용하더라도 특정 모델의 복제본이 한쪽 AZ에 쏠리면 해당 영역의 장애가 곧바로 서비스 전체의 중단으로 이어지는 단일 장애 지점이 된다. 이는 비용 절감을 위해 여러 모델을 한 인스턴스에 모으는 통합 배포 방식에서 특히 주의해야 할 지점이다.
비용 효율성을 위한 통합 배포와 시스템 안정성을 위한 분산 배치 사이의 최적점은 SchedulingConfig 설정을 통해 조정한다. 한국의 엔터프라이즈 환경처럼 엄격한 SLA(Service Level Agreement, 서비스 수준 협약)를 준수해야 하는 프로덕션 환경에서는 인프라 제어권을 확보해 복제본이 여러 영역에 강제로 흩어지게 만들어야 한다. 상세한 설정 방법은 SageMaker Inference Components 문서에서 확인할 수 있다.
가용성이 필수적인 모델의 경우 CopyCount 설정을 1로 지정하는 실수를 피해야 한다. 복제본이 하나뿐이면 물리적으로 단 하나의 AZ에만 배치될 수밖에 없으며 이는 2-AZ 준수 요건을 즉시 위반하는 결과가 된다. 특히 4개의 가속기가 필요한 대규모 언어 모델(LLM)처럼 복제본당 여러 GPU를 사용하는 경우에도 동일한 배치 로직이 적용된다. SPREAD 전략을 통해 각 멀티 GPU 복제본을 서로 다른 인스턴스에 배치하고 영역 간 균형을 맞추는 작업이 선행되어야 한다.
실시간 AZ 균형 상태는 SageMaker AI Insights의 Reliability 탭과 Amazon CloudWatch를 통해 확인한다. [IMG_2: SageMaker AI Insights Reliability tab with AZ balance metrics] 지표를 통해 특정 영역에 리소스가 편중되었는지 상시 감시하고 필요 시 재배치를 수행하는 워크플로를 구축해야 한다. 향후 SageMaker AI Insights를 활용한 더 상세한 관측 가이드가 추가될 예정이다. 비용 효율적인 모델 통합 배포와 엄격한 고가용성 요건을 동시에 만족시키려면 SPREAD 전략과 MaxImbalance 설정을 통해 AZ 간 복제본 편차를 1 이하로 유지하는 배포 전략을 수립해야 한다.




