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 種

  1. シンプルスケーリング:単一しきい値で増減(旧式)
  2. ステップスケーリング:複数段階のしきい値で段階的に増減
  3. ターゲット追跡:「CPU 50% 維持」のように目標値を維持(最も推奨
  4. 予測スケーリング:機械学習による事前スケール

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:起動・終了時のカスタムフック

動作の流れ(スケールアウト例)

  1. CloudWatch が CPU 70% 超過を検知
  2. ターゲット追跡ポリシーが「現状で目標未達」と判定
  3. ASG が新規 EC2 を起動(起動テンプレートに基づく)
  4. ヘルスチェック合格 → 「InService」状態へ
  5. ELB に自動登録 → トラフィック分散開始
  6. クールダウン期間(デフォルト 300 秒)待機
  7. 必要なら更にスケールアウト

スケールイン保護

縮小時に「特定インスタンスを落とさない」ために、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 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFAuto Scaling の概念、可用性とコスト最適化
SAAスケーリングポリシー選定、ELB との連携、Multi-AZ 設計
DVALifecycle Hook の活用、起動テンプレート設計
SOAスケーリング動作のトラブルシュート、ヘルスチェック設定