

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 自動スケーリングポリシーの概要
<a name="endpoint-auto-scaling-policy"></a>

自動スケーリングを使用するには、実際のワークロードに応じて本番稼働用バリアントのインスタンス数を追加および削除するスケーリングポリシーを定義します。

ワークロードの変動に合わせて自動的にスケーリングするには、ターゲット追跡ポリシーとステップスケーリングポリシーの 2 つのオプションがあります。

大半のケースで推奨されるのはターゲット追跡スケーリングポリシーです。ターゲット追跡では、Amazon CloudWatch メトリクスとターゲット値を選択します。自動スケーリングは、スケーリングポリシーの CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。ポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するために、必要に応じてインスタンスを追加または削除します。たとえば、事前定義された `InvocationsPerInstance` メトリクスのターゲット値を 70 に設定すると、`InvocationsPerInstance` を 70 または 70 近くに維持できます。詳細については、[Application Auto Scaling ユーザーガイド](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)の Target Tracking Scaling Policies を参照してください。

ステップスケーリングは、デプロイするインスタンスの数や条件を指定するなど、高度な設定が必要な場合に使用できます。たとえば、エンドポイントがゼロアクティブインスタンスからスケールアウトできるようにする場合は、ステップスケーリングを使用する必要があります。ステップスケーリングポリシーの概要とその仕組みについては、「[Application Auto Scaling ユーザー ガイド](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)」の「ステップスケーリングポリシー」を参照してください。

ターゲット追跡スケーリングポリシーを作成するには、以下を指定します。
+ **メトリクス** — インスタンスあたりの平均呼び出し数など、追跡する CloudWatch メトリクス。
+ **ターゲット値** — 1 分ごとにインスタンスあたり 70 回の呼び出しなど、メトリクスのターゲット値。

事前定義されたメトリクスまたはカスタムメトリクスのいずれかを使用して、ターゲット追跡スケーリングポリシーを作成できます。事前定義されたメトリクスは列挙型で定義されるため、それをコード内に名前で指定するか、SageMaker AI コンソールで使用できます。代わりに、 AWS CLI または Application Auto Scaling API を使用し、事前定義されたメトリクスまたはカスタムメトリクスに基づいてターゲット追跡スケーリングポリシーを適用することもできます。

スケーリングアクティビティは、容量の急激な変動を防ぐため、クールダウン期間を設けて実行されることに注意してください。オプションでスケーリングポリシーのクールダウン期間を設定できます。

自動スケーリングの主な概念については、以下のセクションを参照してください。

## スケジュールベースのスケーリング
<a name="scheduled-scaling"></a>

スケジュールされたアクションを作成して、特定の時刻にスケーリングアクティビティを実行することもできます。スケジュールされたアクションは、一度だけスケールする、または定期的なスケジュールに従ってスケールするものを作成できます。スケジュールされたアクションが実行された後も、スケーリングポリシーは、ワークロードの変動が発生したときに動的にスケーリングするかどうかの決定を引き続き行うことができます。スケジュールされたスケーリングは、 AWS CLI または Application Auto Scaling API からのみ管理できます。詳細については、「*Application Auto Scaling ユーザーガイド*」の「[スケジュールされたスケーリング](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)」を参照してください。

## 最小スケーリング制限と最大スケーリング制限
<a name="endpoint-auto-scaling-target-capacity"></a>

自動スケーリングを設定するときは、スケーリングポリシーを作成する前にスケーリング制限を指定する必要があります。最小値と最大値の制限を個別に設定します。

最小値は 1 以上で、最大値で指定された値以下である必要があります。

最大値は、最小数に指定された値以上である必要があります。SageMaker AI の自動スケーリングでは、この値に制限は適用されません。

通常のトラフィックに必要なスケーリング制限を決定するには、モデルに対するトラフィックの予想レートで自動スケーリングの設定をテストします。

バリアントのトラフィックがゼロになった場合、SageMaker AI は、指定されたインスタンスの最小数に自動的にスケールインします。この場合、SageMaker AI からは値がゼロのメトリクスが出力されます。

最小容量と最大容量を指定するには、次の 3 つのオプションがあります。

1. コンソールを使用して、**[最小インスタンス数]** と **[最大インスタンス数]** の設定を更新します。

1. register-scalable-target コマンドを実行するときは、 AWS CLI を使用し、 `--min-capacity`オプションと `--max-capacity`オプションを含めます。 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 

1. [RegisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) API を呼び出し、`MinCapacity` および `MaxCapacity` パラメータを指定します。

**ヒント**  
最小値を増やすことで手動でスケールアウトすることも、最大値を減らすことで手動でスケールインすることもできます。

## クールダウン期間
<a name="endpoint-auto-scaling-target-cooldown"></a>

*クールダウン期間*は、モデルのスケールイン (容量の削減) またはスケールアウト (容量の増加) 時に、オーバースケーリングを防ぐために使用されます。これは、この期間が終了するまで、後続のスケーリングアクティビティを遅らせるものです。つまり、スケールインのリクエストについてはインスタンスの削除が、スケールアウトのリクエストについてはインスタンスの作成が停止されます。詳細については、「*Application Auto Scaling ユーザーガイド*」の「[Define cooldown periods](https://docs.aws.amazon.com/autoscaling/application/userguide/target-tracking-scaling-policy-overview.html#target-tracking-cooldown)」を参照してください。

スケーリングポリシーのクールダウン期間はお客様が設定します。

スケールインやスケールアウトのクールダウン期間を指定しない場合、スケーリングポリシーではデフォルト値 (それぞれ 300 秒) が使用されます。

スケーリングの設定をテストしたときに、インスタンスが追加または削除されるペースが速すぎる場合は、この値を増やすことを検討してください。この動作は、モデルへのトラフィックに大量のスパイクがある場合や、バリアントに対して複数のスケーリングポリシーを定義した場合に見られます。

インスタンスが追加されるペースが増加したトラフィックに対処するのに十分でない場合は、この値を減らすことを検討してください。

## 関連リソース
<a name="auto-scaling-related-resources"></a>

自動スケーリングの設定の詳細については、次のリソースを参照してください。
+ AWS CLI コマンドリファレンスの [application-autoscaling](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling) セクション
+ Application Auto Scaling API リファレンス[https://docs.aws.amazon.com/autoscaling/application/APIReference/](https://docs.aws.amazon.com/autoscaling/application/APIReference/)
+ アプリケーション Auto Scaling ユーザーガイド[https://docs.aws.amazon.com/autoscaling/application/userguide/](https://docs.aws.amazon.com/autoscaling/application/userguide/)

**注記**  
SageMaker AI では最近、リアルタイム推論エンドポイント上に構築された新しい推論機能を導入しました。エンドポイントのインスタンスタイプと初期インスタンス数を定義するエンドポイント設定を使用して SageMaker AI エンドポイントを作成します。次に、推論コンポーネントを作成します。これは、モデルをエンドポイントにデプロイするために使用できる SageMaker AI ホスティングオブジェクトです。推論コンポーネントのスケーリングの詳細については、 AWS ブログの[SageMaker AI が新しい推論機能を追加して、基盤モデルのデプロイコストとレイテンシーを削減](https://aws.amazon.com/blogs/aws/amazon-sagemaker-adds-new-inference-capabilities-to-help-reduce-foundation-model-deployment-costs-and-latency/)し、[SageMaker AI の最新機能を使用してモデルデプロイコストを平均 50% 削減](https://aws.amazon.com/blogs/machine-learning/reduce-model-deployment-costs-by-50-on-average-using-sagemakers-latest-features/)する」を参照してください。