Q71 — AWS DOP-C02 第3章

第 71/100 問 | ← 第3章

ある企業が、Auto Scalingグループ内のAmazon EC2インスタンス上で実行されるアプリケーションを保有しています。このアプリケーションは、Amazon Simple Queue Service (SQS)キューからメッセージを処理します。 開発エンジニアは、アプリケーションがSQSキューから一連のメッセージを処理するのに数分かかると観測しました。メッセージ処理中のAuto Scalingグループの平均CPU利用率は、ターゲット追跡スケーリングポリシーのしきい値を超えています。SQSキューを処理するアプリケーションは、Amazon CloudWatch Logsにログを出力します。 開発エンジニアは、キューが迅速に処理されるようにする必要があります。 これらの要件を満たすために最小限の操作オーバーヘッドで実現可能なソリューションはどれですか?

正解: C. Auto Scalingグループに対してターゲット追跡スケーリングポリシーを作成します。このポリシーで、SQSキューのApproximateNumberOfMessagesVisible属性およびAuto Scalingグループのインスタンス数を用い、CloudWatchのメトリクス数学(例:メッセージ総数 ÷ インスタンス数)により各インスタンスあたりのキュー内のメッセージ数を計算します。この計算された値をスケーリングの基準とします。

解説

本問は、SQSキューのメッセージを迅速に処理するためにAuto Scalingグループを最適化するAWS環境下のシナリオを扱っています。AWSドキュメントによると、ターゲット追跡スケーリングポリシーは、カスタムメトリクスまたはサービスメトリクスに基づいてインスタンス数を調整できます。選択肢Cは、SQSのApproximateNumberOfMessagesVisibleと現在のインスタンス数を用い、CloudWatchのメトリクス数学(メッセージ総数 ÷ インスタンス数)により各インスタンスの負荷を計算し、これを直接スケーリングの基準としています。追加のコンポーネント(Lambda関数やログサブスクリプションなど)を必要とせず、既存の属性とメトリクス数学のみで実現可能です。他の選択肢は、カスタムコードや複雑なフローを必要とし、選択肢Cより操作オーバーヘッドが大きくなります。