Salesforce、SageMakerで複数AZ対応
- •SalesforceはSageMaker IC Placementで、本番Agentforceモデルの2-AZ高可用性要件を満たした
- •Inference Componentsは共有GPU上で複数モデルを共存させ、Salesforceのインフラコストを8x削減した
- •SchedulingConfigはAvailabilityZoneBalance、SPREADまたはBINPACK、MaxImbalance 0または1、CopyCount ≥ 2を使う
SalesforceはAmazon SageMaker AI Inference Components Placementを使い、エージェント向けAI基盤であるAgentforceを複数のアベイラビリティーゾーンにまたがって高可用化した。同時に、共有GPU上で複数モデルを共存させることで得たインフラコスト8x削減も維持した。AWSの投稿によると、標準のInference Components配置はGPU支出を抑えられる一方、Salesforceが本番モデルに求めた2-AZ耐障害性は保証しなかった。
標準のSageMaker配置は、各Inference Componentのデプロイ操作を個別に最適化し、新しいコピーをインスタンス間に分散するが、アベイラビリティーゾーン間の均衡までは保証しない。このためSalesforceには3つのリスクがあった。1つのインスタンス障害でモデルの全コピーが停止するリスク、アベイラビリティーゾーン障害でモデル全体が利用不能になるリスク、標準配置がSalesforce社内の2-AZ準拠基準を満たさないリスクである。
AWSはCreateInferenceComponent APIにSchedulingConfigパラメータを導入し、Inference Componentのコピーをインスタンスとアベイラビリティーゾーンにどう配置するか制御できるようにした。AvailabilityZoneBalanceは設定可能な不均衡許容値でAZ間分散を制御する。PlacementStrategyは、障害分離のためコピーを可能な限り多くのインスタンスへ分散するSPREAD、または利用効率のため少ないインスタンスへ詰め込むBINPACKを使う。
Salesforceのシナリオでは、マルチAZ SageMakerエンドポイントが2つのアベイラビリティーゾーンに均等配置された4インスタンスで構成され、AZ-1に2インスタンス、AZ-2に2インスタンスがあった。4つのInference Componentコピーを持つモデルでは、SPREAD配置とAZバランシングによりAZ-1に2コピー、AZ-2に2コピーを置いた。MaxImbalanceを1に設定すると、任意の2つのAZ間で許される差は最大1コピーとなる。2コピーで足りる軽量モデルでは、MaxImbalance: 0が厳密な均衡を強制し、各AZに正確に1コピーずつ配置した。
SageMakerはスケーリング中も均衡を保つ。スケールアウトではAZ分散を均等に維持するよう新しいコピーを配置し、スケールインではAZ間で対称的にコピーを削除する。AWSは、HAが重要なモデルでCopyCountを1にしてはならないと警告した。1コピーは1つのAZにしか存在できず、2-AZ準拠を即座に破るためだ。スケールインとスケールアウトを繰り返す場合、AWSはCONSOLIDATION戦略を使うエンドポイントScaleInPolicyにより、バックグラウンドのスイーパーがAZ均衡制約を守りながらコピーを統合し、アイドル状態のインスタンスを解放できるとしている。
配置アルゴリズムは、最終分散の均衡、可用性を考慮した分散、AZ内最適化を加える。SalesforceはAZ内配置でSPREADを選び、パッキング密度より障害分離を優先した。これにより、1つのインスタンス障害で同じモデルの複数コピーが停止しないようにした。後続の例では、IC1が4コピー、IC2が2コピー、IC3が2コピーで、MaxImbalance: 0は各AZに正確に1つのIC3コピーを置くことを目標にした。
AWSはAZ制約のあるリージョン向けにOn-Demand Capacity Reservationsを推奨し、Salesforceは各対象AZで予約GPU容量を事前プロビジョニングして、均衡配置の検証を支援した。推奨設定には、PlacementStrategy SPREAD、EnforcementMode PERMISSIVE、MaxImbalance 0または1、CopyCount ≥ 2、ManagedInstanceScaling.MinInstanceCount ≥ 2、DataCacheConfig.EnableCaching True、RoutingConfig.RoutingStrategy LEAST_OUTSTANDING_REQUESTSが含まれた。
SageMaker AI Insightsは、ダッシュボードとAmazon CloudWatchを通じて、AZ偏り、AZごとのInference Componentコピー数、リバランシングイベントと所要時間、AZごとのInsufficient Capacity Error数を監視する。AWSによると、IC Placement機能によりSalesforceは全モデルデプロイで2-AZサポートを満たし、単一インスタンスまたはAZ障害が全面停止の原因になる事態を排除し、複数モデル共存のコスト削減を維持し、スケーリングの耐障害性を保ち、モデル更新中もHAを維持した。