テーブルで Amazon DynamoDBオートスケーリングを有効にしましたが、期待通りに動作せず、読み取りあるいは書き込みアクティビティがまだ制限されています。
簡単な説明
DynamoDB Auto Scaling は、ユーザーに代わって Amazon CloudWatch アラームを作成します。アラームがトリガーされると、CloudWatch アラームは AWS Application Auto Scaling を呼び出し、テーブルのプロビジョニングされたスループット容量を調整するように DynamoDB に通知します。
DynamoDB Auto Scaling によってプロビジョニングされたスループットが変更されるのは、ワークロードが下降または上昇した状態が数分間続いた場合のみです。例えば、最小読み込みキャパシティーユニット (RCU) を 100 に、ターゲット使用率を 70% に設定するとします。
- DynamoDB Auto Scaling は、少なくとも 2 分間連続して使用率が 70 RCU を超えた場合に、プロビジョニングされる容量を増やします。
- DynamoDB Auto Scaling は、15 分間連続して使用率がターゲットを 20% 以上下回った場合 (50 RCU)、プロビジョニングされる容量を減らします。
解決方法
DynamoDB Auto Scaling の問題をトラブルシューティングするには:
- DynamoDB Auto Scaling によって作成された CloudWatch アラームは削除しないでください。削除すると、DynamoDB Auto Scaling が正常に機能しないことがあります。CloudWatch アラームを誤って削除した場合は、テーブルで Auto Scaling を無効にしてから有効にします。これを行うことで、CloudWatch は自動的にアラームを再作成します。
- 短期間のアクティビティの急上昇を処理するために DynamoDB Auto Scaling を使用しないでください。DynamoDB Auto Scaling は、トラフィックが徐々に増減する場合に最適です。テーブルの組み込みのバーストキャパシティーが、たまに生じるアクティビティの急増を処理します。
- テーブルのトラフィックが予測できないことが多い場合は、UpdateTable オペレーションを使用して請求モードを PAY_PER_REQUEST に設定します。これにより、オンデマンドモードが有効になり、スループットを瞬時に調整して、ワークロードを処理できます。