You can restore a DynamoDB table from any unexpired backup along two dimensions: the scope of the restore (the entire table or a filtered subset of records) and the time of the restore (a scheduled SecureVault backup point or any second within the retention window).
Full-table restore: Use Full restore to restore the entire table from a scheduled SecureVault backup, or PITR full restore to restore the entire table to any second within the retention window. The destination can be a new table, an existing empty table, or — with Clumio Backtrack — the source table itself (in-place restore).
Partial (record) restore: Use Record restore to restore a filtered subset of records from a scheduled SecureVault backup, or PITR record restore to do the same at any second within the retention window. Both offer in-place restore to the source table and restore to a different table (new, or existing with overwrite). Record restore additionally offers Granular recovery, which exports the matching records to a CSV file or shares them through Transparent Data Access. You can apply partition-key, sort-key, and (in advanced mode) attribute filters to define the subset for any partial restore.
You can also restore from a Snap — an AWS-native DynamoDB snapshot taken by Clumio — to a new table.
Clumio allows cross-account and cross-region restores of your DynamoDB backups. Cross-account and cross-region recovery do not apply to in-place restore (Backtrack), which always writes back to the source table.
The Quick Links above the calendar display the dates of the latest SecureVault backup, Snap, and the latest PITR backup. Click a link to view details of the type of backup.
Full restore of a DynamoDB SecureVault backup
Note
Local secondary indexes (LSI): Restoring a table that has one or more local secondary indexes takes longer and costs more than restoring a table without LSIs. For a table without LSIs, Clumio can restore using DynamoDB's native import-from-S3 path, which is billed per GB of restored data and does not consume the table's write capacity. Import-from-S3 does not support local secondary indexes, so when the source table has one or more LSIs, Clumio instead restores by writing each item directly into the table. This path consumes write capacity (WCU), and because every item write is also applied to each of the table's LSIs, both the WCU consumed and the total restore time grow with the number of LSIs. The same applies to PITR full restore, Record restore, and PITR record restore when the restored table includes LSIs.
-
Navigate to AWS > Inventory > DynamoDB Tables to see the list of tables in your account.
-
Click a table name to view the backup history and alerts for that table. The protection history calendar displays dates with available backups, indicated by the colored dots. Refer to the legend for an explanation of the type of backup each colored dot represents.
-
Click the date of the SecureVault backup you want to restore. A dialog displays with options for Full restore and Record restore.
-
Select Full restore. The Restore DynamoDB table dialog displays.
-
To view the full set of restore options, click Switch to advanced mode.
-
Under Restore to, configure the destination:
-
Table name: Clumio adds a
Restored-prefix and a timestamp suffix by default. You can modify the name. -
AWS account: Defaults to the source account and region. Use the dropdown to choose a different account or region (cross-account or cross-region restore).
-
Custom tags (optional): Click Add tag to apply tags to the restored table. The tags are reflected in your AWS console.
-
Select Encryption Type: Choose between Default (key owned by Amazon DynamoDB), KMS - customer managed CMK (provide the key ARN), or KMS - AWS managed CMK. AWS KMS charges apply for the KMS options.
-
Index: Include global secondary indices is selected by default. Include local secondary indices is also available. If no Local Secondary Index existed when the backup was taken, the LSI checkbox is disabled.
-
-
Click Restore. You can track the progress of the operation from the Tasks page.
Record restore (partial restore from a SecureVault backup)
Use Record restore to recover a filtered subset of records from a SecureVault backup. Record restore offers three destinations: in-place to the source table, to a different table (new or existing), or as a downloadable file.
-
Navigate to AWS > Inventory > DynamoDB Tables and click the table to restore.
-
On the calendar, click the date of the SecureVault backup. In the dialog box, click Record restore. The Record restore dialog displays.
-
Under Enter the conditions to be restored, choose a Restore type:
-
In-place: Restore the selected records to the original source table.
-
Restore to a different table: Restore a filtered subset of records to a new or existing table.
-
Granular recovery" Restore a filtered subset of records by downloading from Clumio or by sharing a secure, passcode-protected file via email. Up to 5,000,000 items.
-
-
Specify filter conditions:
-
Partition key (required): Choose a condition (such as Equal to, BeginsWith) and enter the value. Click + to add additional partition-key filters.
-
Sort key (optional): Choose a condition and enter the value.
-
Switch to advanced mode: Adds an Advanced options section that lets you include attribute filters. For each attribute, specify Attribute name, Type, Condition, and Value. Click + to add more.
-
-
Click Preview to view the records that will be returned by the filters.
-
Click Next (or Next: Transparent Data Access when Granular recovery is selected). The next step depends on the restore type:
-
For In-place, the Browse and restore review screen displays the source table and the filter conditions, with the destination fixed to the source table. Click Initiate restore.
-
For Restore to a different table, the Record restore destination configuration displays. See Record restore — destination configuration below.
-
For Granular recovery, the Browse and restore Transparent Data Access screen displays. See Record restore — Granular recovery below.
-
In-place
When In-place is selected, no destination configuration is required — the records are restored back to the source table. Review the source table name, the selected backup, and the filter conditions on the Browse and restore screen, and then click Initiate restore.
See In-place restore using Clumio Backtrack above for limitations and operational guidance specific to in-place restores.
Restore to a different table
When Restore to a different table is selected, the destination configuration screen lets you choose a new or existing target table:
-
AWS account and Region: Defaults to the source. Use the dropdowns to choose a different account or region.
-
Restored table: Choose New table (with editable name) or Existing table. When you choose Existing table, the data is restored into a pre-configured table whose schema (partition and sort key) matches the backed-up table.
-
Encryption type: Default, customer managed CMK, or AWS managed CMK.
-
Index: Include global secondary indices and/or local secondary indices.
-
Configurations: Enable Streams (Keys only / New image / Old image / New and old image) and Enable PITR on the restored table.
-
Tags: Click Add tag to apply custom tags.
Click Restore. You can track the progress of the operation from the Tasks page.
Note
When you restore to an existing table, the data is overwritten into the table. This action is irreversible. A restore to an existing table consumes write capacity and takes time proportional to the amount of data being restored, so it incurs additional cost and does not complete instantly. During the restore, Clumio may temporarily change the table's provisioned WCU to speed up the write; the original WCU setting is restored automatically once the restore completes. To avoid data inconsistency, Clumio recommends not writing to the table while the restore is in progress.
Granular recovery
When Granular recovery is selected, the records are exported to a CSV file rather than written back to a DynamoDB table. On the Transparent Data Access screen:
-
Direct download: Download the file directly from Clumio.
-
Allow someone to download via email" Enter the email recipient's address (and confirm), and an optional message. Clumio sends a downloadable link to the recipient. For added security, Clumio also generates a passcode that the recipient must enter to download the file.
If you select email delivery, click Initiate restore. A dialog displays the passcode. Copy and share the passcode with the recipient using a channel other than email — Clumio recommends not sharing the passcode through the same email.
PITR record restore
Note
-
When you restore to an existing table in PITR record restore, the data in the existing table is overwritten. This action is irreversible. As with Record restore, the operation consumes write capacity and time, may temporarily change the table's provisioned WCU (restored automatically on completion), and Clumio recommends not writing to the table during the restore. See Restore to a different table above.
-
PITR record restore is permanent and cannot be undone, even if cancelled. Review the filter conditions carefully before initiating the restore.
PITR record restore combines point-in-time recovery with filter-based partial restore. The flow is similar to Record restore from a SecureVault backup, with two differences: you choose a precise time within the retention window, and Granular recovery is not available — only In-place and Restore to a different table.
-
Navigate to AWS > Inventory > DynamoDB Tables and click the table to restore.
-
On the calendar, click a date within the retention window, then click PITR record restore.
-
Choose the exact time of day to restore to using the Select a time hour/minute/second selectors. Only time windows that are available for point-in-time recovery can be selected — see Point-in-time recovery availability above for why some windows on a partially available day are unavailable.
-
Under Enter the conditions to be restored, choose a Restore type:
-
In-place: Restore the selected records to the original source table at the chosen time.
-
Restore to a different table: Restore a filtered subset of records to a new or existing table at the chosen time.
-
-
Specify filter conditions (partition key, sort key, and optional attribute filters in advanced mode), and click Preview to verify the matched records.
-
Click Next. The next step depends on the restore type:
-
For In-place, the review screen displays the filter conditions and the destination fixed to the source table, along with a warning that partial restore is permanent and cannot be undone, even if cancelled. Click Restore.
-
For Restore to a different table, the destination configuration screen displays New table or Existing table (with overwrite), along with the same account, region, encryption, index, streams, PITR, and tags options as Record restore. Click Restore.
-
Restore a DynamoDB snap
-
Navigate to AWS > Inventory > DynamoDB Tables to see a list of tables in your account.
-
Click a table name to view snapshot history and alerts for that table. The calendar displays dates with available snapshots and continuous backups indicated by the colored dots. Refer to the legend for an explanation of what type of backup each colored dot represents.
-
Click a date with the Snap you want to restore and click Restore DynamoDB table.
-
The Restore DynamoDB table dialog displays with information about the table to be restored. Click Advanced Mode to view more options.
-
The table name indicates the name with which this table will be restored, this is created by default.
-
Select a region to restore the Snap. The source region is selected by default.
-
Optionally, select the tags you want to apply to the restored table.
-
Select the encryption type. This is the key that will be used to encrypt the restored data. The default key used is the key owned by AWS DynamoDB.
-
The Index option is toggled on by default. If this option is turned off, Global and Secondary indices will not be restored along with the table data.
-
Click Recover to restore the table. You can track the progress of the operation from the Tasks page.