Yep, that definitely sounds like a good use-case for a Lambda-based application, as long as you can divvy-up your work in to less-than-5-minute chunks of processing. Assuming you can, it would also help you get the parallel processing benefits you are after.
Not sure about your point 4, as the scope of that could be quite large (or it could not), depending on your hard requirements.
I haven’t used the data processing example myself, but technically the things you’re after are achievable.
Another option might be the recently released AWS Batch.