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 you needs.
We also support importing of existing environments and setups for WebTierAutoScaling and Beanstalk environment.
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 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.
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.
- Security Group - specify one or more security groups to associate with the instances launched in this Elastigroup.
- 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.
- Namespace - Dropdown menu with available Namespaces based on AWS Cloudwatch and Google Cloud Monitoring metrics.
- Statistic - The type of statistic you will utilize, for example, average or sum
- Metric Name - The name of the metric being used.
- Operator - Setting the relationship between the threshold and the rule
- Threshold - the numerical value used to set point of scaling
- Unit - the type of unit used, for example; Percent, Bytes, seconds etc…
- Consecutive period - A numerical multiplier for the Period value used to avoid momentary spikes or deeps in metric values
- Period - The time to collect and evaluate the metric
- Action Type - The actual action taken in case the scaling policy is answered
- Amount - How many instances or vCPU will be scaled
- Cooldown Period - The time in seconds that scaling will sleep before initiating another action.
- Dimensions - Specify the name of the dimension used and it’s value
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!