Backup automation using ECS
Fossilize is setup to periodically perform backup tasks using ECS (and thus Docker) as the workhorse and can be triggered utilizing any of the means that AWS gives us to trigger events
Fossilize has an ECS cluster with a single processor node (for the time being) which will run tasks sent to it by a Lambda function. These Lambda functions will typically be triggered by a timer.
This gives us the ability to pre-define our runtimes as Docker containers which self-contain all the requirements to perform a backup.
Dyanmo backups are triggered once daily using CloudWatch Events to Lambdas which then trigger ECS tasks which dump Dynamo tables using the dynamodump project and then copying the data/schemas to S3 using the AWS CLI.
The backups are tested after each run by downloading the backups from S3, creating a temporary Dynamo table, verifying successful restore, then deleting the temporary table.