🚀 スケーラビリティの設計原理

【スケーラビリティの役割(設計のベストプラクティス)】

目次

🔍 1. 結論

💎 一言でいうと スケーラビリティは 需要に応じてリソースを動的に増減させる能力 であり、AWS設計原理 「キャパシティの予測を排除する(Stop guessing capacity)」 の核心です。必要な時に必要な分だけリソースを確保することで、パフォーマンス維持とコスト最適化を両立します。

  • 水平スケーリング(Scale-out) と ステートレス設計 の組み合わせが SAA の正解パターン
  • Auto Scaling + ELB がセットで出題される
  • 問題文に「急激なスパイク」「予測困難な負荷」が出たら → スケーラビリティ関連を疑う

📈 2. SAAで出やすいポイント

  • 水平スケーリング(Scale-out/In) = インスタンスの 台数 を増減
    • ✅ 無制限に近い拡張性、高可用性
    • ⚠️ ステートレス設計が前提
  • 垂直スケーリング(Scale-up/Down) = インスタンスの スペック を変更
    • ❌ 拡張に限界があり、変更時にダウンタイムが発生しやすい
  • ステートレス設計: セッション情報を ElastiCache や DynamoDB に外出しし、どのサーバーでも同じ応答を返せるようにする
graph LR
    subgraph "⬆️ 垂直スケーリング"
        V1["🖥️ t3.micro"] -->|スペック増強| V2["🖥️ m5.xlarge"]
    end
    subgraph "➡️ 水平スケーリング(推奨)"
        H1["🖥️ 1台"] --> H2["🖥️🖥️🖥️ 3台"]
        H2 --> H3["🖥️×5台..."]
    end
    style V2 fill:#f96,stroke:#333
    style H2 fill:#6cf,stroke:#333
    style H3 fill:#6cf,stroke:#333

🗝 3. キーワードでの判断

問題文のキーワード 疑うサービス・構成
⚡ 「急激なスパイク」「トラフィック急増」 Auto Scaling, CloudFront
💰 「コスト効率よくスケーリング」 Auto Scaling(不要時は台数削減)
🧱 「ダウンタイムなしで拡張」 水平スケーリング + ELB
🔄 「セッション維持」 ElastiCache / DynamoDB(セッション外出し)

⚠️ 4. ひっかけポイント

🚫 よくある誤答パターン – 「最強のインスタンスに変更する」 → 垂直スケーリングは SAA では基本的に 不正解。水平を探す。 – DBがボトルネック: Web層だけスケールしても DB が限界になる → リードレプリカ or Aurora Serverless。


💡 5. 覚え方

🧠 暗記ショートカット – 水平 = 「友達を増やす」 → 台数増加。高可用性。 – 垂直 = 「筋トレする」 → 一人でデカくなるが限界あり、着替え(再起動)が必要。 – 正解パターン = 「Auto Scaling + ELB + ステートレス」。


📚 6. 関連サービス

アイコン サービス名 役割
⚖️ ELB 増えたサーバーへ負荷を均等に配布
📈 Auto Scaling メトリクスを見て自動で台数を調整
⚡ Lambda リクエストに応じて自動でスケール

🗒️ 7. Obsidian管理メモ

  • 見返すタイミング: Auto Scaling の学習時
  • 関連ノート候補: AWS_SAA_Auto_Scaling, AWS_SAA_ELB, AWS_SAA_Stateless

8. HTMLファイル名: AWS_設計原理_スケーラビリティ.html

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次