Other commenters have mentioned you should figure out
why they want to do this, which is important. There could be actual, real legal requirements. There could be internal policies which are, or aren't, flexible. It could just be an IT department protecting its fiefdom.
There are in-between options.
* Tell them that the software is designed to run on your own infrastructure, and while it could be delivered in a form they could run themselves, it would take a lot of extra time or money.
* Offer to run it yourself, but as an entirely separate instance just for them, without the intermingling of other customer data. You'd basically have a parallel setup inside a different AWS account.
* One big reason they might want to run it themselves, is that if your business goes down, they don't experience immediate disruption. It's not uncommon for a code escrow agreement to exist, which means that if your business becomes insolvent, the client gets a copy of your code, and the right to maintain it themselves. Combine this with a separate AWS account running their instance, and give them administrative and billing access to that AWS instance, and you may address their continuity concerns.
* Tell them that you don't support the software on Windows, or Oracle, and that while they can run it on their own setup, they'll have to do it on top of Linux. (If the IT department just tries to routinely absorb everything, this may give them pause)
* Deliver the software as a virtual applicance. (Require a particular hypervisor - for instance, Github is delivered as a VM that only runs on top of VirtualBox or VMWare. The former isn't recommended for production use for performance reasons)