DynamoDBキャパシティーモードの切替
DynamoDBのキャパシティーモードを切替える
概要
- DynamoDB には、以下2つの読み込み/書き込みキャパシティーモードがあります。
- オンデマンド
- プロビジョニング済み (デフォルト、無料利用枠の対象)
- 以下に各モードの説明を記載します(ドキュメントからの引用です)。
オンデマンドモード
- Amazon DynamoDB オンデマンドは、容量計画なしで 1 秒あたりに数千ものリクエストを処理できる柔軟な請求オプションです。DynamoDB オンデマンドには、読み取りおよび書き込みリクエストのリクエストごとの支払い料金が用意されているため、使用した分だけ課金されます。
- オンデマンドモードを使用する例:
- 不明なワークロードを含む新しいテーブルを作成する。
- アプリケーションのトラフィックが予測不可能である。
- わかりやすい従量課金制の支払いを希望する。
プロビジョニングモード
- プロビジョニングモードを選択した場合、アプリケーションに必要な 1 秒あたりの読み込みと書き込みの回数を指定します。Auto Scaling を使用すると、トラフィックの変更に応じて、テーブルのプロビジョンドキャパシティーを自動的に調整できます。これにより、コストの予測可能性を得るため、定義されたリクエストレート以下に維持されるように DynamoDB を制御することができます。
- プロビジョニングモードを使用する例:
- アプリケーションのトラフィックが予測可能である。
- トラフィックが一定した、または徐々に増加するアプリケーションを実行する。
- キャパシティーの要件を予測してコストを管理できる。
キャパシティーモードの切替
- 24 時間ごとに 1 回、読み込み/書き込みキャパシティーモードを切り替えることができます。
- プロビジョニングモードからオンデマンドモードに切り替える場合、Auto Scaling 設定が削除されるため注意ください。
- 既存のテーブルをオンデマンドモードに切り替えた時の注意事項は、プロビジョニングモードで使用していた読み込み/書き込みキャパシティーユニットを基準とするため、切り替え前のキャパシティーユニット数によって、切り替え直後のスループットが変わる場合があります。(つまり、オンデマンドモードに切り替える前と同じスループットを提供する)
- その他、スループット等の切り替え後の注意事項は、以下ドキュメントを参照ください。
- 設定変更は、DynamoDBのAWSコンソールから、テーブル名→キャパシティーを選択します。以下、プロビジョニングモードからオンデマンドモード切り替えの設定画面です。
- 設定変更後、テーブルの変更に数分間掛かります。
オンデマンドモードのコストメリット
- 最後に、オンデマンドモードを選択した時のコストメリットについて、下記のAWSブログ(著者ウツミケイスケ氏)にまとめられていますので、ご紹介します。
複数のピーク時間でリクエストを受信し、ワークロードが急激に急増するサービスに DynamoDB を使用する場合、オンデマンドモードに切り替えることでメリットが得られます。ただし、サービスが急激なスパイクなしで安定したトラフィック量を受信する場合は、Auto Scaling で DynamoDB プロビジョニングモードを使用することをお勧めします。