Webアプリを作成して、EC2インスタンスで構築して運用しています。通常時は2台のEC2インスタンスで運用して可用性を高めています。 通常時のCPU使用率は60%で、CPUの使用率が80%を超えると、パフォーマンスが低下することが分かっています。この週末にキャンペーンを実施するために、通常より急激なアクセス増が予想されます。この場合、どのような対策が最適でしょうか。

  1. 予めEC2インスタンスの数を増やしたり、インスタンスタイプを上げておく。
  2. Auto Scaringグループを作成し、スケジュールドされたスケーリング設定で土曜日、日曜日にインスタンスの数が増えるように設定しておく。
  3. Auto Scaringグループを作成し、ターゲット追跡スケーリング設定でCPU使用率を60%にする。
  4. Auto Scaringグループを作成し、予測スケーリングを設定する。
解答

正解は3番です。

EC2インスタンスの数を自動でスケールイン、スケールアウトしてくれる機能としてAuto Scalingがあります。
一般的な構成を下記に記載します。

Auto Scaringでは5種類のスケーリング設定があります。

  • 固定数のインスタンスを維持する
  • スケジュールに基づくスケーリング
  • ターゲット追跡スケーリング
  • ステップスケーリング
  • 予測スケーリング

1番は負荷が上がっていない状態でもインスタンスが常に稼働している状態なので、コストがかかります。
2番は毎週末必ずアクセスが増えるようであれば有効ですが、そうでない場合は無駄にコストがかかってしまいます。
4番は過去の実績値を元に予測するため、定期的に負荷が上るワークロードには有効ですが、今回は一時的に負荷が増えるので、最適とは言えません。

私もこのオンライン学習で学びました!

IT資格の人気オンラインコース