Q80 — AWS SAA-C03 第10章

第 80/100 問 | ← 第10章

Q680. ある企業では、マーケティングイベント中に、メッセージキューに絶えず増加する多数のメッセージを処理するために、高並行性の AWS Lambda 関数が使用されています。これらの Lambda 関数は、CPU を多用するコードでメッセージを処理します。同社は、コンピューティングコストを削減しつつ、顧客に対するサービス遅延を維持したいと考えています。これらの要件を満たす解決策はどれですか?

正解: B. Lambda 関数に対して予約済み同時実行数(reserved concurrency)を設定し、AWS Compute Optimizer の推奨に従ってメモリ量を増加させます。

解説

高並行性の AWS Lambda 関数を用いて、増加し続けるメッセージキュー内のメッセージを CPU を多用するコードで処理する状況において、コンピューティングコストを削減しつつ顧客へのサービス遅延を維持するには、選択肢 B(Lambda 関数に対して予約済み同時実行数を設定し、AWS Compute Optimizer の推奨に従ってメモリ量を増加させる)が最も適した解決策です。AWS Lambda には、コストとパフォーマンスを最適化する上で重要な2つの機能があります:予約済み同時実行数(reserved concurrency)とメモリ割り当て。\1. Lambda 関数に対して予約済み同時実行数を設定する:これは、関数の同時実行数の上限を制限する機能です。これにより、意図しない過剰な同時実行を防ぎ、コスト管理およびリソース枯渇の防止が可能になります。必要な並列度や利用可能なリソースに基づいて、適切な予約済み同時実行数を設定できます。\2. AWS Compute Optimizer の推奨に従ってメモリ量を増加させる:AWS Compute Optimizer は、Lambda 関数の過去のリソース使用状況を分析し、パフォーマンスとコストの両面で最適化されたメモリ割り当てを推奨します。CPU を多用する処理では、メモリ量を増やすことで処理速度が向上し、結果としてサービス遅延の維持に寄与します。この2つの施策を組み合わせることで、予約済み同時実行数による並行度制御でコストを抑制し、Compute Optimizer 推奨に基づくメモリ増加でパフォーマンスを最適化できます。他の選択肢は、要件を満たすには不適切です:A はメモリ量を減らすため、CPU を多用する処理のパフォーマンス低下を招き得ます。C はプロビジョニング済み同時実行数を導入しつつメモリを減らすもので、冷開始遅延対策にはなるものの、パフォーマンスを損なう可能性があります。D はプロビジョニング済み同時実行数と Compute Optimizer 推奨メモリ増加の組み合わせですが、プロビジョニング済み同時実行数は主に冷開始遅延低減を目的としており、今回のコスト削減とサービス遅延維持という要件には、予約済み同時実行数の方がより直接的に適合します。よって、正解は B です。