DynamoDBのプロビジョニングモードとオンデマンドモードの違いとは?
AWS DynamoDBを使う上で避けて通れないのが「キャパシティモード(容量モード)」の選択です。
本記事では、DynamoDBの2つのキャパシティモード「プロビジョニングモード」と「オンデマンドモード」の違いを初心者にも分かりやすく解説します。
🔧 プロビジョニングモード(Provisioned Mode)とは?
特徴
- 読み込み・書き込みキャパシティユニット(RCU/WCU)を手動で設定
- トラフィックが安定している、または予測できる場合に最適
- オートスケーリング機能を使って、自動的にスケール調整可能
メリット
- 料金予測がしやすい(固定コスト管理しやすい)
- 高トラフィックに対して安定したパフォーマンス
デメリット
- アクセスのスパイクに弱い
- 使用しない時間帯にも最低料金が発生
⚡ オンデマンドモード(On-Demand Mode)とは?
特徴
- 読み書き容量の設定が不要
- 必要な分だけ自動的にスケーリングされる
- 運用が非常にシンプル
メリット
- 使った分だけ課金(従量課金制)
- 突発的なアクセスにも自動で対応
- キャパシティ設定不要で、管理コストが低い
デメリット
- 継続的に大量トラフィックがある場合、コストが割高になる可能性
💰 料金の違い(ざっくり比較)
モード | 料金体系 | 向いているケース |
---|---|---|
プロビジョニング | RCU/WCU単位の固定料金 | トラフィックが予測可能な場合 |
オンデマンド | リクエスト数に応じた従量課金 | トラフィックが不定期・変動が多い場合 |
🧠 どっちを選べばいい?ユースケース別おすすめ
ユースケース | 推奨モード |
---|---|
開発・検証環境や新規サービスのリリース直後 | オンデマンド |
安定して高トラフィックがある本番環境 | プロビジョニング + オートスケーリング |
利用頻度が少ないサービス | オンデマンド |
まとめ
モード | 管理のしやすさ | コスト予測 | スパイク対応 | 向いている用途 |
---|---|---|---|---|
プロビジョニング | △(設定必要) | ◎ | △ | 予測可能な本番環境 |
オンデマンド | ◎(自動対応) | △ | ◎ | 変動が多い/初期段階の環境 |
どちらのモードにもメリット・デメリットがあるため、アプリの性質やアクセスパターンに応じて選択することが重要です。
「どちらを使うべきか迷っている…」という方は、まずオンデマンドモードで運用を開始し、必要に応じてプロビジョニングに切り替えるのが安全な選択肢です。