- Creates an SNS Topic to send events to the email address specified in NotificationEmail parameter
- Creates an IAM role with necessary permissions for AWS Backup to assume
- Creates all AWS Backup related resources
- Parameter ResourceArns is a CommaDelimitedList of resource ARNs to backup
- EG:
'"arn:aws:rds:us-east-1:12345678901:db:foo-bar,arn:aws:dynamodb:us-east-1:12345678901:table/FooBar"'
{
"Parameters": [
{
"ParameterKey": "NotificationEmail",
"Type": String
"NoEcho": false
},
{
"ParameterKey": "ResourceArns",
"Type": CommaDelimitedList
"NoEcho": false
}
],
"Description": "Sample AWS Backup cloudformation template including IAM and SNS resources",
"Capabilities": [
"CAPABILITY_IAM"
],
"CapabilitiesReason": "The following resource(s) require capabilities: [AWS::IAM::Role]"
}
- Update the
ScheduleExpression: "cron(00 04 * * ?)"to refelct the schedule you want (GMT timezone)- If you need backups to run at different times, add multiple rules to BackupPlanRule
- Resource attributes currently set to
AWS::NoValuewill likely need to be considered for Production deployments, update as needed
Example usage to configure AWS backup for a DynamoDB Table and an RDS Instance:
aws cloudformation create-stack --stack-name my-backup-stack --parameters ParameterKey=NotificationEmail,[email protected] ParameterKey=ResourceArns,ParameterValue='"arn:aws:rds:us-east-1:12345678901:db:foo-bar,arn:aws:dynamodb:us-east-1:12345678901:table/FooBar"' --template-body file://awsbackup.yaml --capabilities CAPABILITY_NAMED_IAM