EC2 Auto Scaling とは?自動スケーリングの仕組みと設定パターン
EC2 Auto Scaling は 負荷に応じて EC2 の台数を自動で増減するサービス。最小・最大・希望台数を設定しておけば、CloudWatch メトリクスや時間スケジュールに応じて自動でスケールイン/アウトする。可用性確保(Multi-AZ 分散)とコスト最適化(夜...
需要に応じて EC2 を自動的に増減させ、可用性とコスト効率を両立する仕組み。
1. 概要(端的に)
EC2 Auto Scaling は 負荷に応じて EC2 の台数を自動で増減するサービス。最小・最大・希望台数を設定しておけば、CloudWatch メトリクスや時間スケジュールに応じて自動でスケールイン/アウトする。可用性確保(Multi-AZ 分散)とコスト最適化(夜間縮小)を同時に実現する。
2. 何ができるか
- 動的スケーリング:CPU 使用率などのメトリクスで自動増減
- スケジュールスケーリング:曜日・時間に応じた事前計画スケール
- 予測スケーリング:機械学習で需要を予測し事前にスケール
- ヘルスチェック:異常な EC2 を自動で置き換え
- 複数 AZ 分散:可用性確保のため自動でバランシング
- 混合インスタンスポリシー:オンデマンド + スポットを組み合わせ
- Lifecycle Hook:起動・終了時に独自処理を挟める
スケーリングポリシー 4 種
- シンプルスケーリング:単一しきい値で増減(旧式)
- ステップスケーリング:複数段階のしきい値で段階的に増減
- ターゲット追跡:「CPU 50% 維持」のように目標値を維持(最も推奨)
- 予測スケーリング:機械学習による事前スケール
3. 特徴
| 観点 | 特徴 |
|---|---|
| コスト無料 | サービス自体に料金なし(EC2 課金のみ) |
| 可用性 | 異常インスタンスを自動置換 → 自己修復型 |
| 柔軟性 | 動的・予定・予測の 3 軸で制御 |
| 混合運用 | スポット + オンデマンドの混合可能 |
| ELB 連携 | 新規起動時に自動的に ELB に登録 |
| Multi-AZ | 複数 AZ にまたがって均等配置 |
主要パラメータ
- 起動テンプレート / 起動設定:どんな EC2 を起動するか定義
- 最小台数(min):常に確保する最低数
- 最大台数(max):上限(暴走防止)
- 希望台数(desired):現在ターゲットの台数
- ヘルスチェック:EC2 / ELB ヘルスチェックの組み合わせ
- クールダウン期間:スケール後の安定化待ち時間
4. 仕組み
EC2 Auto Scaling は 「Auto Scaling グループ(ASG)」 という単位で管理する。ASG が EC2 の台数を監視・調整する。
構成要素
- Auto Scaling グループ(ASG):管理単位
- 起動テンプレート:起動する EC2 の仕様(AMI・タイプ・SG・KeyPair 等)
- スケーリングポリシー:増減ルール
- CloudWatch アラーム:トリガーとなるメトリクス
- ロードバランサー(ELB):新規 EC2 が自動登録される
- Lifecycle Hook:起動・終了時のカスタムフック
動作の流れ(スケールアウト例)
- CloudWatch が CPU 70% 超過を検知
- ターゲット追跡ポリシーが「現状で目標未達」と判定
- ASG が新規 EC2 を起動(起動テンプレートに基づく)
- ヘルスチェック合格 → 「InService」状態へ
- ELB に自動登録 → トラフィック分散開始
- クールダウン期間(デフォルト 300 秒)待機
- 必要なら更にスケールアウト
スケールイン保護
縮小時に「特定インスタンスを落とさない」ために、Instance Scale-In Protection を有効化できる。ステートを持つ EC2 を Auto Scaling グループに含める時に必須。
5. ユースケース
ユースケース 1:トラフィック変動が激しい Web サービス
昼ピーク 10 台、夜間 2 台のような大きな変動。ターゲット追跡で「CPU 50%」を維持。
ユースケース 2:定時バッチ処理
平日 9:00-18:00 のみ稼働。スケジュールスケーリングで時間帯指定。
ユースケース 3:イベント時の急増対応
セールやキャンペーンで急増するアクセスに自動追従。
ユースケース 4:コスト最適化のための混合運用
オンデマンド 30% + スポット 70% の混合 ASG で、可用性とコストを両立。
ユースケース 5:ヘルスチェック自動修復
異常インスタンスを自動的に終了 → 新規起動で自動置換。Self-healing インフラの基盤。
6. 関連用語
- EC2 — Auto Scaling の対象サービス
- ELB — Auto Scaling と組み合わせる負荷分散
- CloudWatch — スケーリングのトリガーとなるメトリクス監視
- CloudWatch-Alarms — スケーリングアラーム
- EC2-Spot — 混合運用の構成要素
- Lambda — Lifecycle Hook での処理に活用
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 高 | Auto Scaling の概念、可用性とコスト最適化 |
| SAA | 高 | スケーリングポリシー選定、ELB との連携、Multi-AZ 設計 |
| DVA | 中 | Lifecycle Hook の活用、起動テンプレート設計 |
| SOA | 高 | スケーリング動作のトラブルシュート、ヘルスチェック設定 |