無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

DynamoDBテーブル(PROVISIONEDモード、WCU=1000に設定)で、特定の時間帯にProvisionedThroughputExceededExceptionが頻発している。CloudWatchで確認すると、テーブル全体のConsumedWriteCapacityUnits(消費済み書き込みキャパシティユニット)は平均250程度であるにもかかわらず、エラーが発生し続けている。最も可能性の高い原因はどれか?

A
テーブル全体のWCUプロビジョニング量が不足している
テーブル全体のWCUに余裕があるため総プロビジョニング不足は否定されます。
B
特定のパーティションキーに書き込みが集中するホットパーティション問題が発生している
✓ 正解
テーブル全体のConsumedWCUは250/1000と余裕があるにもかかわらずスロットリングが発生する場合、ホットパーティションが原因である可能性が高いです。DynamoDBのスループットはパーティション単位で均等に分散されるため、特定のパーティションキーへ書き込みが集中するとそのパーティションの上限を超えます。解決策はパーティションキーの設計見直しやキーへのランダムサフィックス付与(シャーディング)などです。
C
DynamoDBのVPCエンドポイントへのネットワーク接続が不安定になっている
VPCエンドポイントのネットワーク不安定はタイムアウトや接続エラーを引き起こしますが、ProvisionedThroughputExceededExceptionではなくConnectionErrorやRequestTimeoutとして現れます。
D
Lambda関数からのDynamoDB呼び出しで同時実行数がアカウント上限に達している
Lambda同時実行数の上限超過はLambda側のTooManyRequestsExceptionを引き起こすものであり、DynamoDB側のProvisionedThroughputExceededExceptionとは無関係です。

解説

テーブル全体のConsumedWCUは250/1000と余裕があるにもかかわらずスロットリングが発生する場合、ホットパーティションが原因である可能性が高いです。DynamoDBのスループットはパーティション単位で均等に分散されるため、特定のパーティションキーへ書き込みが集中するとそのパーティションの上限を超えます。解決策はパーティションキーの設計見直しやキーへのランダムサフィックス付与(シャーディング)などです。 選択肢A:テーブル全体のWCUに余裕があるため総プロビジョニング不足は否定されます。 選択肢C:VPCエンドポイントのネットワーク不安定はタイムアウトや接続エラーを引き起こしますが、ProvisionedThroughputExceededExceptionではなくConnectionErrorやRequestTimeoutとして現れます。 選択肢D:Lambda同時実行数の上限超過はLambda側のTooManyRequestsExceptionを引き起こすものであり、DynamoDB側のProvisionedThroughputExceededExceptionとは無関係です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る