#Auto Scalingとは
希望する量と現在起動している台数(EC2インスタンスなど)の差を監視し、合致するようにリソース(EC2インスタンスなど)を増減する。
増減には3つのパターンがある
①そのまま維持
②スケールアウト(希望する量>現在起動中の台数)
③スケールイン(希望する量<現在起動中の台数)
#使用方法
「サイズ維持」
希望する台数は固定、台数減ると検知して減った分だけ台数追加する。
例)希望する台数が4台の場合、障害により1台減るとその差を検知して1台追加する。
「手動スケーリング」
希望する台数を手動で変更する。サイズの維持も引き続き行われる。
「自動スケーリング」
様々な条件に応じて希望する台数が動的に変化する。設定方法として様々なスケーリングポリシー(CPU使用率に応じてAutoScaling実行など)が提供されている。
「AutoScaling使用時のインスタンスの分散の特徴」
使用できるアベイラビティゾーンで、均等にインスタンスを配置しようとする。
スケールアウトするときは、インスタンスが最も少ないアベイラビリティゾーンに新規起動する。
#スケーリングの種類
##「動的スケーリング-ステップスケーリング-」
1つのメトリクスに対して複数のスケーリング調整値を指定可能
細かい設定が可能
ウォームアップ期間:新しく起動したインスタンスがサービスを開始できるようになるまでに要する時間
なぜ設定するのか?
設定することで、スケールアウトの時に前のスケールアウトが終わっているかを判断してくれる。
デフォルト値は300秒
##「動的スケーリング-ターゲット追跡スケーリング-」
1つのメトリクスに対して、単に目標値を設定するのみ。
例)CPU使用率を40%に維持してほしいなど
目的値に満たすように自動的にリソースが調整される。
スケールアウト用・スケールイン用のアラームが自動的に作成され、アラームがアラーム状態になった時にスケールされる。
##「予測スケーリング」
2週間分のメトリクスを分析し、次の2日の今後の需要を予測
24時間ごとに、次の48時間の予測値を作成し、キャパシティの増減をスケジューリング
予測の基準時刻は0時
##「スケジュールスケーリング」
定期的なスケジュールを指定可能
最小キャパシティと最大キャパシティのいずれかあるいは、両方を指定可能
#オプションお勧め
EC2でのスケーリングオプションのお勧め
予測スケーリングで、大体のキャパシティ増減の事前準備
実際の負荷に対してターゲット追跡で補充する
EC2以外でのスケーリングオプションお勧め
ステップスケーリングおよびスケジュールスケーリング使用