Common issues with Elastic Beanstalk
What is Elastic Beanstalk?
AWS
Elastic Beanstalk is an orchestration service offered from Amazon Web Services for deploying infrastructure which orchestrates various AWS services, including EC2, S3, Simple Notification Service (SNS), CloudWatch, autoscaling, and Elastic Load Balancers.
How does DeployBot deploy to Elastic Beanstalk?
Deploying to Elastic Beanstalk is a simple process. First, we pack or bundle your source code similar to the “
deploy” step when using the EB CLI tool. Then a new version is created in Elastic Beanstalk, and we make that version current in your environment.
How does the lack of persistent storage on Elastic Beanstalk affect deployments?
Elastic Beanstalk applications run on Amazon EC2 instances that have no persistent local storage. This means each time you push or deploy the local file system is deleted and new Amazon EC2 instances start with a default file system.
You can prevent files from being deleted or removed when deploying by designing your application to store data in a persistent data source. Here are a few persistent storage options:
For more information on how persistent storage works with Elastic Beanstalk please read
Amazon’s developer guide.
Common deployment incidents with Elastic Beanstalk
Incident Error:
/
AWS::ElasticBeanstalk::Errors::InvalidParameterValue: Source bundle is empty or exceeds maximum allowed size: (\d+)/
What does this mean?
ElasticBeanstalk rejected your application because it is empty or exceeds the maximum allowed size (currently 500MB).
What we recommend:
Make sure you exclude all auxiliary files from the bundle. Use S3 to store any large assets used by your app. When files are too big you could try
adding certain files to your .gitignore file to reduce the size of your bundle.
Incident Error:
/AWS::ElasticBeanstalk::Errors::Throttling: Rate exceeded/
What does this mean?
AWS Elastic Beanstalk is temporarily blocking our API requests due to rate limiting.
What we recommend:
In most cases, you can try the deployment again and it will work.