I want to run my site through Amazon's Elastic Beanstalk but to do so i need to configure an S3 bucket and the Drupal Amazon S3 module requires that i have to hack core. Surely there must be a way around this? Would Storage API module be a way around this?
I think you should give a try to S3FS module
S3 File System (s3fs) provides an additional file system to your drupal site, which stores files in Amazon's Simple Storage Service (S3) or any other S3-compatible storage service. You can set your site to use S3 File System as the default, or use it only for individual fields. This functionality is designed for sites which are load-balanced across multiple servers, as the mechanism used by Drupal's default file systems is not viable under such a configuration.