Q29 — AWS SAA-C03 第15章
第 29/100 問 | ← 第15章
Q1129. ある企業がAWS上でパブリックなWebアプリケーションをホストしています。このWebサイトは3層アーキテクチャで構成されています。フロントエンドのWeb層は、Auto Scalingグループ内のAmazon EC2インスタンスで構成されています。アプリケーション層は、別のAuto Scalingグループで構成されています。データベース層はAmazon RDSデータベースです。企業は、Auto Scalingグループをアプリケーションの通常の需要レベルに対応するように設定しています。しかし、予期せぬ需要の急増時に、フロントエンド層およびアプリケーション層のスケールアウトにおける起動時間が非常に長くなることに気づきました。企業は、ユーザー体験を損なうことなく、アプリケーションのスケーリング性能を向上させる必要があります。これらの要件を最もコスト効率よく満たす解決策はどれですか?
- A. 両方のAuto Scalingグループについて、EC2インスタンスの最小数を減らします。また、ピーク需要に対応するために必要な数に、希望数(desired capacity)を増加させます。
- B. 両方のAuto Scalingグループについて、最大インスタンス数をピーク需要に対応できる数に設定し、ウォームプール(warm pool)を作成します。 ✓
- C. 両方のAuto Scalingグループについて、EC2インスタンスの最大数を通常の需要に対応できる数に増加させ、ウォームプールを作成します。
- D. 両方のAuto Scalingグループを、スケジュールに基づくスケーリングポリシーを使用するように再設定します。また、EC2インスタンスタイプおよびRDSインスタンスタイプのサイズを大きくします。
正解: B. 両方のAuto Scalingグループについて、最大インスタンス数をピーク需要に対応できる数に設定し、ウォームプール(warm pool)を作成します。
解説
予期せぬ需要の急増時におけるアプリケーションのスケーリング性能を向上させ、かつユーザー体験への悪影響を避けつつ、最もコスト効率の良い解決策は、選択肢Bです。すなわち、「両方のAuto Scalingグループについて、最大インスタンス数をピーク需要に対応できる数に設定し、ウォームプールを作成する」ことです。 解説: ・ウォームプール(Warm Pool):事前に初期化済みのEC2インスタンスを一定数保持することで、新規インスタンスの起動からアプリケーションの利用可能状態になるまでの待ち時間を大幅に短縮できます。これは、予期せぬ需要の急増時に即座にスケールアウトを実行する上で極めて重要です。 ・最大インスタンス数の設定:ピーク需要に対応可能な数を最大値として設定することで、需要増加時にAuto Scalingが即座に追加インスタンスを起動(またはウォームプールから取得)でき、完全な初期化待ちを回避できます。 他の選択肢が不適切な理由: A:最小インスタンス数を減らすと、ピーク時の容量不足リスクが高まり、遅延やサービス品質低下を招き、ユーザー体験を損なう可能性があります。 C:最大インスタンス数を「通常の需要」に対応できる数に増やしても、ピーク需要を超えた場合、ウォームプール内の準備済みインスタンスが不足し、依然として起動遅延が発生します。 D:スケジュールによるスケーリングは、予期せぬ需要変動には対応できません。また、インスタンスタイプの大型化はコスト増加を招き、レスポンス改善という目的に対して非効率です。 したがって、選択肢Bが、アプリケーションのスケーリング性能を最も効果的かつコスト効率よく向上させる解決策です。