Configuration Changes

When you modify configuration option settings in the Configuration section of the environment
management console, AWS Elastic Beanstalk propagates the change to all affected resources. These resources
include the load balancer that distributes traffic
to the Amazon EC2 instances running your application, the Auto Scaling group that
manages those instances, and the EC2 instances themselves.

Many configuration changes can be applied to a running environment without replacing
existing instances. For example, setting a health check URL triggers an environment update to modify the load balancer settings, but
doesn't cause any downtime because the instances running your application continue
serving requests while the update is propagated.

Configuration changes that modify the launch configuration or VPC settings require terminating all instances in your environment and replacing them. For example,
when
you change the instance type or SSH key setting for your environment the EC2 instances
must be terminated and replaced. To prevent downtime during these
processes, Elastic Beanstalk applies these configuration changes in batches, keeping
a minimum number of instances running and serving traffic at all times. This
process is called a rolling update.

Immutable updates are an alternative to rolling updates where a temporary Auto Scaling group is
launched outside of your environment with a separate set of instances running on the
new configuration, which are placed behind your environment's load
balancer. Old and new instances both serve traffic until the new instances pass health
checks, at which time the new instances are moved into your
environment's Auto Scaling group and the temporary group and old instances are terminated.