Q18 — AWS SAA-C03 第8章
第 18/65 問 | ← 第8章
Q513. あるトランザクション処理会社では、Amazon EC2インスタンスで実行される週次のスクリプト付きバッチジョブを実施しています。これらのEC2インスタンスはAuto Scalingグループ内に配置されています。トランザクション数は変動しますが、各実行時のベースラインCPU使用率は最低でも60%です。同社は、バッチジョブの開始30分前に必要な容量をあらかじめ確保する必要があります。現在、エンジニアはこの作業を手動でAuto Scalingグループのパラメータを変更して行っています。また、Auto Scalingグループのインスタンス数に関する容量トレンドを分析するためのリソースがありません。同社は、Auto Scalingグループの「希望容量(desired capacity)」を自動的に変更する仕組みを必要としています。 この要件を満たす解決策のうち、運用オーバーヘッドが最も少ないものはどれですか?
- A. Auto Scalingグループに対して動的スケーリングポリシーを作成します。このポリシーをCPU使用率メトリクスに基づいてスケールするように設定し、メトリクスのターゲット値を60%に設定します。
- B. Auto Scalingグループに対してスケジュールスケーリングポリシーを作成します。適切な希望容量、最小容量、および最大容量を設定し、実行頻度を週1回に設定します。開始時刻をバッチジョブ実行の30分前に設定します。
- C. Auto Scalingグループに対して予測スケーリングポリシーを作成します。このポリシーを予測に基づいてスケールするように設定し、スケーリングメトリクスをCPU使用率に指定します。メトリクスのターゲット値を60%に設定します。また、ポリシー内で、ジョブ実行の30分前にインスタンスを事前起動するよう設定します。 ✓
- D. CPU使用率メトリクスが60%に達した際にAWS Lambda関数を呼び出すようAmazon EventBridgeイベントを作成します。Lambda関数を設定して、Auto Scalingグループの希望容量および最大容量を20%増加させます。
正解: C. Auto Scalingグループに対して予測スケーリングポリシーを作成します。このポリシーを予測に基づいてスケールするように設定し、スケーリングメトリクスをCPU使用率に指定します。メトリクスのターゲット値を60%に設定します。また、ポリシー内で、ジョブ実行の30分前にインスタンスを事前起動するよう設定します。
解説
要件には「ジョブ実行の30分前に容量を確保する」「手動操作を排除し、自動化する」「容量トレンドの分析リソースがない」という点が明記されています。動的スケーリング(A)はリアルタイムの負荷に応じて反応するため、事前に容量を確保できません。予測スケーリング(C)は過去の履歴データに基づく予測を必要とし、トレンド分析リソースがないという制約に反します。EventBridge+Lambda(D)はCPU使用率が60%に達した時点でトリガーされるため、事前確保ではなく、すでに負荷が発生した後の対応となり、要件(30分前の事前確保)を満たしません。一方、スケジュールスケーリング(B)は、固定の日時(例:毎週月曜午前2時30分)に事前に定義した容量へ自動でスケールできるため、手動操作不要・分析不要・事前確保のすべてを満たし、運用オーバーヘッドが最も低くなります。