Do you think this would be a sensible option? Would the 15 minutes running time be a deal breaker?
I would recommend using docker containers and writing it in a way that you can swap out lambda/ecs/k8s/etc as the backend infrastructure. That way you you can punt on doing any fancy work to try and break the jobs up across lambdas under that 15 min constraint.