Auto Scaling Group
AWS Auto Scaling Groups (ASG) ノート。
Scalability & High Availability
Scalability
Scalability はアプリケーション/システムが調整 によってより大 きな負荷 を処理 できることを意味 する。2 種類 :
- Vertical Scalability: インスタンスサイズを増加 (例 : t2.micro → t2.large)
- Horizontal Scalability (Elasticity): インスタンス数 を増加
High Availability
- 通常 Horizontal Scaling と組 み合 わせ
- 少 なくとも 2 つの AZ でアプリケーションを実行
- データセンター障害 時 の生存 が目標
Summary
| 種類 | 説明 |
|---|---|
| Vertical Scaling | インスタンスサイズを増加 (Scale up/down) |
| Horizontal Scaling | インスタンス数 を増加 (Scale out/in) - ASG, Load Balancer |
| High Availability | 複数 の AZ でインスタンスを実行 - ASG Multi-AZ |
Scalability vs Elasticity vs Agility
| 概念 | 説明 |
|---|---|
| Scalability | ハードウェア強化 (scale up) またはノード追加 (scale out) でより大 きな負荷 に対応 |
| Elasticity | スケーラブルなシステムで、負荷 に応 じた自動 スケーリング。Cloud-friendly: pay-per-use |
| Agility | 新 しい IT リソースがクリック一 つで利用 可能 、数週間 から数分 に短縮 |
Auto Scaling Group
Amazon EC2 インスタンスを自動的 に起動 または終了 し、アプリケーション負荷 を処理 するのに十分 なインスタンス数 を確保 。
Goals
- Scale out (EC2 インスタンス追加 ) で負荷 増加 に対応
- Scale in (EC2 インスタンス削除 ) で負荷 減少 に対応
- 最小 ・最大 マシン数 を確保
- 新 しいインスタンスをロードバランサーに自動 登録
- 異常 なインスタンスを置換
- コスト削減 : 最適 な容量 でのみ実行

With ELB

Scaling Strategies
Manual Scaling
手動 で ASG サイズを調整 。
Dynamic Scaling
Simple / Step Scaling
- CloudWatch アラームがトリガーされた時 (例 : CPU > 70%) → 2 ユニット追加
- CloudWatch アラームがトリガーされた時 (例 : CPU < 30%) → 1 ユニット削除
Target Tracking Scaling
- 平均 ASG CPU を約 40% に維持
Scheduled Scaling
- 既知 の使用 パターンに基 づいてスケーリングを予測
- 例 : 金曜日 17時 に最小 容量 を 10 に増加
Predictive Scaling
履歴 データから負荷 を予測 し、事前 に自動 で容量 を調整 。
