AWSのAmazon EC2 Auto Scalingを使うと、トラフィックの変動に合わせてインスタンス(仮想サーバー)の数を自動で増減できます。これにより、パフォーマンスを維持しつつ、コストを最適化できるのが大きなメリットです。
スケーリングポリシーという、インスタンスの数をどう増減させるかを制御するルールについて、初心者向けにまとめみた
スケーリングポリシーとは?
スケーリングポリシーは、Auto Scalingグループ内のインスタンス数を自動で増減させるための設定です。適切なスケーリングポリシーを使うことで、トラフィックが増えてもシステムが対応できるようにし、不要なリソースを減らしてコストを抑えることができます。
スケーリングポリシーの種類
1. 手動スケーリング
• 概要: 手動でインスタンス数を増やしたり減らしたりします。
• 特徴: 自分で設定するので、細かいコントロールが可能ですが、トラフィックの急な変動には対応できません。
• 使う場面: 一時的に増減させたい場合や、事前にトラフィックを予測できる場合に便利です。
2. シンプルスケーリングポリシー
• 概要: 1つのトリガー(例:CPU使用率が70%を超えたら)に基づいて、インスタンスを増減します。
• 特徴: 簡単に設定できますが、短期間でのトラフィック変動には対応しにくいです(クールダウン期間という待機時間があるため)。
• 使う場面: 定期的にトラフィックが変動するような場合に向いています。
3. ステップスケーリングポリシー
• 概要: メトリクス(例:CPU使用率)に応じて、段階的にインスタンス数を増減します。
• 特徴: トラフィックの変動に合わせて細かく対応でき、複数の条件を設定可能です。
• 使う場面: トラフィックの変動が予測しづらい場合や、より細かい調整が必要な場合に役立ちます。
4. ターゲット追跡スケーリングポリシー
• 概要: 指定したターゲット(目標)を維持するようにインスタンス数を自動調整します。例えば、「平均CPU使用率を50%に保つ」と設定します。
• 特徴: 自動で最適なインスタンス数を調整してくれるため、最も簡単で効果的です。また、クールダウン期間がないのも便利です。
• 使う場面: 初心者には一番おすすめのポリシーで、システム負荷に合わせて自動的にインスタンスを調整したい場合に最適です。
5. スケジュールスケーリングポリシー
• 概要: 特定の日時にインスタンス数を増減します。例えば、朝8時にインスタンスを5台に増やし、夜8時に3台に減らす、といった設定が可能です。
• 特徴: 予測できるトラフィックの変動に対して、事前にスケジュールを組むことができます。
• 使う場面: 業務時間に合わせてインスタンスを増減させたり、季節的なトラフィック変動に対応する場合に使います。
スケーリングポリシーの比較表まとめ
1 | 2 | 3 | 4 |
---|---|---|---|
ポリシータイプ | 特徴 | メリット | デメリット |
手動スケーリング | 手動でインスタンス数を変更 | 簡単で直接制御できる | 自動化されていない |
シンプルスケーリング | 単一のトリガーに基づいて増減 | 設定が簡単 | クールダウン期間が必要 |
ステップスケーリング | 段階的にスケーリング | 柔軟なトラフィック変動に対応可能 | 設定がやや複雑 |
ターゲット追跡スケーリング | 目標値に応じて自動調整 | 最も自動化され、クールダウン不要 | 設定した目標値が適切である必要 |
スケジュールスケーリング | 事前に設定したスケジュールで増減 | 定期的なトラフィックに対応可能 | 突発的なトラフィックには対応不可 |