Auto Scalingと信頼性パターン
垂直スケールと水平スケール、起動テンプレート、Auto Scalingグループ、希望・最小・最大キャパシティ、ELBとの連携を整理します。
スケーリングの考え方
負荷が増えたときに性能を上げる方法は大きく二つあります。
- 垂直スケーリング(スケールアップ/ダウン) … 1台のCPU・メモリを大きく/小さくする。インスタンスタイプに上限があり、変更時に再起動や停止が伴うことがある。
- 水平スケーリング(スケールアウト/イン) … 台数を増減する。EC2 Auto Scaling が担うのは主にこちらです。
信頼性の文脈では、複数台に分散して単一インスタンス依存を減らすことと、負荷に応じて台数を合わせることが両方重要です。「アクセスが閾値を超えたら新しい EC2 を追加する」イメージで説明されることが多いです。
設定の流れ(手順のイメージ)
ELB と連携する典型的な順序は次のようなイメージです(試験では順序そのものより、依存関係が問われます)。
- ターゲットグループの作成(ヘルスチェックのプロトコル・パスを決める)。
- 起動テンプレートの作成(AMI、インスタンスタイプ、ユーザデータ、IAM ロール、SG など)。
- Auto Scaling グループの作成 … **どの VPC/サブネット(複数 AZ)**に、最小・希望・最大をいくつにするか、どのターゲットグループに登録するか、どのスケーリングポリシーを使うか。
起動テンプレートと ELB は Auto Scaling より前に用意しておく必要がある、という文脈で問題が出ます。
起動テンプレートと Auto Scaling グループ
- 起動テンプレート(Launch Template) … どの AMI、どのインスタンスタイプ、どのサブネット/セキュリティグループ、どの IAM インスタンスプロファイルで起動するかをテンプレート化します。バージョン管理でき、コンソールからの手動起動と Auto Scaling の両方で再利用できます。起動設定(Launch Configuration) は後方互換のため残っているが、新規は起動テンプレート推奨が定番です。AMI を更新したら新しいテンプレートバージョンを作るか、既定バージョンを更新する運用になります。
- Auto Scaling グループ … どの AZ に最低何台、最大何台まで置くか、どのターゲットグループに登録するか、スケーリングポリシー・終了ポリシー・ヘルスチェック種別を束ねます。
グループサイズ(最小・希望・最大)
- 最小キャパシティ … 負荷が低いときも維持する下限台数。高可用なら2以上にして複数 AZ にまたがせる、というのが教科書的な話です。
- 希望キャパシティ … 現在の目標台数。手動変更やスケーリングで変動します。
- 最大キャパシティ … スケールアウトの上限。コスト暴走防止と、スパイク時の過剰起動防止に効きます。
制約として、希望は最小以上・最大以下です。試験では数値の整合性を取る設問が出ます。
ELB との連携
Auto Scaling で起動したインスタンスを、ELB のターゲットグループに自動登録すると、新しいキャパシティにトラフィックが流れます。
ヘルスチェックの種類の選択が信頼性に直結します。
- EC2 … ハイパーバイザーから見たインスタンスの死活。アプリの異常は検知できない場合がある。
- ELB … ターゲットグループのヘルスチェックに基づく。アプリが応答しないケースを拾いやすい。
本番の Web 系では ELB ヘルスチェックを選ぶシナリオが多く出ます。
スケーリングポリシーの種類(概要)
需要に応じて台数を変える主な方法です(詳細は Auto Scaling の詳細 も参照)。
| 方式 | ざっくりした役割 |
|---|---|
| ターゲット追跡 | メトリクスが目標値に近づくよう台数を調整(運用でよく使う) |
| ステップスケーリング | しきい値を超えた幅に応じて段階的に台数変更 |
| シンプルスケーリング | アラーム発火に応じた単純な増減(名称とコンソール表記は世代で変わりうる) |
| スケジュール | 決まった日時に希望キャパシティを変更 |
| 手動 | 希望キャパシティを直接変更 |
複数のポリシーを併用できます(例: 朝にスケジュールで足し、日中はターゲット追跡)。
終了ポリシー
スケールイン時にどのインスタンスを止めるかは 終了ポリシーで制御します。既定では AZ 間の偏りを減らす・古い起動テンプレートのインスタンスを優先などのロジックが使われます。試験では「可用性を落とさずにスケールインしたい」文脈で選択肢が出ます。
基本アーキテクチャの一文
ELB で冗長化した EC2 群に Auto Scaling を載せ、負荷に応じて自動拡張する … というのが、信頼性トレーニングで繰り返し描かれるパターンです。
既存トピックとの関係
EC2・ELB・Auto Scaling の一行サマリーは EC2, Auto Scaling, ELB にあります。本ページは信頼性設計の観点から、グループサイズ・テンプレート・ELB 連携を補強する位置づけです。ポリシー詳細・ライフサイクルフックは EC2 Auto Scaling の実務的な要点 を参照してください。
公式ドキュメント(深掘り)
重要ポイント
- ▸EC2 Auto Scalingは水平スケール(台数)が主。垂直スケールは別操作(インスタンスタイプ変更)
- ▸起動テンプレートは推奨。AMI更新時は新バージョン作成やデフォルト版の更新が必要
- ▸最小・希望・最大は相互制約(希望は最小以上・最大以下)
- ▸ELBターゲットグループへの自動登録と、ELBヘルスチェック連携が信頼性の鍵
- ▸動的スケーリングはターゲット追跡・ステップ・スケジュール等を用途で組み合わせ可能
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
この試験ドメイン内で次の学習に進む
同じサービスの関連トピック
EC2 とコンピュート に関連するトピックを続けて確認できます。