You can setup more advanced settings in the Elastigroup Compute tab. These will allow for greater control over networking, Stateful Configuration, integrations and load balancer setup.
- Image - Choose your AMI template id that contains the software configuration required to launch your instance.
- Security Group - specify one or more security groups to associate with the instances launched in this Elastigroup.
- IAM Role - Select the instance profile that contains the required IAM role.
- EBS Optimized - Enables additional, dedicated throughput between Amazon EC2 and Amazon EBS, and therefore improves performance for your Amazon EBS volumes (extra charge).
- Detailed Monitoring - Pull CloudWatch metrics every 1 minute (extra charge).
- Tenancy - Allowing you to select Dedicated Tenancy for your instances
- Public IP - Requests an ephemeral public IP address from Amazon's public IP address pool, in order to make your instance reachable from the Internet.
- Elastic IPs - Specify one or more Elastic IPs to associate with the instances in the Elastigroup. When an instance is being replaced, its Elastic IP will be automatically associated with a different EC2 instance in your group. Note this setting is not available for EC2 Classic environments.
- Private IP - Available only if you use a single availability zone.
- Please note: while deploying on a single server environment with a Private IP the existing instance will be terminated and only after termination a new instance can be launched.
- Associate IPv6 Adress - Checkbox to assign the instances with IPv6 addresses.
You can specify user data to configure an instance or run a configuration script during launch.
Specify and run shutdown scripts that execute commands right before an instance is terminated. This is useful if you rely on automated scripts to shut down instances, allowing them time to clean up or perform tasks, such as exporting logs or syncing with other systems.
For more information please see: Shutdown Script
Allows you to set data integrity rules for the Elastigroup - for more information please see: Stateful application.
this configuration allows you to maintain the same resources (root volume, data volume, and private IP.) for each individual instance in the group. Upon instance replacement, a new instance containing the exact same resources will be launched. Suitable for single instance databases (i.e WordPress, MySQL, Oracle etc..) and Stateful NoSQL clusters such as Cassandra and Elastic.co.
For Stateless applications or Load Balancer clusters - we recommend a configuration that will backup and maintain a single AMI for the entire Elastigroup. Create automatic scheduled AMI backups. Upon instance replacement, Elastigroup will use the latest AMI available according to the defined interval Suitable for auto scaling and multi-instance layers (such as web tier or a web service etc..)
- Persist root volume – The same data (OS / Configuration etc will be maintained for your instance. To further increase the reliability of your instances we also create periodic snapshots of your root volumes while your instance is running. The new instance will be created from a “final” snapshot that will be taken only after the original instance is terminated and the EBS volumes change to an “available” state.
- Persist data volumes – All data volumes that were attached at the time of the previous instance termination will be automatically re-attached using the same BlockDeviceMapping configuration upon instance replacement.
- Reattach Volumes - The Same EBS volume will be detached from the original instance and will be reattached to the new instance.
- Snapshot Backups - A new EBS volume will be created alongside the instance as it is launched.
- Persist private IP – New instances will be provisioned with the same private IP using the same Elastic Network Interface.
- Private IP Pools - You can specify a pool of private IPs to be used by the Stateful instances.
Associate one or more Elastic Load Balancers and Application Load Balancers with this Elastigroup.
Load Balancer - Select your ELB, ALB Target sets or MLB targets.
Auto Healing - Select which health check service will automatically perform health checks on your EC2 instances. If an instance fails the health check, it is automatically removed from the Elastigroup and will be replaced with a new instance.
- ELB - Use amazon’s Elastic load balancer health check.
- TARGET SET - Use the AWS Application load balancer health check.
- EC2 - Use the AWS EC2 Status check.
- HCS - Use spotinst health check. You can read more about it here: Spotinst HCS service.
- MLB - Use the Multai Load Balancer health check service. You can read more about it here: Introduction to Multai Load Balancer
Health Check Grace Period - Specify the time (in seconds) to allow an instance to boot and applications to fully start before the first health check. If an instance fails the health check after the given delay, it will be terminated and replaced with a new instance.
Unhealthy Duration - Specify the amount of time (in seconds) you want to keep existing instances that are deemed unhealthy before the instance is terminated and replaced with a new one.
Multai Load balancer related settings:
- AZ Awareness - If selected, Runtime servers will know to redirect traffic to agents in the same AZ to preserve network traffic.
- Auto Weight - Direct traffic based on instance availability and computing capabilities.
- Elastic Container Service (ECS) - Check the box to the left of ECS to integrate your Elastigroup with the Elastic Container Service on AWS. This integration will create an API call to the ECS service to add additional servers when needed and safely drain servers that are predicted to go down due to Spot Interruption. This occurs well before the two-minute warning provided by AWS. Select the cluster name from the drop down list. If you are using the ECS integration be sure to clear any ELBs that you have selected above. The ECS service will automatically register the instances in your Elastigroup with the necessary ELBs in use. For more information about this integration please go to ECS Integration
- Elastic Beanstalk - Check the box to the left of the Elastic Beanstalk icon. From the drop-down select the EB environment that you would like to integrate. If you check “Automatic Deployment” a rolling deploy will occur automatically whenever a deploy is detected for the Elastic Beanstalk environment. You can select “Replace” to replace instances in the rolling deploy or “Restart” to simply restart these instances. The Grace period is the amount of time that will elapse before the next batch of instances will be rolled. The “Batch Percentage” is the percentage size of instances that you would like to roll. For example, if you have an Elastigroup with 12 servers, select auto-deploy, replace, a grace period of 300 seconds, and batch percentage of 25% 4 instances will be provisioned and attached to the ELB, 4 instances will be detached and 5 minutes will elapse before these detached instances are terminated. Another 4 instances will be provisioned and the cycle will continue until all 12 instances have been replaced. For more information about this integration please go to Elastic Beanstalk Integration
- Kubernetes - Check the box to the left of the Kubernetes icon. Enter the Host IP or Public DNS name and enter a token with permission to add, drain, and remove servers from a cluster then click “Test Connection”. Once this connection has been verified the integration will allow the Elastigroup to make API calls to your Kubernetes master to drain instances that have been detected for Spot Interruption by the Spotinst Algorithm. The Elastigroup will also simultaneously launch new instances to ensure that there is enough capacity before the previous instance is terminated. This process ensures that there is enough instance capacity at all times. For more information about this integration please go to Kubernetes Integration
- Rancher - Check the box to the left of the Rancher icon. Enter the Host IP or Public DNS name, Access Key and Secret key with permission to add, drain, and remove servers from a cluster then click “Test Connection”. Once this connection has been verified the integration will allow the Elastigroup to make API calls to your Rancher master to drain instances that have been detected for Spot Interruption by the Spotinst Algorithm. The Elastigroup will also simultaneously launch new instances to ensure that there is enough capacity before the previous instance is terminated. This process ensures that there is enough instance capacity at all times. For more information about this integration please go to Rancher Integration
- Mesosphere DC/OS - Check the box to the left of the Mesosphere Icon. Enter the Host IP or Public DNS name of the API server then click “Test Connection”. Once this connection has been verified the integration will allow the Elastigroup to make API calls to your DC/OS master to drain instances that have been detected for Spot Interruption by the Spotinst Algorithm. The Elastigroup will also simultaneously launch new instances to ensure that there is enough capacity before the previous instance is terminated. This process ensures that there is enough instance capacity at all times. For more information about this integration please go to Mesosphere Integration
- RightScale - Check the box to the left of the “Rightscale” icon then enter the account ID and refresh token for your Rightscale account. The Rightscale integration will ensure that any server instances artifacts from terminated instances are cleaned up as part of the Elastigroup de-provisioning process when a server is predicted to be interrupted. In the coming months, Spotinst will be providing more in-depth integrations with the RightScale platform. For more information go to Rightscale Integration
- CodeDeploy - Check the box to the left of the CodeDeploy Icon. Select your application and Deployment group resources. Note: the application and Deployment group resources should already exist in your AWS account. For more information go to CodeDeploy Integration
- OpsWorks - Check the box to the left of the OpsWork Icon. Select the Stack ID and Layer ID for your environment. For regional opsWorks stacks, the elastigroup must be in the same region as the stack. Do not change the instances hostname, as we are using this to identify the instance in opsWorks. For more information go to opsWorks Integration