SOA信頼性とビジネス継続性
開発者が誤ってDynamoDBテーブルから約1時間前に顧客データ1,200件を削除してしまいました。そのテーブルにはPITR(Point-In-Time Recovery)が有効化されています。最も適切な復旧手順はどれですか?
ADynamoDBコンソールから対象テーブルのPITRを使用して、削除発生の数分前の時点を指定し既存テーブルを直接上書きリストアする
対象テーブルのPITRを使用して既存テーブルを直接上書きリストアする方式は、DynamoDBの仕様上不可能です。
BDynamoDBコンソールまたはAPIのrestore-table-to-point-in-timeを使用し、削除発生直前の時刻を指定して新しいテーブルにリストアする。その後、新テーブルから削除されたアイテムを元のテーブルにコピーして戻す
✓ 正解
DynamoDBのPITRは過去35日間の任意の時点にテーブルをリストアできますが、リストア先は必ず「新しいテーブル」になります。そのため、削除直前の時点で新テーブルにリストアし、削除されたアイテムを元テーブルへ移行するのが正しい手順です。
CDynamoDBストリームのShardイテレーターを使って過去1時間のイベントを遡り、削除操作(REMOVE)を特定して対象アイテムのOldImageデータを元のテーブルにPutItemで再投入する
DynamoDBストリームのShardイテレーターを使って過去1時間のイベントを遡り、削除操作(REMOVE)を特定してOldImageデータを再投入する方式は、ストリームのデフォルト24時間保持でリストア全件対応には不向きです。
DAWS Backupのリストア機能を使用し、最新のオンデマンドバックアップから元のテーブル名でテーブルを上書きリストアする
AWS Backupのリストア機能を使用して最新のオンデマンドバックアップから元のテーブル名でテーブルを上書きリストアする方式も、新テーブルへのリストアとなります。
解説
正解:
DynamoDBコンソールまたはAPIのrestore-table-to-point-in-timeを使用し、削除発生直前の時刻を指定して新しいテーブルにリストアする。その後、新テーブルから削除されたアイテムを元のテーブルにコピーして戻す。
DynamoDBのPITRは過去35日間の任意の時点にテーブルをリストアできますが、リストア先は必ず「新しいテーブル」になります。そのため、削除直前の時点で新テーブルにリストアし、削除されたアイテムを元テーブルへ移行するのが正しい手順です。
選択肢Aの対象テーブルのPITRを使用して既存テーブルを直接上書きリストアする方式は、DynamoDBの仕様上不可能です。
選択肢Cの DynamoDBストリームのShardイテレーターを使って過去1時間のイベントを遡り、削除操作(REMOVE)を特定してOldImageデータを再投入する方式は、ストリームのデフォルト24時間保持でリストア全件対応には不向きです。
選択肢Dの AWS Backupのリストア機能を使用して最新のオンデマンドバックアップから元のテーブル名でテーブルを上書きリストアする方式も、新テーブルへのリストアとなります。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →