Backup & restore DynamoDb tables
Asked Answered
U

2

7

My aim is to back up and restore a dynamodb table to/from S3. I'm aware about the Import/Export using data pipelines and DynamoDb streams. My concern using Data Pipeline is that when the backup process is complete, I cannot be sure as to what 'point-in-time' the backup was performed. For e.g. if the backup process started at 11am and ended at 1130am, the items in my backup could be for anything that happened in the dynamodb table from 11am to 1130am.

How can I use DynamoDb streams to compliment the data pipeline ?

How can I restore the dynamodb table to a particular 'point-in-time' ?

Urban answered 19/9, 2015 at 22:19 Comment(0)
I
5

AWS have just announced they will now offer a native DynamoDB backup and restore function.

As of today, in most regions, you can create on-demand backups of DynamoDB tables. You can do this via the AWS console - click on a table and you will see a new Backup tab, or via an API call. Once you have created and named a backup you can restore to that point with a single click via the same console tab. You can also restore into new tables. All table artifacts (data, indexes etc) are backed up.

AWS promise no impact on your table performance and availability during backups.

At the moment its just 'on-demand' backups, meaning you have to create restore points manually. In early 2018 they will roll out "Point In Time Restore Points", meaning you simply enable backups and you can then restore to any point you require in the last 35 days.

Icebreaker answered 30/11, 2017 at 8:39 Comment(1)
Thanks, added some more detail.Icebreaker
G
2

As Stu mentioned, On-Demand backups are a feature built into the DynamoDB service (Accessible via the API, AWS Management Console and CLI as usual), which allows you to take a full backup of a table at a point in time.

This task has no impact on performance or availability to your tables. All backups are automatically encrypted, cataloged, easily discoverable, and retained until you explicitly delete them.

Additionally, you can restore these backups to a new table at any point.

If you would like to schedule the backups, that is also possible using CloudWatch Events and a Lambda function.

A detailed walk through on backing up, restoring and scheduling can be found here: https://www.abhayachauhan.com/category/aws/dynamodb/dynamodb-backups/

HTH

Gauldin answered 4/12, 2017 at 12:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.