ec2.backup_volumes_unless_recent_backup() should attempt to complete all backups - failures should be batched into a single exception after all volumes are processed, rather than raising after first encountered error.
Lower-level ec2. create_ebs_snapshot() might also benefit from a retry block with a parameter for maximum retries.