Once Beanstalk integration is configured, Elastigroup takes control of the automatic actions and decisions made regarding instance provisioning, scaling and deploying.
The Amazon ASG becomes passive, and the
max capacity will be set to 0 and double the original max capacity accordingly.
Group Initialization Process
Once an Elastigroup is created with Beanstalk integration, the following procedure takes place:
- Launching Elastigroup instances
- Registering new instances to load balancer
- Changing Beanstalk configuration to minimum 0 instances
- Removing Auto Scaling Group scaling policies
- Detaching existing instances (original ASG instances)
- Suspending Auto Scaling Group Processes:
It’s crucial that all capacity changes are done via Elastigroup. Failing to do so may result in unexpected behavior. this includes detaching instances, Elastigroup/Beanstalk environment termination, scaling policies, and manual capacity changes.
Application Updates / Deployment
When updating application version or deploying a new application, no additional actions are required on the Elastigroup.
Infrastructure configuration changes
Infrastructure configuration changes are changes made in the Beanstalk environment settings that require new EC2 instances to be provisioned. This includes changes to the launch configuration such as instance type, key pair settings and changes to VPC. In these cases, it is crucial to put the Elastigroup in
Maintenance Mode, Before changing your Elastic Beanstalk configuration.
In a rolling update, a blue-green deployment is launched and all the group’s instances are gracefully replaced to apply changes.
Maintenance mode allows you to perform configuration changes to your infrastructure related resources which require a rolling update. This includes the following changes:
|Namespace: aws:autoscaling:launchconfiguration||Namespace: aws:ec2:vpc|
Once Maintenance is completed and the necessary Elastic Beanstalk configuration changes are made, a
blue-green deployment is forced where a graceful replacement of existing instances with new, updated instances (that contain the new configuration change) takes place.