Management and Governance

AWS Auto Scaling

「スケーリングプラン」機能そのものは対象リソースに SageMaker を含みません。GenAI 文脈でのポイントは、この名前の製品と「SageMaker エンドポイントのオートスケール」に使う Application Auto Scaling を混同しないことです。

  • B|実装まわり
  • D4 運用効率と最適化

ひとことで言うと

「スケーリングプラン」という機能名を持つ製品で、タグや CloudFormation スタック単位で複数リソースをまとめてスケーリング設定できます。対応リソースは Aurora・Amazon EC2 Auto Scaling・ECS・DynamoDB・Spot Fleet の5種類だけで、SageMaker も Bedrock も含まれません。GenAI 推論のオートスケールが必要な場面(SageMaker エンドポイント)では、この製品ではなく Application Auto Scaling(別の、より低レベルの API)を直接使います。

要するに、複数の家電をまとめて操作できる万能リモコンです。ただし対応機種リストに載っていない機器(SageMaker エンドポイント)は、そのリモコンでは操作できません。個別リモコン(Application Auto Scaling の API)を使うしかない、という状況です。

なぜ生まれたか

課題AWS Auto Scaling(スケーリングプラン)側の設計
複数種類のリソースを個別にスケーリング設定するのが面倒タグ・CloudFormation スタック単位でまとめて発見・設定
単純な閾値だけでなく将来の負荷も見込んで前もってスケールしたい予測スケーリング(過去14日分から今後2日分を予測)
可用性重視かコスト重視かを毎回細かく決めたくない40%(可用性)/ 50%(バランス)/ 70%(コスト)のスケーリング戦略プリセット

この製品が生まれた背景に GenAI 推論のスケーリング課題は入っていません。 対応リソースの5種類(Aurora・EC2 Auto Scaling・ECS・DynamoDB・Spot Fleet)は GenAI 登場以前からある汎用ワークロードで、SageMaker のような推論エンドポイントは後から別の仕組み(Application Auto Scaling への register-scalable-target 呼び出し)でカバーされています。

何に使うか

用途使い方関連ドメイン
GenAI パイプラインの周辺インフラ(ECS 上の推論プロキシ、DynamoDB の会話履歴テーブル等)をまとめてスケールタグベースでリソースを発見し、スケーリングプランを作成D4
SageMaker AI エンドポイント(fine-tuned モデルのホスティング)のオートスケールAWS Auto Scaling ではなく Application Auto Scaling に register-scalable-target(サービス名前空間 sagemaker)でスケーラブルターゲット登録 → ターゲット追跡スケーリングポリシーを付与D1, D4
Bedrock 自体の呼び出しキャパシティ管理どちらも使わない。 Bedrock はサーバーレスで、オンデマンドはリクエストごとに課金されるだけ。固定キャパシティが要るならプロビジョンドスループットを購入する(オートスケール対象ではない)D1, D4

試験でどう問われるか

問われ方正解に寄る条件引っかけ
「SageMaker AI エンドポイントのインスタンス数を負荷に応じて自動調整したい」Application Auto Scaling(register-scalable-target でスケーラブルターゲットを登録し、ターゲット追跡ポリシーを付ける)「オートスケール」の一般名詞から短絡して AWS Auto Scaling(スケーリングプラン) を選ぶ(対応リソースに SageMaker は無い)
「Bedrock のオンデマンド呼び出しが急増したとき、インスタンスを自動追加したい」どちらも不要。 Bedrock はサーバーレスでインフラのプロビジョニング自体が無いAuto Scaling 系サービスのどれかを選んでしまう(選択肢に「Bedrock はスケーリング設定不要」が無い場合は誤答を誘導される設計に注意)
「複数の GenAI 周辺リソース(ECS タスク・DynamoDB テーブル)をまとめて、可用性重視でスケーリングしたい」複数リソース種別の一括管理 → **AWS Auto Scaling(スケーリングプラン)**が対応(ECS・DynamoDB は対応リソースに含まれる)Application Auto Scaling で1つずつ個別設定しようとする(できなくはないが、まとめて管理したいという要件には合わない)
「予測スケーリングで急な負荷増に備えたい(EC2 上でホストする自前推論サーバ)」予測スケーリング自体は使えるが、公式はスケーリングプラン経由ではなく EC2 Auto Scaling / Application Auto Scaling に直接ポリシーを設定することを推奨(機能が豊富)スケーリングプラン一本で最新機能まで揃うと考える

「AWS Auto Scaling」という名前に釣られないこと。この名前はサービスの総称のように聞こえますが、実体は「スケーリングプラン」という特定機能を指す製品名で、対応リソースは5種類に限定されます。GenAI 推論エンドポイント(SageMaker)のスケーリングを問うシナリオでこの名前が選択肢にあっても、正解は多くの場合 Application Auto Scaling です。

実務でどう使うか

  • SageMaker のオートスケールは AWS CLI/SDK で application-autoscaling サービスを直接呼びます。 register-scalable-target → put-scaling-policy(ターゲット追跡)が基本の流れで、AWS Auto Scaling コンソールからは設定できません
  • 予測スケーリングだけが目的なら、スケーリングプランは非推奨です。 公式ドキュメントも「予測スケーリングだけならスケーリングプラン経由ではなく EC2 Auto Scaling / Application Auto Scaling に直接ポリシーを設定することを強く推奨する」と明記しています(メトリクス集計のカスタマイズやブルーグリーンデプロイ間の履歴保持など、直接設定のほうが機能が豊富)
  • 予測スケーリングは CloudWatch の GetMetricData 呼び出しに課金が発生します。 スケーリングプラン経由ではなく EC2 Auto Scaling のポリシーとして直接設定すれば、この GetMetricData 呼び出し分の課金は発生しません
  • SageMaker エンドポイントは0インスタンスまでスケールインできます。 常時起動が不要な検証環境・低頻度呼び出しのワークロードでコストを抑えられますが、スケールアウト時にコールドスタートの遅延が発生する点は考慮が要ります

コンソールで「Auto Scaling」を検索すると複数の製品が出てきます。「AWS Auto Scaling」(スケーリングプラン)と「Application Auto Scaling」は名前が紛らわしいですが別サービスです。SageMaker エンドポイントの設定作業をするなら、後者の CLI コマンド(aws application-autoscaling ...)を使うことになります。

取り違えやすいもの

迷う相手切り分けの一言
Application Auto ScalingAWS Auto Scaling(スケーリングプラン)はタグ・スタック単位のまとめて管理が売り。Application Auto Scaling は個別リソースへの低レベルAPIで、SageMaker・ECS・DynamoDB 等がこちらの直接対象。SageMaker のスケーリングは常に後者
Amazon EC2 Auto ScalingEC2 インスタンス集合(Auto Scaling グループ)そのものの機能。スケーリングプランはこの上に乗る管理レイヤーの1つに過ぎない
Bedrock プロビジョンドスループット固定キャパシティを購入する仕組みで、負荷に応じた自動増減(オートスケール)はしない。「Bedrock で急増に自動対応したい」という要件に Auto Scaling 系サービスを充てるのは的外れで、正解はモデルカスケードや動的モデルルーティングのような別の設計パターンになることが多い

想起チェック

Q1. SageMaker AI エンドポイントのインスタンス数を自動調整したい。使うのは AWS Auto Scaling(スケーリングプラン)でよい?

よくありません。 AWS Auto Scaling(スケーリングプラン)の対応リソースは Aurora・EC2 Auto Scaling・ECS・DynamoDB・Spot Fleet の5種類で、SageMaker は含まれません。SageMaker エンドポイントのオートスケールは Application Auto Scaling に register-scalable-target で登録して設定します。

Q2. Bedrock のオンデマンド呼び出しが急増したとき、Auto Scaling 系サービスで自動的にキャパシティを増やす設定が必要?

不要です。 Bedrock のオンデマンド呼び出しはサーバーレスで、ユーザー側がプロビジョニングするインフラがありません。固定キャパシティが要る場合はプロビジョンドスループットを購入しますが、これも負荷に応じた自動増減の対象ではありません。

Q3. 予測スケーリングだけを使いたい場合、スケーリングプランを使うのが推奨される?

推奨されません。 公式ドキュメントは、予測スケーリングのみが目的ならスケーリングプラン経由ではなく、Amazon EC2 Auto Scaling または Application Auto Scaling に直接ポリシーを設定することを推奨しています。カスタムメトリクス集計やブルーグリーンデプロイ間の履歴保持など、機能面で直接設定のほうが優れます。

出典(AWS公式)