Is there any way to download small ROI from a sentinel-2 tile that is stored on AWS instead of downloading the whole tile and then cropping it?
This is the purpose of the Sentinel Hub Process API. This allows you to only download and access the pixels you require rather than the full tile. I encourage you to read the documentation here, and also test out some of the Sentinel-2 examples here. You can either test them using your terminal or a application like Postman or you can also utilise our Request Builder application, which is a good tool to learn about the ins and outs of our APIs.