Skip to content
Cloudformation stack for regularly backing up DynamoDB databases
Branch: master
Clone or download
Latest commit 6dd608a Jan 15, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
test update README, nodejs, parameterize schedule (#7) Feb 8, 2019
.eslintrc Initial draft Feb 6, 2018
.gitignore Initial commit Feb 5, 2018
.travis.yml Node 12 (#11) Jan 15, 2020
index.js Revert "Add ability to restore a table from a backup or another table" May 30, 2018
package-lock.json Node 12 (#11) Jan 15, 2020
package.json Node 12 (#11) Jan 15, 2020


Cloudformation stack to create and manage a scheduled lambda function which triggers on-demand DynamoDB table backups. On-demand DynamoDB backups creates full table backups without interruption and which are automatically encrypted and catalogued. On-demand DynamoDB backups are retained until they are explicity deleted.


Before running this stack in your AWS account, you should first make sure:

  • A .zip package of this repository needs to exist on S3 in your account for the scheduling lambda function.
  • You must have already created the source database you want to back up.
  • (optional) As a convenience, we use cfn-config to deploy cloudformation stacks. It's not necessary though, as you can just use the aws cloudformation create CLI or the AWS CloudFormation API directly.


dynamodb-backups.template parameter description

  • GitSha - the gitsha of this repo you wish to deploy. cfn-config will automatically detect this for you, if you use cfn-config. This GitSha is used to fetch the correct version of the lambda zipfile bundle from S3.
  • TableName - name of the dynamodb table you wish to back up.
  • BackupSchedule - the desired backup schedule expressed as a CloudWatch rule schedule expression
  • AlarmEmail - email to send alarms to (including lambda failures).

Backup & Restore Process

The lambda function creates a full backup everyday, which can be found under the Backups tab in the DynamoDB console. To restore a backup, follow the instructions on the official documentation.

You can’t perform that action at this time.