Amazon EC2 Auto Scaling をどの様なスケーリング設定から始めればよいか解りません。お勧めの設定方法を教えてください。

2023.11.11

困っていること

弊社では Amazon EC2 Auto Scaling を利用して、EC2 インスタンスを自動的に作成または終了してアプリケーションの負荷を処理するようにしたいと考えています。
適切な数の Amazon EC2 インスタンスを確保するために、どの様なスケーリング設定をすれば解りません。
お勧めの設定方法があれば教えてください。

どう対応すればいいの?

所属する会社の運用方針次第であることは前提ですが、ターゲット追跡スケーリング予測スケーリング の組み合わせから開始されることご検討ください。
実際の負荷に対して、準備された適切なキャパシティー管理が可能です。

参考情報

ターゲット追跡スケーリング

例えば、アプリケーションの負荷が変化しても Auto Scaling グループの CPU 使用率を約 50% に維持する必要がある場合などに有用です。 1 つのメトリクスまたは、カスタムメトリクスに対し⽬標値を指定するのみで良いため簡単です。

ターゲット追跡スケーリングポリシーを作成するには、Amazon CloudWatch メトリクスと、アプリケーションの理想的な平均使用率またはスループットレベルを表すターゲット値を指定します。Amazon EC2 Auto Scaling は、ピークトラフィックに対応するためにグループをスケールアウト (インスタンスを追加) し、グループをスケールインして (実行するインスタンス数を減らして)、使用率またはスループットが低い期間にコストを削減します。

予測スケーリング

予測スケーリングは、機械学習を使用して CloudWatch からのデータに基づき 2 週間分のメトリクスを分析を行い 次の 48 時間の時間ごとの需要を予測します。その予測データに基づいてキャパシティの増減がスケジュールされる仕組みです。なお、最短で24 時間分のメトリクスデータから始められます。

予測スケーリングは、機械学習を使用して CloudWatch からの履歴データに基づいてキャパシティー要件を予測します。機械学習アルゴリズムは、使用可能な履歴データを使用して、履歴負荷パターンに最も適したキャパシティーを計算します。そして、新しいデータに基づいて継続的に学習して、将来の予測をより正確にします。

予測スケーリングを使用するには、まず、メトリクスとターゲット使用率のペアを使用してスケーリングポリシーを作成します。24 時間以上の履歴データがある場合は、ポリシーを作成した直後に予測の作成が開始されます。予測スケーリングは、過去 14 日間の CloudWatch メトリクスデータのパターンを検出して、次の 48 時間の時間ごとの予測を作成します。予測データは、最新の CloudWatch メトリクスデータに基づいて 6 時間ごとに更新されます。

参考資料