ターゲット追跡ポリシーを使用して、スポットフリートをスケーリングします。
ターゲット追跡スケーリングポリシーで、メトリクスを選択してターゲット値を設定します。スポットフリートは、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じて容量を追加または削除します。ターゲットの追跡スケーリングポリシーは、メトリクスをターゲット値近くに維持することに加えて、負荷パターンの変動によるメトリクスの変動に合わせて調整し、フリートの容量の急速な変動を最小化します。
それぞれが異なるメトリクスを使用していれば、スポットフリートに複数のターゲットの追跡スケーリングポリシーを作成できます。フリートは、最大のフリート容量を提供する方針に基づいてスケーリングされます。 これにより、複数のシナリオに対応して、アプリケーションワークロードを処理するのに十分な容量が常に確保されます。
アプリケーションの可用性を高めるために、フリートのスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより緩やかです。
ターゲット容量が減ったためにスポットフリートがインスタンスを終了する場合、インスタンスはスポットインスタンスの中断通知を受け取ります。
ターゲットの追跡スケーリングポリシーのためにスポットフリートが管理する CloudWatch アラームを編集または削除しないでください。ターゲット追跡スケーリングポリシーを削除すると、スポットフリートが自動的にアラームを削除します。
制限
スポットフリートリクエストには、タイプが maintain
のリクエストが必要です。自動スケーリングはタイプ request
のリクエストではサポートされていません。
ターゲットの追跡スケーリングポリシーを設定するには (コンソール)
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[Spot Requests] を選択します。
-
スポットフリートリクエストを選択し、[Auto Scaling] を選択します。
-
自動スケーリングが設定されていない場合は、[Configure] を選択します。
-
スポットフリートの最小容量および最大容量を設定するには、[Scale capacity between] を使用します。自動スケーリングにより、最小容量以下または最大容量以上にスポットフリートがスケールされることはありません。
-
[Policy Name] にこのポリシーの名前を入力します。
-
[Target metric] を選択します。
-
メトリクスの [Target value] を入力します。
-
[クールダウン期間] には、新しい値 (秒単位) を指定するか、デフォルトのままにします。
-
(オプション) 現在の構成に基づいてスケールインポリシーの作成を省略するには、[スケールインの無効化] を選択します。別の構成を使用してスケールインポリシーを作成できます。
-
[Save] を選択します。
AWS CLI を使用して、ターゲットの追跡スケーリングポリシーを設定します。
-
register-scalable-target コマンドを使用して、スケーラブルなターゲットとしてスポットフリートリクエストを登録します。
-
put-scaling-policy コマンドを使用して、スケーリングポリシーを作成します。