核心概述
Salesforce 為其 AI 代理平台 Agentforce 需要在 AWS 多可用區(AZ)實現高可用性(HA),同時維持成本效益。透過 Amazon SageMaker AI 推論元件(Inference Components, IC),Salesforce 成功將 GPU 成本降低 8 倍,卻發現預設的部署方式無法保證跨 AZ 的容錯需求。為解決此缺口,團隊利用 SageMaker 新增的 IC Placement 功能,透過 SchedulingConfig 參數在 CreateInferenceComponent API 中精細控制複本的 AZ 分布,最終同時達成 成本 與 高可用性 兩大目標。
背景與技術挑戰
SageMaker 的 IC 允許多個模型共享同一顆 GPU,從而大幅削減硬體開支。但其預設的 Placement 演算法 只會在執行個體之間均勻分配新複本,未考慮 AZ 的平衡度。即使建立了多 AZ 端點,某個模型的所有複本仍可能集中於同一 AZ,形成單點故障,無法符合 Salesforce 的合規要求。
解決方案:IC Placement 與 SchedulingConfig
AWS 在 CreateInferenceComponent API 中加入 SchedulingConfig 參數,提供兩個關鍵子參數:
| 子參數 | 功能說明 |
|--------|----------|
| Placement(如 SPREAD) | 以「分散」方式將指定數量的複本分配至所有執行個體,確保每個 AZ 至少獲得一份。 |
| MaxImbalance | 設定任意兩個 AZ 之間可接受的複本差異上限,數值越低平衡度越嚴格。 |
實作範例
- 情境:四個執行個體均勻分布於兩個 AZ(AZ‑1、AZ‑2 各兩台),需要部署四個 IC 複本。
- 設定:
Placement=SPREAD、MaxImbalance=1→ SageMaker 會把四個複本分散為 AZ‑1 兩個、AZ‑2 兩個,允許最多 1 個複本的差異。 - 較輕模型:若僅需兩個複本,將
MaxImbalance=0,系統會強制每個 AZ 各放置一個,達到「嚴格平衡」。
在 scale‑out(擴容)或 scale‑in(縮容)時,SageMaker 會依照既定的 SchedulingConfig 自動調整複本分布,確保 AZ 之間始終保持預期的平衡。值得注意的是,對於 HA 關鍵模型絕不可將 CopyCount(複本數)設定為 1,因為單一複本只能存在於單一 AZ,立即違背兩 AZ 合規要求。
成本與可用性效益
透過共享 GPU 的 IC 架構,Salesforce 在基礎設施支出上取得 8 倍的成本縮減。同時,藉由 SchedulingConfig 的精細配置,確保每個模型在多 AZ 環境下均具備冗餘備援,符合嚴格的合規與容錯標準。這種「低成本 + 高可用」的組合,為企業在雲端 AI 推理工作負載的擴展提供了可持續的營運模型。
未來展望與讀者啟示
隨著 AWS 持續優化 SageMaker 的排程與資源管理功能,未來將有更多細緻的 AZ‑aware 配置選項,讓使用者能在成本、效能與合規之間取得更佳的平衡。對於正考慮在雲端部署 AI 推理服務的企業而言,了解並善用 SchedulingConfig 不僅是提升服務韌性的關鍵,更是降低總擁有成本(TCO)的實務利器。建議讀者在設計多 AZ 架構時,從一開始即規劃複本數與平衡策略,避免日後因單點故障而產生的營運風險。
