
AutoScalingオートスケーリングのスケーリングポリシー
- ステップスケーリングポリシー
- 複数のアラームに応答して複数のスケーリングステップを構成する
- 簡易スケーリングポリシー
- シンプルなスケーリングポリシー
- インスタンスの現在の数を維持し、ASGの最小/希望/最大を手動で変更し、インスタンスをアタッチ/デタッチする
- 条件付きスケーリングポリシー
- ダイナミックスケーリングポリシー
- イベント/アラームに反応してスケールを変更
- スケジュールスケーリングポリシー
- 予測可能な負荷の変化に使用され、1つのイベントまたは定期的なスケジュールとする
ステップスケーリングポリシー
ステップスケーリングポリシーは、CloudWatchメトリクスから得られる値(CPU使用率やSQSキューサイズなど)の閾値を超えて発せられるアラームに対して、値ベースでスケーリングアクションを個別設定できる機能です。
ステップスケーリングポリシーを作成するときは、アラーム超過のサイズに基づいてインスタンス数を動的にスケーリングする 1 つ以上のステップ調整値を指定します。
各ステップ調整値は、次のように指定します。
- メトリクス値の下限
- メトリクス値の上限
- スケーリング調整タイプに基づいてスケールする量
CloudWatch は、CloudWatch アラームに関連付けられたメトリクスの統計に基づいて、メトリクスデータポイントを集計します。
アラームを超過した場合、適切なスケーリングポリシーがトリガーされます。Amazon EC2 Auto Scaling は集計タイプを (raw メトリクスデータではなく) CloudWatch からの最新のメトリクスデータポイントに適用します。
ステップ調整によって定義された上限と下限に対して、この集約メトリクス値を比較することにより、実行するステップが調整されます。
これまでのスケーリングでは、単純にCPU使用率上がったら設定したインスタンス数を追加するため、実際の負荷状況にフィットしないケースがありました。
そこで、50%なら1台追加、60%なら2台追加、70%なら3台追加といった具合に、閾値を超えてアラームから報告される値によってスケールする台数を指定できるようになりました
スケジュールドスケーリング
スケジュールに基づいたスケーリングにより、予想可能な負荷の変化に対する独自のスケーリングスケジュールを設定できます。
このアプリケーションは営業時間の(13時~15時)において、負荷が急激に上昇する傾向が見受けられため、その時間を指定してスケジュールドスケーリングを設定するのが最適です