SAA弾力性に優れたアーキテクチャの設計
配送追跡スタートアップが「Amazon SQS → AWS Lambda → Amazon DynamoDB(プロビジョニングモード、WCU=100)」の構成でリアルタイムの荷物ステータス更新を処理している。大型セール期間中に荷物量が通常の 15 倍に急増し、DynamoDB が ProvisionedThroughputExceededException(プロビジョニングされた書き込みスループット上限の超過エラー)を多発させてイベント処理が大量に失敗している。最もコスト効率の高い解決策は?
ADynamoDB のキャパシティモードをオンデマンドに変更する
✓ 正解
オンデマンドキャパシティモードはトラフィックに応じて自動スケーリングし、事前のキャパシティ計画が不要です。セールのような予測困難な急増に最適で、非セール期はリクエスト数に応じた従量課金となりコスト効率が高い。
BDynamoDB の WCU(書き込みキャパシティユニット)を 1500 に固定し、Auto Scaling の最小値・最大値を同値に設定して変動させないようにする
DynamoDB の WCU(書き込みキャパシティユニット)を 1500 に固定し、Auto Scaling の最小値・最大値を同値に設定して変動させないようにする は非セール期に過剰プロビジョニングになりコスト非効率。
CLambda 関数に予約済み同時実行数(Reserved Concurrency)を設定し、DynamoDB への書き込みレートを意図的に制限する
Lambda 関数に予約済み同時実行数(Reserved Concurrency)を設定し、DynamoDB への書き込みレートを意図的に制限する は書き込み速度を落とすだけで遅延が増大し根本解決になりません。
DDynamoDB Accelerator(DAX)をキャッシュレイヤーとして前段に配置する
DynamoDB Accelerator(DAX)をキャッシュレイヤーとして前段に配置する は主に読み取りキャッシュであり書き込みスループット超過には効果がありません。
解説
オンデマンドキャパシティモードはトラフィックに応じて自動スケーリングし、事前のキャパシティ計画が不要です。セールのような予測困難な急増に最適で、非セール期はリクエスト数に応じた従量課金となりコスト効率が高い。
選択肢BのDynamoDB の WCU(書き込みキャパシティユニット)を 1500 に固定し、Auto Scaling の最小値・最大値を同値に設定して変動させないようにする は非セール期に過剰プロビジョニングになりコスト非効率。
選択肢CのLambda 関数に予約済み同時実行数(Reserved Concurrency)を設定し、DynamoDB への書き込みレートを意図的に制限する は書き込み速度を落とすだけで遅延が増大し根本解決になりません。
選択肢DのDynamoDB Accelerator(DAX)をキャッシュレイヤーとして前段に配置する は主に読み取りキャッシュであり書き込みスループット超過には効果がありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →