Auto Scalingの設計 スケーリングポリシーの選び方とヘルスチェック・ウォームプールの活用
SAA-C03を目指す方向けに、EC2 Auto Scalingをどう設計するかを解説します。試験では「負荷に応じて増減させる」だけでなく、負荷の変化パターン・起動にかかる時間・コストという要件からポリシーの種類や補助機能を選ぶ力が問われます。
覚え方:3つの問いで決める
設計は「いつ増やすか(ポリシー)」「壊れたらどう替えるか(ヘルスチェック)」「起動の遅さをどう隠すか(ウォームプールとライフサイクル)」の3つの問いに答える形で整理できます。
いつ増やすか:4つのスケーリングポリシー
ターゲット追跡は「平均CPU使用率を50パーセントに保つ」のように目標値を指定するだけで増減し、最も推奨される方式です。ステップスケーリングはアラームの超過幅に応じて増やす台数を変え、急激なスパイクに大きく反応させたいときに使います。スケジュールは「平日9時に10台へ」のように時刻が分かっている負荷向け、予測スケーリングは過去の履歴を機械学習で学習して事前に増やす方式で、毎日同じパターンで立ち上がる業務システムに向きます。起動に時間がかかるアプリでは予測スケーリングとターゲット追跡を組み合わせるのが定石です。
壊れたらどう替えるか:ヘルスチェック
既定のEC2ヘルスチェックはインスタンスの稼働状態しか見ないため、アプリが応答しなくなっても置き換えられません。ロードバランサーと連携する場合はELBヘルスチェックを有効化し、ターゲットグループの健全性で判断させます。起動直後に異常判定されないよう、ヘルスチェック猶予期間をアプリの起動時間より長く設定します。
起動の遅さをどう隠すか:ウォームプールとライフサイクルフック
初期化に数分かかるアプリでは、ウォームプールに事前初期化済みのインスタンスを停止状態で待機させ、スケールアウト時に秒単位で投入できます。停止中は課金がEBSのみで済みます。ライフサイクルフックは起動時にソフトウェア導入を完了してから稼働に入れたり、終了前にログを退避したりするための待機ポイントです。
| ポリシー | 向く負荷 | ポイント |
|---|---|---|
| ターゲット追跡 | 一般的な変動負荷 | 目標値を指定するだけ、推奨 |
| ステップスケーリング | 急激なスパイク | 超過幅ごとに増減量を変える |
| スケジュール | 時刻が決まった負荷 | 営業時間やバッチに合わせる |
| 予測スケーリング | 周期的な負荷・起動が遅い | 履歴から事前に増やす、ターゲット追跡と併用 |
チェックリスト
- 4つのスケーリングポリシーを負荷パターンに対応づけられる
- ELBヘルスチェックと猶予期間の役割を説明できる
- ウォームプールが解決する課題とコストの特徴を説明できる
- ライフサイクルフックの起動時・終了時の用途を挙げられる
- クールダウン・終了ポリシー・最小最大希望容量の意味を理解している
まとめ
Auto Scalingは「いつ増やすか・どう替えるか・遅さをどう隠すか」の3つの問いで設計します。問題文の「周期的」「スパイク」「起動に数分」「アプリ障害」という手がかりから、ポリシーと補助機能を選びましょう。
クイズで理解度を確かめ、最新の出題範囲はAWS認定 公式ページで確認しておきましょう。
SAA(ソリューションアーキテクト アソシエイト) におすすめの教材
徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応
AWS認定ソリューションアーキテクト−アソシエイト問題集
これだけでOK! AWS認定SAA(SAA-C03)試験突破講座
AWS認定SAA 本番模試(6回分/390問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。