Creating an Elastigroup in Azure

This tutorial covers creating an Elastigroup from scratch in Azure.


Please make sure to connect your Spotinst and AWS accounts. For more on connecting your Azure account to Spotinst please see: Spotinst Azure – Getting started with Elastigroup.

Step 1: Open The Creation Wizard

In the Elastigroups view, select Create to open the Creation Wizard.

Step 2: General Configurations

(Optional) Import an Existing Elastigroup or Scale Set

The Creation Wizard can optionally import an existing configuration for Elastigroup on Azure or an existing Scale Set group. This is done via the blue import button on the bottom left side.

Name: Choose a name for the Elastigroup. We recommend using a naming convention based on the specific workload the Elastigroup will manage.
Region: Select an Azure Region the Elastigroup will run in.

Elastigroup Capacity

  • Target: The number of Low Priority VM’s in your Elastigroup.
  • Minimum: In the case of a ‘scale down’ policy action, this is the minimum number of running Low Priority VM’s in the group.The minimum acceptable value is 0.
  • Maximum: In the case of a ‘scale up’ policy action, this is the maximum number of running Low Priority VM’s in the group. The minimum acceptable value is 0.

(Optional) Configure Scheduling Policies

Optionally configure a variety of scheduled scaling activities using Cron Expressions under Scheduling. Scheduling is useful when you have anticipated changes in the required capacity, such as scaling down ahead of weekend slowdowns and scaling up ahead of a morning traffic spike.

Step 3: Compute

Product: Select an OS, can be either Linux or Windows.
Elastigroup Resource Group: Elastigroup launches Virtual Machine Scale Sets (VMSS) to manage your Low priority VMs. Select the Resource Group for Elastigroup to launch these VMSS’s into.
Low priority Sizes: Select the Low Priority VMs sizes to be available for the Elastigroup. Make sure the selected VM size is available in the desired Region.

 Note: To maximize cost savings, provide the Elastigroup with all possible Low-Priority VM sizes compatible with the expected workload. The more VM sizes, the better the odds Elastigroup will find an available Low-Priority VM to run on.

On-Demand Sizes: Select the Regular Priority VMs sizes within the Elastigroup. These are used in the event that no Low-Priority VMs are available in the sizes requested. Make sure the selected VMs are available in the desired Region.

  • Marketplace: choose one of the Images available in the Azure Marketplace.
  • Custom: Choose on of your custom made VM Images.


  • Vnet Resource Group: Select the Vnet Resource group you want your Elastigroup Scale Sets to be a part of.
  • Virtual Network: Select the specific Virtual Network (VN) for your Elastigroup.
  • Subnet ID: Select the specific Subnet inside your VN.
  • Assign Public IP: Check this mark of you wish VMs in this Elastigroup to launch with a Public IP.

User Name: Specify the User you wish to SSH the VM’s with.
SSH Key/Windows Password: The Public SSH Key for the specified User. If Windows is the selected VM product, this will be a password.

Warning: A valid SSH Public Key is required to create an Elastigroup.

(Optional) Add User Data

User data is useful for launching VMs with all required configurations and software installations. Elastigroup can load user data (a.k.a custom scripts) during the provisioning of VMs. To add User Data to the VMs that the Elastigroup launches, under Additional Configurations in the Compute tab enter the script in the User Data field.

Step 7: Review

Review your configurations in the Review tab. To create the Elastigroup click Create.