fbpx

Introduction

Elastigroups support a “High Availability” deployment structure to allow you to evenly distribute instances across multiple AZs in a single region. This Elastigroup orientation will guarantee equal capacity across all selected AZs.

Using this option will guarantee capacity even if there are no spot instances available. While no Spot instances are available the Elastigroup will launch on-demand instances instead.

Note: The Target capacity of the group will apply for the entire group, for example, if you want to use X AZs – please select a Target capacity that is a multiplication of X.

How this works

1. Upon Elastigroup creation or Scale up – Before spinning new instances we will check the current spread of instances, according to the current chosen AZs in the group we will spin up the instances in an equally divided manner across the selected AZs.

2. On Scale down – According to the current spread of instances across the AZs we will detach instances in a way that they remain equally divided.

Note: When using this strategy, the “Spot Instance Percentage” or “On-Demand Count” settings will apply per AZ and not for the whole group, so for example, a group with 2 AZs and a “Spot Instance Percentage” <50%, when launching 2 instances they will both be spots.

Enabling Equal AZ Orientation

This option is only available via the API or the “Edit Configuration” option in the UI.

From the UI:

While creating a new Elastigroup or Editing an existing Elastigorup configuration

  1. Set up your group
  2. Make sure that you select a target capacity that will match (or is a multiple of) the amount of AZs
  3. In the Review tab, enable “Edit Mode” and edit the JSON
  4. Set the value of “availabilityVsCost” to:”equalAzDistribution”

 

Using the API:

While creating an Elastigorup – Use the “equalAzDistribution” in the availabilityVsCost field in the Elastigroup JSON

While updating an Elastigroup – Update the strategy of the Elastigroup.  The following is an example JSON:

 {
  "group": {
    "strategy": {
      "risk": 100,
      "availabilityVsCost": "equalAzDistribution",
      "drainingTimeout": 60,
      "fallbackToOd": true,
      "persistence": {}
    }
  }
}

 

Note: Reserved instances utilization is not supported for even distribution of instances.