Q8 — AWS SAA-C03 第16章
第 8/100 問 | ← 第16章
Q1208. ある企業が、5台のAmazon EC2インスタンスで実行されるアプリケーションを運用しています。これらのインスタンスはApplication Load Balancer(ALB)の後ろで動作しており、アプリケーションはAmazon Simple Queue Service(Amazon SQS)キューからメッセージを処理します。今後の割引セール期間中、同社では1日あたりの平均ユーザー数の増加が予想されています。ピーク時にはユーザー数が2倍になり、その結果SQSキュー内のメッセージ数も増加します。ソリューションアーキテクトは、ユーザートラフィックの増加を最もコスト効率よく対応するため、何を行うべきでしょうか?
- A. EC2 Auto Scalingグループを作成します。既存のEC2インスタンスをAuto Scalingグループに追加します。ALBのターゲットをAuto Scalingグループに更新します。Auto Scalingグループを、EC2インスタンスの平均CPU使用率に基づいてスケールイン/スケールアウトするように設定します。
- B. SQSキューのキャパシティを2倍にします。メッセージ数の増加に対応するため、さらに5台のEC2インスタンスを追加します。
- C. SQSキューのキャパシティを2倍にします。メッセージ数の増加に対応するため、EC2インスタンスのメモリを2倍にします。
- D. EC2 Auto Scalingグループを作成します。既存のEC2インスタンスをAuto Scalingグループに追加します。ALBのターゲットをAuto Scalingグループに更新します。Auto Scalingグループを、SQSキュー内のメッセージ数に基づいてスケールイン/スケールアウトするように設定します。 ✓
正解: D. EC2 Auto Scalingグループを作成します。既存のEC2インスタンスをAuto Scalingグループに追加します。ALBのターゲットをAuto Scalingグループに更新します。Auto Scalingグループを、SQSキュー内のメッセージ数に基づいてスケールイン/スケールアウトするように設定します。
解説
今後の割引セール期間中のユーザー トラフィック増加に、最もコスト効率よく対応するには、以下のアプローチを採用すべきです: D. EC2 Auto Scalingグループを作成し、既存のEC2インスタンスをそのグループに追加します。ALBのターゲットをAuto Scalingグループに更新し、Auto ScalingグループをSQSキュー内のメッセージ数に基づいてスケールイン/スケールアウトするよう設定します。 分析: ・EC2 Auto Scalingグループ: ・スケーラビリティ:Auto Scalingグループを導入することで、需要に応じてEC2インスタンス数を自動的に調整できます。これにより、ピーク時のトラフィック増加にも手動介入なしで対応可能です。 ・コスト効率性:Auto Scalingにより、実際に使用されるコンピューティングリソースのみに対して課金されるため、オフピーク時にはインスタンス数を縮小でき、コスト削減が実現できます。 ・既存EC2インスタンスのAuto Scalingグループへの追加: ・既存リソースの活用:既存のEC2インスタンスをAuto Scalingグループに組み込むことで、新たなインスタンスを前もって購入する必要がなく、既存インフラを有効活用できます。 ・ALBのターゲットをAuto Scalingグループに更新: ・ロードバランシング:ALBのターゲットをAuto Scalingグループに設定することで、ALBはグループ内のすべてのアクティブなインスタンスにトラフィックを均等に分散させ、高可用性とパフォーマンス向上を実現します。 ・SQSキュー内のメッセージ数に基づくスケーリング: ・直接的なスケーリングトリガー:Auto ScalingグループをSQSキュー内のメッセージ数に基づいてスケールさせる設定は、ワークロードに直接比例したインスタンス数の調整を可能にします。これは、CPU使用率に基づくスケーリングよりも効率的であり、トラフィック増加の根本原因(キュー内のメッセージ数増加)に直接対応できます。 他の選択肢が不適切な理由: A. 平均CPU使用率に基づくスケーリング: ・間接的なスケーリングトリガー:本シナリオでは、トラフィック増加の主因はSQSキュー内のメッセージ数であり、必ずしもEC2インスタンスのCPU負荷ではありません。CPU使用率に基づくスケーリングは、過剰または不足したリソース配分を招く可能性があります。 B. SQSキューのキャパシティを2倍にし、さらにEC2インスタンスを5台追加: ・手動介入が必要:インスタンスの追加は手動操作を要し、Auto Scalingのような動的なワークロード対応ができないため、効率性・コスト効率性ともに劣ります。 C. SQSキューのキャパシティを2倍にし、EC2インスタンスのメモリを2倍にする: ・非効率なリソース利用:ボトルネックがメモリでない場合、メモリの増強は不要かつコスト効率が悪くなります。また、この方法はワークロード変化に自動で対応できないスケーラブルな解決策ではありません。