Backing up and restoring DynamoDB tables with Amazon Backup: How it works - Amazon DynamoDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.

Backing up and restoring DynamoDB tables with Amazon Backup: How it works

You can use the on-demand backup feature to create full backups of your Amazon DynamoDB tables. This section provides an overview of what happens during the backup and restore process.

Backups

When you create an on-demand backup with Amazon Backup, a time marker of the request is cataloged. The backup is created asynchronously by applying all changes until the time of the request to the last full table snapshot.

Each time you create an on-demand backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.

Note

Unlike DynamoDB Backups, backups made with Amazon Backup are not instantaneous.

While a backup is in progress, you can't do the following:

  • Pause or cancel the backup operation.

  • Delete the source table of the backup.

  • Disable backups on a table if a backup for that table is in progress.

Amazon Backup provides automated backup schedules, retention management, and lifecycle management. This removes the need for custom scripts and manual processes. Amazon Backup runs the backups and deletes them when they expire. For more information, see the Amazon Backup Developer Guide.

If you're using the console, any backups created using Amazon Backup are listed on the Backups tab with the Backup type set to AWS_BACKUP.

Note

You can't delete backups marked with a Backup type of AWS_BACKUP using the DynamoDB console. To manage these backups, use the Amazon Backup console.

To learn how to perform a backup, see Backing up a DynamoDB table.

Restores

You restore a table without consuming any provisioned throughput on the table. You can do a full table restore from your DynamoDB backup, or you can configure the destination table settings. When you do a restore, you can change the following table settings:

  • Global secondary indexes (GSIs)

  • Local secondary indexes (LSIs)

  • Billing mode

  • Provisioned read and write capacity

  • Encryption settings

Important

When you do a full table restore, the destination table is set with the same provisioned read capacity units and write capacity units that the source table had when the backup was requested. The restore process also restores the local secondary indexes and the global secondary indexes.

You can copy a backup of your DynamoDB table data to a different Amazon Region and then restore it in that new Region. You can copy and then restore backups between Amazon commercial Regions, Amazon China Regions, and Amazon GovCloud (US) Regions. You pay only for the data you copy from the source Region and the data you restore to a new table in the destination Region.

Amazon Backup will restore the tables with all the original indexes.

You must manually set up the following on the restored table:

  • Auto scaling policies

  • Amazon Identity and Access Management (IAM) policies

  • Amazon CloudWatch metrics and alarms

  • Tags

  • Stream settings

  • Time to Live (TTL) settings

You can only restore the entire table data to a new table from a backup. You can write to the restored table only after it becomes active.

Note

Amazon Backup restores are nondestructive. You can't overwrite an existing table during a restore operation.

Service metrics show that 95 percent of customers' table restores complete in less than one hour. However, restore times are directly related to the configuration of your tables (such as the size of your tables and the number of underlying partitions) and other related variables. A best practice when planning for disaster recovery is to regularly document average restore completion times and establish how these times affect your overall Recovery Time Objective.

To learn how to perform a restore, see Restoring a DynamoDB table from a backup.

You can use IAM policies for access control. For more information, see Using IAM with DynamoDB backup and restore.

All backup and restore console and API actions are captured and recorded in Amazon CloudTrail for logging, continuous monitoring, and auditing.