導入
深夜はアクセスが少なく、日中はピークになる。常に最大構成で待機するのはコストの無駄です。需要に合わせてEC2の台数を自動で増減させるのがAuto Scalingです。
説明
EC2 Auto Scaling は、起動テンプレート(Launch Template) に定義したインスタンス構成をもとに、需要に応じてEC2の台数を自動で調整する仕組みです。スケーリング方法には複数の種類があります。
| スケーリング方法 | 仕組み |
|---|---|
| 動的スケーリング(ターゲット追跡) | CPU使用率など指標を目標値に保つよう自動調整 |
| 動的スケーリング(ステップスケーリング) | 閾値超過の度合いに応じて段階的に増減 |
| 予測スケーリング(Predictive Scaling) | 過去のトラフィックパターンを機械学習で予測し先回りして調整 |
| スケジュールスケーリング | 「毎朝9時に増やす」など時刻ベースで調整 |
sequenceDiagram
participant CW as CloudWatch
participant AS as Auto Scaling
participant ELB as ELB
CW->>AS: CPU使用率が閾値超え
AS->>AS: 新しいEC2を起動
AS->>ELB: 新インスタンスを登録
ELB->>ELB: ヘルスチェック後にトラフィック分散
Auto ScalingはELBのヘルスチェックと連携し、異常なインスタンスを検知すると自動的に終了させ、正常なインスタンスに置き換えます。これにより「障害が起きたら誰かが手動で直す」ではなく「システムが自分で治す」= 自己修復(self-healing) と 疎結合 を実現します。これは信頼性の柱の中核です。
読んでみよう
「需要変動に自動対応」「障害時に自動で置き換え」「無駄なコストを削減」という3つのキーワードが揃ったら、まずAuto Scalingを検討してください。SAAでは「Auto Scaling + ELB + Multi-AZ」がセットで正解になるパターンが非常に多いです。