Introducing Private IP Persistence

Private IP Persistence maintains the same Private IP address for the instances during Spot Instance replacements. New instances are provisioned with the same private IP using the same Elastic Network Interface.

Elastigroup provides two options for IP persistence:

  • Maintain Private IP: A random IP is chosen for the subnet ID of the Elastigroup. This IP is retained in every instance replacement.
  • Private IP Pool: Specify a pool of private IPs to be used by the Stateful Spot Instances (SSI).
Example Use Cases
  • A cluster that communicates internally based on private IPs.
  • Customers who manage their workloads based on IP addresses.
  • Migrating existing services without having to change the configurations.
  • Load-balanced instances that register based on private IP.
  • NoSQL (Cassandra / Scylla / Mongo) databases that require a fixed set of Private IPs.
Maintain a Private IP

Once the Elastigroup is configured to persist the Private IP address,
Stateful Spot Instances (SSI) are created according to the group target capacity, each one holding a random IP chosen from the subnet ID of the Elastigroup.
An Elastic Network Interface (ENI) is created the first time the SSI is resumed after a Spot interruption and is associated with the newly created instance. The ENI is kept throughout the entire SSI lifecycle, including in points where the Stateful instance is paused. This is designed to make sure that the IP address remains available when the SSI is resumed after an interruption.

Caution: The ENI is required to maintain the stateful instance. Please do not delete it directly from AWS.
Private IP Pools

A Private IP Pool can be defined for your Stateful Elastigroup in the group’s configuration, under the Compute tab’s Stateful section. When you select the “Maintain Private IP” option, you may also check “Assign Specific Private IPs”:

When assigning several Private IPs, the group creates a Stateful Spot Instance (SSI) in a Paused state for each Private IP. The instances can then be launched by using the Resume action (for more info on stateful actions click here). If one of the SSIs in the group is deallocated, a new Paused SSI is created to replace it automatically, in order to maintain the association between the instances and the Private IP Pool. If the requested number of instances exceeds the number of provided IPs, random IPs are taken from the subnet ID to cover the additional instances.

Removing an IP from the Private IP Pool

When an IP is removed from the pool (or the option is deselected entirely) any SSIs that were created for the IP and never Resumed, are Deallocated.