Auto Scaling の ターゲットトラッキングポリシー(Target Tracking Scaling Policy) は、
特定のメトリクスの目標値(ターゲット)を維持するように、自動でスケーリングを行う仕組みです。
✅ 概要
-
あらかじめ指定したメトリクスの目標値(ターゲット) に基づいて、
EC2 Auto Scaling グループの インスタンス数を自動で増減します。 - メトリクスが目標より上がるとスケールアウト(増加)し、
下がるとスケールイン(減少)します。
🎯 代表的なターゲットメトリクス例
メトリクス | 説明 |
---|---|
CPU使用率(CPUUtilization) | 一般的に最もよく使われる指標 |
アプリケーションロードバランサーのリクエスト数 | Target Group あたりのリクエスト量 |
カスタムメトリクス(CloudWatch) | 独自のメトリクス(例:メモリ使用率など) |
🔧 設定項目の例
設定項目 | 説明 |
---|---|
メトリクスの種類 | CPU利用率やALBのリクエスト数など |
ターゲット値 | 例:CPU使用率 60% を維持したい |
クールダウン時間(推奨設定) | スケーリング直後の安定期間を指定 |
🔁 自動調整の仕組み
たとえば、以下のようなポリシーを設定したとします:
- ターゲット:CPU使用率 60%
- 現在:インスタンス数 2台で CPU使用率が 80%
この場合、CloudWatch のアラームがトリガーされてスケールアウトされ、
例えば 3台に増えることで CPU負荷が分散 → 60% 付近に近づきます。
📈 比較:他のスケーリングポリシーとの違い
ポリシー名 | 特徴 |
---|---|
ターゲットトラッキング | 目標を維持する(自動制御) |
ステップスケーリング | 閾値超過の「幅」に応じてスケール幅を手動設定 |
シンプルスケーリング | アラームを条件に一定数だけ増減 |
→ 通常は「ターゲットトラッキング」が最も簡単で精度も良いため 推奨 されています。
🛠️ 設定例(AWS CLI)
aws autoscaling put-scaling-policy \
--policy-name keep-cpu-60 \
--auto-scaling-group-name my-asg \
--policy-type TargetTrackingScaling \
--target-tracking-configuration file://config.json
config.json
の例:
{
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 60.0,
"DisableScaleIn": false
}
✅ メリット
- 設定が簡単(メトリクスと目標値を決めるだけ)
- 過剰なスケーリングを防止
- 需要に自動で追従しやすい(コスト最適化)
✅ まとめ
項目 | 内容 |
---|---|
概要 | メトリクスのターゲット値に自動調整 |
主な用途 | CPU使用率、リクエスト数などの自動負荷分散 |
推奨度 | 高(他のスケーリング方式より使いやすい) |