AWS Official Blog

AWS Elastic Beanstalk Under the Hood

by Jeff Barr | on | in AWS Elastic Beanstalk | | Comments

The default configuration settings for your AWS Elastic Beanstalk application were chosen to work well under a wide variety of conditions. However, rest assured that you have the ability to view and to edit the settings as you’d like if and when you decide to “open the hood” (so to speak). You can do all of this from within the Elastic Beanstalk tab on the AWS Management Console.


Here’s an outline of the settings available for each Elastic Beanstalk application. There is a tab in the console’s Configuration Editor for each category:

  • Server – EC2 instance type, security groups, key pair (for SSH login), CloudWatch monitoring interval, and AMI ID (for customization).
  • Load Balancer – HTTP and HTTPS ports (each optional), the ID of a previously uploaded SSL Certificate, health check intervals, timeouts, and URL, and optional session stickiness with control over the cookie lifetime.
  • Auto Scaling – Minimum and maximum instance count, and nine settings for the trigger that is used to drive scaling decisions.
  • Notifications – An email address that can receive notification of important application events such as scale-up and scale-down actions initiated by Auto Scaling.
  • Container – The settings in this tab are peculiar to each container type. With the default (Java / Tomcat 6) container, this tab lets you control the size of the Java Virtual Machine’s heap and garbage collection parameters. You can also pass any desired arguments directly to the JVM. You can also choose to make your AWS credentials and a JDBC connection string available within each running EC2 instance.


You have the ability to fine tune your application’s resource utilization, performance, and behavior, should you have the need to do so.

Keep Reading: AWS Elastic Beanstalk Programming Model.

— Jeff;