ターゲット追跡ポリシーを使用して、スポットフリートをスケーリングします。 - Amazon Elastic Compute Cloud

ターゲット追跡ポリシーを使用して、スポットフリートをスケーリングします。

ターゲット追跡スケーリングポリシーで、メトリクスを選択してターゲット値を設定します。スポットフリートは、スケーリングポリシーをトリガーする CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じて容量を追加または削除します。ターゲットの追跡スケーリングポリシーは、メトリクスをターゲット値近くに維持することに加えて、負荷パターンの変動によるメトリクスの変動に合わせて調整し、フリートの容量の急速な変動を最小化します。

それぞれが異なるメトリクスを使用していれば、スポットフリートに複数のターゲットの追跡スケーリングポリシーを作成できます。フリートは、最大のフリート容量を提供する方針に基づいてスケーリングされます。 これにより、複数のシナリオに対応して、アプリケーションワークロードを処理するのに十分な容量が常に確保されます。

アプリケーションの可用性を高めるために、フリートのスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより緩やかです。

ターゲット容量が減ったためにスポットフリートがインスタンスを終了する場合、インスタンスはスポットインスタンスの中断通知を受け取ります。

ターゲットの追跡スケーリングポリシーのためにスポットフリートが管理する CloudWatch アラームを編集または削除しないでください。ターゲット追跡スケーリングポリシーを削除すると、スポットフリートが自動的にアラームを削除します。

制限

スポットフリートリクエストには、タイプが maintain のリクエストが必要です。自動スケーリングはタイプ request のリクエストではサポートされていません。

ターゲットの追跡スケーリングポリシーを設定するには (コンソール)
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[Spot Requests] を選択します。

  3. スポットフリートリクエストを選択し、[Auto Scaling] を選択します。

  4. 自動スケーリングが設定されていない場合は、[Configure] を選択します。

  5. スポットフリートの最小容量および最大容量を設定するには、[Scale capacity between] を使用します。自動スケーリングにより、最小容量以下または最大容量以上にスポットフリートがスケールされることはありません。

  6. [Policy Name] にこのポリシーの名前を入力します。

  7. [Target metric] を選択します。

  8. メトリクスの [Target value] を入力します。

  9. [クールダウン期間] には、新しい値 (秒単位) を指定するか、デフォルトのままにします。

  10. (オプション) 現在の構成に基づいてスケールインポリシーの作成を省略するには、[スケールインの無効化] を選択します。別の構成を使用してスケールインポリシーを作成できます。

  11. [Save] を選択します。

AWS CLI を使用して、ターゲットの追跡スケーリングポリシーを設定します。
  1. register-scalable-target コマンドを使用して、スケーラブルなターゲットとしてスポットフリートリクエストを登録します。

  2. put-scaling-policy コマンドを使用して、スケーリングポリシーを作成します。