質問・問題
DynamoDB テーブルのキャパシティーモードを「オンデマンドモード」に変更しようと考えております。
DynamoDB テーブルへのアクセスが発生している状態で、モードを変更した場合、DynamoDB の処理に影響が発生する可能性はありますでしょうか。
回答・解決方法
・「オンデマンドモード」への変更は既存のトラフィックへの影響を最小限に抑えるように実行されます。
・変更実施の際に、テーブル上の以前のピークトラフィックの 2倍のトラフィックに対応できるように内部的にスケーリングを行います(ドキュメント[1])。
・その他のご留意事項につきましては、以下のドキュメント[2]をご参照ください
【参考記事】
[1] AWS Documentation DynamoDB | 読み込み/書き込みキャパシティーモード
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html
==== 抜粋 ====
テーブルにおける前のピークの 2 倍以上が必要な場合、DynamoDB はトラフィックボリュームが増加する自動的に多くの容量を割り当て、ワークロードがスロットリングされないようにします。ただし、30 分以内に前のピークの 2 倍を超えた場合、スロットリングが発生する可能性があります。
====
[2] AWS Documentation DynamoDB | 読み取り/書き込みキャパシティーモードの変更時の考慮事項
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/switching.capacitymode.html
==== 抜粋 ====
Auto Scaling の管理
テーブルをプロビジョニングモードからオンデマンドモードに更新すると、以下のようになります。
- コンソールを使用している場合、Auto Scaling 設定 (ある場合) がすべて削除されます。
- AWS CLI または AWS SDK を使用している場合、Auto Scaling 設定はすべて保持されます。これらの設定は、テーブルをもう一度プロビジョニングされた請求モードに更新すると適用できます。
====
※ 上記内容は執筆時点でのAWSドキュメントや、AWSサポートへの問い合わせの回答に基づいたものとなっております。将来的な仕様変更やドキュメント修正等により変更となる可能性がございます。