オンデマンド Amazon DynamoDB テーブルでスロットリングが発生していますが、その理由がわかりません。
オンデマンドキャパシティモード を使用する DynamoDB テーブルは、アプリケーションのトラフィック量に自動的に適応します。ただし、次のシナリオでは、オンデマンドの DynamoDB テーブルでスロットルが発生する可能性があります。
DynamoDB オンデマンドテーブルは、30 分間のウィンドウ内でトラフィックが前回のピークスループットの 2 倍を超えた場合にスロットリングが発生することがあります。
この問題を解決するには、前回のピークの 2 倍に達する前に、少なくとも 30 分かけてトラフィックを段階的にスケールしてください。テーブルのスループットをモニタリングするには、Amazon CloudWatch の ConsumedReadCapacityUnits および ConsumedWriteCapacityUnits メトリクスを使用してください。オンデマンドスロットリングをモニタリングするには、ReadMaxOnDemandThroughputThrottleEvents および WriteMaxOnDemandThroughputThrottleEvents を使用してください。
新しいオンデマンドテーブルでは、即座に同時に最大 4,000 のライトリクエストユニットと 12,000 のリードリクエストユニットを処理できます。計画的なイベントやピークイベントの場合は、ウォームスループットを使用して、テーブルのキャパシティを予想される使用量にスケールしてください。
既存のテーブルをオンデマンドキャパシティモードに切り替えると、前回のピークは次のいずれかの値になります。
テーブル内の各パーティションは、同時に最大 1,000 の書き込みリクエストユニットと 3,000 の読み取りリクエストユニットを処理できます。パーティションへのトラフィックがこのクォータを超えると、パーティションでスロットルが発生する可能性があります。
この問題を解決するには、次の手順を実行します。
デフォルトでは、オンデマンドテーブルには AWS アカウントレベルのクォータとして、テーブルごとに 40,000 WCU と 40,000 RCU が設定されています。テーブルへのトラフィックがスループットクォータを超えると、テーブルでスロットルが発生する可能性があります。
DynamoDB テーブルにスロットリングが発生しているグローバルセカンダリインデックス (GSI) がある場合、そのスロットリングがベーステーブルにバックプレッシャースロットリングを引き起こす可能性があります。詳細については、『DynamoDB のグローバルセカンダリインデックス (GSI) の書き込みスロットリングとバックプレッシャーについて』および『DynamoDB のグローバルセカンダリインデックスの使用』を参照してください。
オンデマンドテーブルに最大スループットクォータを設定している場合、スループットクォータを超えると "ThrottlingException" エラーが発生します。
ユースケースに基づいて、以下のいずれかのアクションを実行します。
テーブルまたは GSI に設定した最大スループットをモニタリングするには、CloudWatch の OnDemandMaxReadRequestUnits および OnDemandMaxWriteRequestUnits メトリクスを使用してください。
DynamoDB スロットリング解決ガイド
DynamoDB テーブルに適切なプライマリキーを選択する方法を教えてください。
DynamoDB コンソールのメトリクスが CloudWatch メトリクスと異なるのはなぜですか。
Amazon DynamoDB のクォータ
Introducing configurable maximum throughput for DynamoDB on-demand (DynamoDB オンデマンドの設定可能な最大スループットの導入)
This article was reviewed and updated on 2026-03-09.
AWS Official
応答済み 2ヶ月前
rePost-User-9679698
質問済み 2年前
Seiyokabure
rePost-User-4283239
質問済み 3年前
KKIDIX
gsd-ltd
質問済み 1年前
Sakamaki
公開済み 1年前