This repo contains a terraform configuration that creates two lambda functions that will take automatic EBS snapshots at regular intervals. It is based on the code at https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups/ and https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups-2/.
Include this repository as a module in your existing terraform code:
module "lambda_ebs_snapshot" {
source = "github.com/chef/lambda_ebs_snapshot"
# Setting these variables is optional
# ebs_snapshot_backups_schedule = "cron(00 19 * * ? *)"
# ebs_snapshot_janitor_schedule = "cron(05 19 * * ? *)"
}
Tag any instances you want to be backed up with Backup = true
.
By default, old backups will be removed after 7 days, to keep them longer, set
another tag: Retention = 14
, where 14 is the number of days you want to keep
the backups for.