Accessing large app files using Elastic Beanstalk and Flask

amazon-web-serviceselastic-beanstalkflask

I'm deploying a flask app through AWS Elastic Beanstalk, and when I try and push my app for deployment, i get an error that the contents are too big. Apparently, there is a hard maximum upload of 512 mb. However, I have some pickle files and a whoosh index that take up more than 1gb of space.

How should I go about giving my flask app access to those large files?

As i understand it, if i were to scp them into the ec2 instance of the elastic beanstalk, it could be lost at any time if the instance is unmounted and replaced.

Thanks in advance for any answers!

Best Answer

I had the same problem and talked to AWS Technical support. They recommended using S3 for storing large files. Once it's done, you can use ebextensions to mention your files in the "files" section. You must copy into a temporary directory and then use a container command to copy into your application if you need that.

See: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-files http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-container-commands