The create new environment wizard
In Creating an Elastic Beanstalk environment we show how to open the Create environment wizard and quickly create an environment. Choose Create environment to launch an environment with a default environment name, automatically generated domain, sample application code, and recommended settings.
This topic describes the Create environment wizard and all the ways you can use it to configure the environment you want to create.
Wizard page
Select a platform for the new environment
You can create a new environment from two types of platforms:
-
Managed platform
-
Custom platform
Managed platform
In most cases you use an Elastic Beanstalk managed platform for your new environment. When the new environment wizard starts, it selects the Managed platform option by default.

Select a platform, a platform branch within that platform, and a specific platform version in the branch. When you select a platform branch, the recommended version within the branch is selected by default. In addition, you can select any platform version you've used before.
For a production environment, we recommend that you choose a platform version in a supported platform branch. For details about platform branch states, see the Platform Branch definition in the Elastic Beanstalk platforms glossary.
Custom platform
If an off-the-shelf platform doesn't meet your needs, you can create a new environment from a custom platform. To specify a custom platform, choose the Custom platform option, and then select one of the available custom platforms. If there are no custom platforms available, this option is dimmed.
Provide application code
Now that you have selected the platform to use, the next step is to provide your application code.

You have several options:
-
You can use the sample application that Elastic Beanstalk provides for each platform.
-
You can use code that you already deployed to Elastic Beanstalk. Choose Existing version and your application in the Application code section.
-
You can upload new code. Choose Upload your code, and then choose Upload. You can upload new application code from a local file, or you can specify the URL for the Amazon S3 bucket that contains your application code.
Note Depending on the platform version you selected, you can upload your application in a ZIP source bundle, a WAR file, or a plaintext Docker configuration. The file size limit is 500 MB.
When you choose to upload new code, you can also provide tags to associate with your new code. For more information about tagging an application version, see Tagging application versions.
For quick environment creation using default configuration options, you can now choose Create environment. Choose Configure more options to make additional configuration changes, as described in the following sections.
Wizard configuration page
When you choose Configure more options, the wizard shows the Configure page. On this page you can select a configuration preset, change the platform version you want your environment to use, or make specific configuration choices for the new environment.
Choose a preset configuration
On the Presets section of the page, Elastic Beanstalk provides several configuration presets for different use cases. Each preset includes recommended values for several configuration options.

The High availability presets include a load balancer, and are recommended for production environments. Choose them if you want an environment that can run multiple instances for high availability and scale in response to load. The Single instance presets are primarily recommended for development. Two of the presets enable Spot Instance requests. For details about Elastic Beanstalk capacity configuration, see Auto Scaling group.
The last preset, Custom configuration, removes all recommended values except role settings and uses the API defaults. Choose this option if you are deploying a source bundle with configuration files that set configuration options. Custom configuration is also selected automatically if you modify either the Low cost or High availability configuration presets.
Change the platform version
On the Platform section of the page, you can change the platform version that your new environment will use. You can choose the recommended version in any platform branch, or any platform version that you've used in the past.

Customize your configuration
In addition to (or instead of) choosing a configuration preset, you can fine-tune configuration options in your environment. The Configure wizard wizard shows several configuration categories. Each configuration category displays a summary of values for a group of configuration settings. Choose Edit to edit this group of settings.
Configuration Categories
Software settings
Use the Modify software configuration page to configure the software on the Amazon Elastic Compute Cloud (Amazon EC2) instances that run your application. You can configure environment properties, AWS X-Ray debugging, instance log storing and streaming, and platform-specific settings. For details, see Environment properties and other software settings.

Instances
Use the Modify instances configuration page to configure the Amazon EC2 instances that run your application. For details, see The Amazon EC2 instances for your Elastic Beanstalk environment.

Capacity
Use the Modify capacity configuration page to configure the compute capacity of your environment and Auto Scaling group settings to optimize the number and type of instances you're using. You can also change your environment capacity based on triggers or on a schedule.
A load-balanced environment can run multiple instances for high availability and prevent downtime during configuration updates and deployments. In a load-balanced environment, the domain name maps to the load balancer. In a single-instance environment, it maps to an elastic IP address on the instance.
A single-instance environment isn't production ready. If the instance becomes unstable during deployment, or Elastic Beanstalk terminates and restarts the instance during a configuration update, your application can be unavailable for a period of time. Use single-instance environments for development, testing, or staging. Use load-balanced environments for production.
For more information about environment capacity settings, see Auto Scaling group for your Elastic Beanstalk environment and The Amazon EC2 instances for your Elastic Beanstalk environment.

Load balancer
Use the Modify load balancer configuration page to select a load balancer type and to configure settings for it. In a load-balanced environment, your environment's load balancer is the entry point for all traffic headed for your application. Elastic Beanstalk supports several types of load balancer. By default, the Elastic Beanstalk console creates an Application Load Balancer and configures it to serve HTTP traffic on port 80.
You can only select your environment's load balancer type during environment creation.
For more information about load balancer types and settings, see Load balancer for your Elastic Beanstalk environment and Configuring HTTPS for your Elastic Beanstalk environment.

Rolling updates and deployments
Use the Modify rolling updates and deployments configuration page to configure how Elastic Beanstalk processes application deployments and configuration updates for your environment.
Application deployments happen when you upload an updated application source bundle and deploy it to your environment. For more information about configuring deployments, see Deployment policies and settings.

Configuration changes that modify the launch configuration or VPC settings require terminating all instances in your environment and replacing them. For more information about setting the update type and other options, see Configuration changes.

Security
Monitoring
Use the Modify monitoring configuration page to configure health reporting, monitoring rules, and health event streaming. For details, see Enabling Elastic Beanstalk enhanced health reporting, Configuring enhanced health rules for an environment, and Streaming Elastic Beanstalk environment health information to Amazon CloudWatch Logs.

Managed updates
Use the Modify managed updates configuration page to configure managed platform updates. You can decide if you want them enabled, set the schedule, and configure other properties. For details, see Managed platform updates.

Notifications
Use the Modify notifications configuration page to specify an email address to receive email notifications for important events from your environment.

Network
If you have created a custom VPC, the Modify network configuration page to configure your environment to use it. If you don't choose a VPC, Elastic Beanstalk uses the default VPC and subnets.

Database
Use the Modify database configuration page to add an Amazon Relational Database Service (Amazon RDS) database to your environment for development and testing. Elastic Beanstalk provides connection information to your instances by setting environment properties for the database hostname, user name, password, table name, and port.
For details, see Adding a database to your Elastic Beanstalk environment.

Tags
Use the Modify tags configuration page to add tags to the resources in your environment. For more information about environment tagging, see Tagging resources in your Elastic Beanstalk environments.

Worker environment
If you're creating a worker tier environment, use the Modify worker configuration page to configure the worker environment. The worker daemon on the instances in your environment pulls items from an Amazon Simple Queue Service (Amazon SQS) queue and relays them as post messages to your worker application. You can choose the Amazon SQS queue that the worker daemon reads from (auto-generated or existing). You can also configure the messages that the worker daemon sends to your application.
For more information, see Elastic Beanstalk worker environments.
