I would like to migrate an web application to Amazon AWS.

The application stores and retrieves small persistent data from a content/ directory. I tried Amazon Elastic Beanstalk to deploy the application however new stored files are lost when the instance is restarted or a new build is deployed.

The Amazon solution to use beanstalk is to create a s3 bucket and use Amazon APIs to store data.

I rather not modify our code and create total dependency to Amazon Services.

Is there any way to migrate my application without change the code to amazon services. I would like to do not create a full VM just to run the application.

  • 1
    Your question is unclear. Elastic Beanstalk runs virtual machine(s) in order to run your application, with data persisted in EBS (elastic block store). EBS volumes could be lost if the VM is terminate. You can use EFS (elastic file system) which is (from memory) an NFS 4.1 server to store files. – Tim May 16 '17 at 22:40
  • I edited the question to make it more clear. thanks – Daniel Santos May 16 '17 at 22:48

EBS volumes in Elastic Beanstalk are not considered persistent. Your options are:

  • S3 - code change likely required
  • A database, RDS or DynamoDB - code change required
  • EFS (Elastic File System) - code change not required, so this is likely your best solution. This is an NFS 4.1 compliant store, is persistent, so it won't lock you to AWS. You could run on premise or in another cloud.

There's a guide on how to use EFS with Elastic Beanstalk here. It's configuration which sits outside the application.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.