運用とコスト

モデリングはデータをテーブルに置く。運用する — 一貫した書き込み、変更フィード、 期限切れ、キャパシティ請求、マルチリージョン生存、復旧 — ことが、本番で DynamoDB を信頼するか、午前 2 時にスロットルしたデータベースとして扱うかを決める。

このセクションは 1 つの稼働シナリオを歩く。マルチテナント SaaS の監査ログ — 企業の買い手が求める不変の「誰が何をいつしたか」記録。テナントごとに パーティション化された 1 テーブル:

PKSKactoractionip
TENANT#acmeEVENT#2026-06-24T09:14Z#a1USER#88login.success203.0.113.7
TENANT#acmeEVENT#2026-06-24T09:15Z#a2USER#88invoice.export203.0.113.7
TENANT#globexEVENT#2026-06-24T09:15Z#b9USER#12role.granted198.51.100.4

各ガイドはこの同じテーブルに 1 つの運用上の関心事を足す。

読み終えたらできること

  • オールオアナッシングの書き込みが重要なところでトランザクションを使い、AWS が返す キャンセル理由を知っている。
  • 夜間の削除ジョブなしに追加専用の監査保持のため DynamoDB Streams と TTL を配線できる。
  • オンデマンド対プロビジョンドキャパシティを選び、小さなアイテムを膨らませる 切り上げルールを読める。
  • 現実的な RPO/RTO 期待でグローバルテーブルと PITR 復旧を計画できる。

読む順番

  1. コストモデルと SQL スキャン — 監査テーブルを運用する前に、スキャン形の読み取りが請求にどう出るか。
  2. トランザクション — 対になった監査 + 残高 更新のための TransactWriteItems。冪等性トークン。
  3. Streams — テーブルをポールせずに監査イベントを SIEM やウェアハウスへ送るストリームコンシューマ。
  4. TTL — 古い EVENT# 行を自動期限切れ。TTL 属性上の epoch 秒。
  5. オンデマンド対プロビジョンド — リクエストあたり課金対予約キャパシティ。バーストする監査トラフィックで どちらが勝つか。
  6. オートスケーリング — プロビジョンドモードの スケーリングポリシー。
  7. スロットリングProvisionedThroughputExceededException とスパイク下のオンデマンド適応スロットリング。
  8. テーブルサイズとアイテム数 — AWS が報告するもの対テーブルの概要がローカルで見積もるもの。
  9. グローバルテーブル — 監査ログ向けの マルチリージョン複製。書き込み衝突とリーダーエンドポイント。
  10. バックアップと PITR — 継続バックアップと ポイントインタイム復元ウィンドウ。
12 件中 0 件読了クイズ
DynamoDB のコストモデル: なぜ SQL は請求を見えなくするのか
DynamoDB 上の SQL が請求を見えなくする理由 — JOIN、任意の WHERE フィルター、集計が Scan にコンパイルされる仕組みと、Query 対 Scan の RCU 計算。
中級読了 4 分
DynamoDB Transactions 完全ガイド(例付き)
TransactWriteItemsによるDynamoDBトランザクション — 最大100アクションのall-or-nothing、4 MBの制限、2倍の書き込みキャパシティ、そして競合時のキャンセル。
上級読了 6 分
DynamoDB Streams 完全ガイド(例付き)
DynamoDB Streams — 24 時間の変更データキャプチャログ、4 つの StreamViewType、アイテムごとに順序付くレコード、アイテム変更で Lambda をトリガーする方法。
上級読了 6 分
DynamoDB TTL 完全ガイド:アイテムの有効期限
DynamoDB TTL は、Unix エポックのタイムスタンプ属性が過ぎるとアイテムを自動削除します。通常は数日以内で、その削除に書き込みキャパシティはかかりません。
中級読了 4 分
DynamoDB オンデマンド vs プロビジョンドキャパシティ
DynamoDB のオンデマンドとプロビジョンドキャパシティ — リクエスト課金と予約スループット、それぞれが安くなる条件、そしてトラフィックの形がモードを決める仕方。
中級読了 6 分
DynamoDB オンデマンドスループットの実測
DynamoDB のオンデマンドスループット実測 — 新規テーブルの書き込み上限は約 4,130/秒、読み取りは 12,700/秒超もスロットリングなし、持続負荷で上限が伸びる仕組み。
中級読了 5 分
DynamoDB Auto Scaling (オートスケーリング) の設定方法
プロビジョンドキャパシティで DynamoDB のオートスケーリングを設定 — コンソールと CLI の手順、ターゲット使用率と最小/最大の選び方、それでも起きるスロットリング。
中級読了 8 分
DynamoDB のスロットリング — なぜ起きるのか、どう直すのか
DynamoDB がスロットリングする理由 — 文書化された4つの原因、パーティションあたり毎秒3,000読み取り/1,000書き込みユニットの上限、そして原因ごとの対処。
中級読了 9 分
DynamoDBテーブルのサイズとアイテム数を取得する方法
DynamoDBテーブルのサイズとアイテム数を取得する — 最大6時間遅れるDescribeTableの無料の推定値か、Scan Select COUNTによる正確なカウント。
初級読了 5 分
DynamoDB Global Tables:マルチリージョンレプリケーション解説
DynamoDB グローバルテーブル — マルチリージョンのアクティブ-アクティブ複製、last-writer-wins の競合解決、MREC と MRSC の整合性モード、99.999% の SLA。
上級読了 6 分
DynamoDB のバックアップと Point-in-Time Recovery ガイド
DynamoDBのバックアップとポイントインタイムリカバリ — オンデマンドのスナップショットと継続的なPITR、1〜35日のウィンドウ、そしてリストアでは戻ってこない設定。
中級読了 6 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

オンデマンドの書き込みリクエストユニットは 1 KB ごとに切り上げる。1.1 KB の監査 イベントは書き込みあたり 2 WRU を請求し、1 ではない — capacityUnits はキロバイト 境界で切り上げる。us-east-1 オンデマンドで毎秒 100 の持続する 1 KB 書き込みなら、 書き込みだけで GSI やストリームの前に月あたり約 $164.25。 料金計算機 がテナント数とイベントレートを 見積もる。

TTL 削除はキャパシティ面では無料だが非同期。直ちに証明しなければならない コンプライアンス保持のためのリアルタイム削除機構として TTL を使わない。

DynoTable で見る

DynoTable をダウンロードし、読み進めながら監査テーブルを調べる。 テーブルの概要はキー構造、GSI、サイズ/アイテム見積もりを示す。 TTL コンバーター はカレンダー日付を TTL 属性向けの epoch 秒に変える — TTL はミリ秒ではなく秒を期待する。

DynoTable は存在すればバックアップ/PITR 設定を読むが設定はしない。コントロール プレーンの変更は AWS コンソールまたは IaC に留まる。ストリーム作成やキャパシティ モード切替も同じ — アプリはデータプレーン中心だ。

スパイクするセキュリティフィードにオンデマンドを選ぶ前に、料金計算機で失敗ログイン 書き込みのバースト対定常監査追記を見積もろう。