DVAトラブルシューティングと最適化
あるDynamoDBテーブル(オンデマンドモード)で、テーブル全体としては十分なスループットがあるにもかかわらず、CloudWatchでThrottledRequestsが断続的に記録されています。アプリケーションログでは特定のパーティションキーへのアクセスが集中している疑いがあります。どのパーティションキー値がスロットリングや消費キャパシティの偏りを引き起こしているかを、コード変更なしで特定する最も適切な方法はどれですか。
ADynamoDB Contributor Insightsを有効化し、最も頻繁にアクセスされるパーティションキーのCloudWatchルールを確認する
✓ 正解
Contributor Insightsはテーブル/インデックス単位で有効化するだけで、最頻アクセスやスロットリングされたパーティションキーをランキング表示する。コード変更不要でホットキーを直接特定でき、偏りの診断に最適。
BCloudWatch MetricsでConsumedReadCapacityUnitsをテーブル全体で集計し、合計値の推移をグラフ化する
ConsumedReadCapacityUnitsをテーブル全体で集計しても合計消費量の推移しか得られず、特定キーへの偏りは見えない。ホットパーティションの原因キーを識別する用途には不十分。
CDynamoDB Streamsを有効化し、Lambdaでアイテムの変更レコードを集計してホットキーを算出する
Streamsを有効化しLambdaで集計する方式はホットキー特定自体は可能だが、新規コードと追加コストが必要であり「コード変更なし」という要件を満たさない。
DAWS X-RayでDynamoDB呼び出しのサブセグメントを取得し、レスポンスタイムが長いリクエストを特定する
X-Rayのサブセグメントは個々の呼び出しのレイテンシ分析に有効だが、パーティションキー単位のアクセス頻度ランキングは取得できず、ホットキーの特定には使えない。
解説
DynamoDB Contributor Insightsは、最もアクセスされるアイテム(パーティションキー)やスロットリングを受けているキーをCloudWatch Contributor Insightsルールとして可視化する機能です。
テーブルやインデックス単位で有効化するだけでコード変更が不要で、ホットパーティションを引き起こしている具体的なキー値をランキング表示できます。これによりキー設計の偏り(ホットキー)を直接特定できます。
選択肢BのConsumedReadCapacityUnitsの全体集計は、テーブル合計の消費量しか分からず、どのキーに偏っているかは識別できません。
選択肢CのStreams+Lambda集計は実装可能ですが、追加のコードとコストが必要でコード変更なしの要件に反します。
選択肢DのX-Rayはレイテンシ分析には有用ですが、どのパーティションキーがアクセス集中しているかという頻度ランキングは取得できません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →