I'm deploying a Windows / .NET MVC app on Elastic Beanstalk, and managed to get through most of the challenges except for one.
The webapp in question creates a local cache for binary assets in a subfolder of its current deployment location, and for this to work I need to add permissions for the IIS_IUSRS group to read/write to that folder.
After a long trial-and-error exercise I now have a solution that seems to work, but I am not 100% sure of the "legality" of it...
In the MVC solution, I created a folder named ".ebextensions", and in it a yaml file named "eb.config".
In this file I basically create 2 batch files that I deploy to c:\temp - the first batch file checks if there is already a copy of the 2nd file in C:\Program Files\Amazon\ElasticBeanstalk\hooks\appdeploy\post, and if not, copies it there.
The 2nd batch file sets the required ACL for this "BinaryData" folder. Elastic Beanstalk executes any batch file it finds in the folder mentioned above, and this seems to do the trick for now.
I haven't been able to find any documentation on how to achieve this "officially", and found out about this trick from this blogpost.
Any suggestions on how to achieve this in a "cleaner" way would be much appreciated.