SAA-015
DynamoDBテーブルで、誤更新や削除に備えて任意の過去時点へ復元できるようにしたいです。最も適した機能はどれですか?
選択肢
解説と正解
解説と正解を読む(先に自分で回答してから開くのがおすすめです)
正解:A. Point-in-time recovery
解説
DynamoDBのPoint-in-time recoveryを有効化すると、過去の特定時点へテーブルを復元できます。
選択肢ごとの解説
A. Point-in-time recovery
正解です。誤操作からの復旧に使います。
B. Provisioned Capacityを最大値にする
キャパシティ設定は復旧機能ではありません。
C. DynamoDB Accelerator
DAXは読み取りキャッシュです。復元機能ではありません。
D. DynamoDB Streamsだけを有効化する
Streamsは変更イベント取得に使いますが、単体で任意時点復元はできません。
実務での使いどころ
DynamoDB の Point-in-time Recovery(PITR)は、テーブルを過去 35 日以内の任意の秒単位の時点まで復元できる機能である。バックアップを明示的に取得する運用は不要で、テーブルごとに PITR を有効化するだけで、サービス側が継続的にトランザクションログを保持する。復元時は新しいテーブルとして書き出され、元のテーブルは変更されない。アプリケーション側のバグでデータを書き換えてしまった、特定の時刻の状態に巻き戻したい、といった要件に対し、運用ジョブを書かずに対応できる。 代替として、DynamoDB のオンデマンドバックアップ(任意時点でスナップショット取得)や AWS Backup 経由のクロスリージョン・クロスアカウントバックアップもある。オンデマンドバックアップは取得時点のスナップショットしか戻せないため、「30 日前のあの瞬間」のような精細な時点指定には PITR が必要となる。PITR は有効化中の書き込み容量に応じた追加課金が発生するが、自前でログ収集・リプレイ機構を作る工数と比べれば十分に安い。 SAA-C03 では、「任意の過去時点に戻したい」「秒単位の復元」「誤更新・誤削除からの復旧」というキーワードが含まれる場合、DynamoDB PITR が正答となる。誤答として「オンデマンドバックアップだけで十分」「Streams を使えば復元できる」「Global Tables のレプリカから戻す」など、別機能を当て込む選択肢が混在する。Streams は変更イベントの配信、Global Tables はマルチリージョンレプリケーションであり、いずれも任意時点復元の機能ではない。