Create Elastigroup workflow:
Before getting started: Please make sure you connected your Spotinst and AWS accounts (please see: https://console.spotinst.com/#/wizard/aws)
First, we need to head over to the Elastigroup section:
And click on the Create group option:
Select an appropriate use case for your Elastigroup and click on "Launch" - This should take care of some initial settings for you. Select the use case that best suits your needs.
note: We also support importing of existing environments and setups for WebTierAutoScaling, Beanstalk environment and more.
example for importing Beanstalk environment
Notice that for Web Tier AutoScaling, ECS and Stateful Single Server we have a recommended configuration on the right side of the creation wizard for each one of these options. This recommended configuration guides you on what to choose in every tab of the wizard. That said, this is only a recommendation. You are allowed to choose a different configuration that best suits your use case.
Below is an example of the recommended configuration for the Web Tier AutoScaling:
you also have the option of importing an environment (Beanstalk for example)
Your Elastigroup’s general information.
- Name - Choose a name for your Elastigroup (We encourage our clients to name their Elastigroup’s based on the specific workload it will manage).
- Region - Choose in which region this Elastigroup will be running.
- Description - Define any additional description for your Elastigroup.
Note: you can also import an existing JSON, Instance, beanstalk or Auto Scaling group and more via the blue import button on the bottom left side
Setting the desired capacity of the Elastigroup.
- Target - Number of running instances/vCPU weight in your Elastigroup
- Minimum - In the case of a ‘scale down’ policy action, this is the minimum number of running instances/vCPU weight in the group.
- Maximum - In the case of a ‘scale up’ policy action, this is the maximum number of running instances/vCPU weight in the group.
Note: The minimum acceptable value is 0.
For more advanced settings please see: Advanced setting - General Tab
This is where we can set up the Compute related specification, including Network and the launch configuration.
- VPC - Choose your VPC network
- Product - Select your OS, if you’re unsure please choose "Linux/UNIX". Please note that if you have both EC2-Classic and VPC networks enabled in your account, you must explicitly choose it in this field as "Amazon VPC"
- On-Demand Type - Choose your default On-Demand instance type. This will also allow Elastigroup to benchmark the best Spot types based on price and performance. This will also be the instance type that will be used in case "Fallback to On-Demand" option is enabled in the Strategy tab.
After setting the VPC you can move on to selecting the AZ's you would like to use.
- Availability Zones - Select in which availability zones you would like to launch your instances. You can select one or more AZs for your Elastigroup.
It is recommended to choose as many AZs as possible, it will enable higher diversity and available markets for our algorithm to bid on.
- Selecting subnets - Select the desired subnet in each availability zone.
Select the Spot instance types within your Elastigroup. After selecting your desired spot types you will also see the SpotMarket Scoring - giving you a notion of how the markets are going top behave- the higher the score the better!
It is recommended to choose as many instance types as possible, it will enable higher diversity and available markets for our algorithm to bid on.
Everything related to the instance configuration upon launch will be configured here:
- Image - Choose your AMI template id that contains the software configuration required to launch your instance. You can also select images from a list of common by clicking on the three dots on the text field - as well as check the AMI details after selecting it.
- Security Group - specify one or more security groups to associate with the instances launched in this Elastigroup. You can also check the Security group details by clicking on " more. You can view the rules after selecting a security groups
- Key Pair - Specify the name of the key pair to associate with your instances.
- Tags - Assign tags consisting of a case-sensitive key-value pair.
For more advanced settings please see: Advanced setting - Compute Tab
You can add scaling policies to your group to help you adjust computing capacity based on increasing load or quiet hours. You can set as many policies as you like to guarantee the group capacity changes according to your needs. You can add as many scaling rules as you wish. We use CloudWatch metrics for scaling rules.
To create a policy please click on “ADD POLICY” and extend the policy to fill in the required fields.
- Policy name - The name you assign to the policy - we recommend using a meaningful name to help you understand scaling actions better in the future.
- source - Dropdown menu with available metrics source.
- auto scale based on - The name of the metric being used as a trigger for autoscaling
(i.e.- CPU Utilization)
- Threshold - the numerical value used to set point of scaling
- Action Type - The actual action taken in case the scaling policy is answered
- Amount - How many instances or vCPU will be scaled (you can also specify expressions)
- Dimensions - Specify the name of the dimension used and it’s value. If no dimension is specified, the default is the average of instances in the group, divided into instance types.
advanced configuration for your scaling policy:
you can also set a few advanced parameters for your scaling policy
- Statistic - The type of statistic you will utilize, for example, average or sum
- Operator - Setting the relationship between the threshold and the rule
- Period - The time to collect and evaluate the metric
- Cooldown - The time in seconds that scaling will sleep before initiating another action.
This is the last step before launching your Elastigroup!
You can see the JSON representing the group setup, review it and also modify it to add advanced capabilities like BlockDeviceMapping etc.. via the Edit Mode option.
The JSON can also be exported and used via other provisioning tools. Clicking the Create button will now launch the group!
Congratulations on creating your first Elastigroup!