〜定期ピーク+突発スパイクに対応するAuto Scaling設計〜
AWS SAA(Solutions Architect – Associate)で非常によく出題される
Auto Scaling 設計の王道パターン問題です。
問題文はやたらと長い文章が書かれていますが、今回のポイントは、
「決まった時間に必ず高負荷」
「それ以外にも突発的なスパイクがある」
という 2種類の負荷特性をどう扱うか です。
早速問題を見ていきましょう
【問題】
ある会社は、大規模なEコマースアプリケーションをオンプレミス環境で運用しています。このサイトにはピーク時に数万人のユーザーがアクセスするため、数10万単位のトランザクション処理が必要となります。こうした負荷増大に対応するため、同社はAmazon EC2インスタンスにAuto Scalingを利用したAWSアーキテクチャにEコマースアプリケーションを移行することを決定しました。このEコマースアプリケーションは毎週金曜日13時~18時の時間帯に高負荷になるため、既存のインスタンスでは処理がスパイクしてしまいます。また、それ以外の時間帯でも不定期に負荷が高まることがあります。
あなたはソリューションアーキテクトとして、どのようにスケーリングを構成すれば良いでしょうか。
選択肢
- ステップスケーリングポリシーにおいて、スケジュールされたスケーリングと、CPU使用率の負荷情報に基づいた2つのスケーリングを組み合わせて、AutoScalingグループを設定する。EC2インスタンスをAuto Scalingグループにアタッチする。
- スケジュールされたスケーリングポリシーとターゲット追跡スケーリングポリシーを使用して、AutoScalingグループを設定する。EC2インスタンスをAuto Scalingグループにアタッチする。
- スケジュールされたスケーリングポリシーとターゲット追跡スケーリングポリシーを使用して、AutoScalingグループを設定する。EC2インスタンスが設定されたELBターゲットグループをAuto Scalingグループにアタッチする。
- ステップスケーリングポリシーにおいて、スケジュールされたスケーリングと、CPU使用率の負荷情報に基づいた2つのスケーリングを組み合わせて、AutoScalingグループを設定する。EC2インスタンスが設定されたELBターゲットグループをAuto Scalingグループにアタッチする。
これより先は正解と解説が載っていますのでまずは考えてみましょう。
【正解】
スケジュールされたスケーリングポリシーとターゲット追跡スケーリングポリシーを使用して Auto Scaling グループを設定する。
EC2 インスタンスが登録された ELB ターゲットグループを Auto Scaling グループにアタッチする。
構成図
ユーザー
│
▼
Application Load Balancer
│
┌───────┴────────┐
▼ ▼
EC2 Instance EC2 Instance
▲ ▲
└──── Auto Scaling Group ────┘
├─ Scheduled Scaling(定期)
└─ Target Tracking(動的)
なぜこの構成が正解なのか?
この問題は 負荷の種類を分解できるか がすべてです。
① 毎週金曜日 13:00〜18:00 の高負荷
👉 確実に発生する・時間が決まっている
この条件なら、迷わず スケジュールされたスケーリング です。
ポイント
・ピーク開始「前」にスケールアウト
・ウォームアップ不足によるスパイクを防止
・試験では「事前に増やす」が重要
② 不定期に発生する突発スパイク
👉 いつ起こるか分からない
ここで使うのが ターゲット追跡スケーリング です。
Target Tracking の特徴
・「CPU 平均 50% を維持」など目標値を指定
・Auto Scaling が自動調整
・AWS が 最も推奨 している方式
なぜ Step Scaling ではないのか?
ここが引っかけポイントです。
Step Scaling の性質
・CloudWatch アラームが前提
・増減幅を段階的に手動定義
・チューニングが必要
👉 問題文にそこまでの制御要件は書かれていない
試験では常に:最もシンプルで、AWS が推奨する方法が正解になります。
さらに重要:ELB ターゲットグループ
❌ EC2 を直接 ASG にアタッチ
- これは誤り
✅ ELB ターゲットグループを ASG に関連付け
・Auto Scaling で増減した EC2 を自動登録
・E コマース構成では必須
❌ なぜ他の選択肢は不正解?
❌ Step Scaling + スケジュールを「組み合わせる」表現
・Step Scaling は 動的スケーリングの一方式
・スケジュールと内包関係にするのは誤り
・AWS 用語の粒度がズレている
❌ EC2 を Auto Scaling グループに直接アタッチ
・正しくは ELB ターゲットグループ
・ここは SAA で頻出のミス誘導
🎯 試験での見抜き方(超重要)
問題文に以下が出たら即反応してください。
| 問題文の表現 | 選ぶスケーリング |
|---|---|
| 毎週 / 毎日 / 決まった時間 | Scheduled Scaling |
| 不定期 / 突発 / スパイク | Target Tracking |
| Web / E コマース | ELB + ASG |
👉 Scheduled + Target Tracking のセット
📌 まとめ
| 要件 | 解決策 |
|---|---|
| 定期ピーク | スケジュールされたスケーリング |
| 突発スパイク | ターゲット追跡スケーリング |
| 負荷分散 | ELB ターゲットグループ |
| 自動拡張 | Auto Scaling Group |
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK