Q23 — AWS SAA-C03 第6章
第 23/65 問 | ← 第6章
Q388. ある会社が、5台のAmazon EC2インスタンス上でアプリケーションを展開しています。Application Load Balancer(ALB)がターゲットグループを使用してトラフィックをこれらのインスタンスに分散しています。各インスタンスの平均CPU使用率は、大部分の時間で10%未満ですが、時折65%まで急上昇します。ソリューションアーキテクトは、アプリケーションのスケーラビリティを自動化するソリューションを実装する必要があります。このソリューションは、アーキテクチャのコストを最適化するとともに、CPU使用率が急上昇した際に十分なCPUリソースを確保できるようにしなければなりません。これらの要件を満たすソリューションはどれですか?
- A. CPUUtilizationメトリクスが20%未満になったときにALARM状態に移行するAmazon CloudWatchアラームを作成します。このCloudWatchアラームが起動するAWS Lambda関数を作成し、その関数がALBのターゲットグループ内の1台のEC2インスタンスを終了させます。
- B. EC2 Auto Scalingグループを作成します。既存のALBをロードバランサーとして、既存のターゲットグループをターゲットグループとして選択します。ASGAverageCPUUtilizationメトリクスに基づくターゲット追跡スケーリングポリシーを設定し、最小インスタンス数を2、希望容量を3、最大インスタンス数を6、ターゲット値を50%とします。既存のEC2インスタンスをAuto Scalingグループに追加します。 ✓
- C. EC2 Auto Scalingグループを作成します。既存のALBをロードバランサーとして、既存のターゲットグループをターゲットグループとして選択します。最小インスタンス数を2、希望容量を3、最大インスタンス数を6とします。既存のEC2インスタンスをAuto Scalingグループに追加します。
- D. 2つのAmazon CloudWatchアラームを作成します。1つ目のアラームは、平均CPUUtilizationメトリクスが20%未満になったときにALARM状態に移行するよう設定します。2つ目のアラームは、平均CPUUtilizationメトリクスが50%を超えたときにALARM状態に移行するよう設定します。これらのアラームをAmazon Simple Notification Service(Amazon SNS)トピックに通知するよう設定し、メールを送信します。メールを受け取った後、手動で実行中のEC2インスタンス数を増減させます。
正解: B. EC2 Auto Scalingグループを作成します。既存のALBをロードバランサーとして、既存のターゲットグループをターゲットグループとして選択します。ASGAverageCPUUtilizationメトリクスに基づくターゲット追跡スケーリングポリシーを設定し、最小インスタンス数を2、希望容量を3、最大インスタンス数を6、ターゲット値を50%とします。既存のEC2インスタンスをAuto Scalingグループに追加します。
解説
EC2 Auto Scalingグループを作成することで、需要に応じて自動的にインスタンス数を調整でき、スケーラビリティを確保できます。既存のALBをロードバランサーおよびターゲットグループとして選択すれば、トラフィック分散の構成は変更されません。ASGAverageCPUUtilizationメトリクスに基づくターゲット追跡スケーリングポリシーを設定することで、CPU使用率を所望の範囲(この場合50%)に維持できます。最小インスタンス数を2、最大インスタンス数を6と設定すれば、需要に応じた柔軟なスケールアップ/スケールダウンが可能になります。また、EC2インスタンスをAuto Scalingグループに追加することで、それらがスケーリングポリシーによって管理されるようになります。選択肢Aは最適ではありません。CPU使用率が20%未満という条件でEC2インスタンスを終了させるのは、ピーク時のキャパシティ不足を招く可能性があり、突発的な負荷増加への対応が不十分です。選択肢Cは選択肢Bと類似していますが、CPU使用率に基づいて自動的にインスタンス数を調整するためのターゲット追跡スケーリングポリシーが欠けており、自動スケーリング機能が不完全です。選択肢Dは、CloudWatchアラームをトリガーとして手動でインスタンス数を増減させる方法を提案しており、これは自動化されておらず、コスト最適化や迅速なスケーリングを保証できません。