Class: Aws::AutoScaling::Types::InstancesDistribution

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-autoscaling/types.rb

Overview

Use this structure to specify the distribution of On-Demand Instances and Spot Instances and the allocation strategies used to fulfill On-Demand and Spot capacities for a mixed instances policy.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#on_demand_allocation_strategyString

The allocation strategy to apply to your On-Demand Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.

The following lists the valid values:

lowest-price

: Uses price to determine which instance types are the highest

priority, launching the lowest priced instance types within an
Availability Zone first. This is the default value for Auto
Scaling groups that specify [InstanceRequirements][1].

prioritized

: You set the order of instance types for the launch template

overrides from highest to lowest priority (from first to last in
the list). Amazon EC2 Auto Scaling launches your highest priority
instance types first. If all your On-Demand capacity cannot be
fulfilled using your highest priority instance type, then Amazon
EC2 Auto Scaling launches the remaining capacity using the second
priority instance type, and so on. This is the default value for
Auto Scaling groups that don't specify [InstanceRequirements][1]
and cannot be used for groups that do.

[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html

Returns:

  • (String)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end

#on_demand_base_capacityInteger

The minimum amount of the Auto Scaling group’s capacity that must be fulfilled by On-Demand Instances. This base portion is launched first as your group scales.

This number has the same unit of measurement as the group’s desired capacity. If you change the default unit of measurement (number of instances) by specifying weighted capacity values in your launch template overrides list, or by changing the default desired capacity type setting of the group, you must specify this number using the same unit of measurement.

Default: 0

Returns:

  • (Integer)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end

#on_demand_percentage_above_base_capacityInteger

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond ‘OnDemandBaseCapacity`. Expressed as a number (for example, 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand Instances are used.

Default: 100

Returns:

  • (Integer)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end

#spot_allocation_strategyString

The allocation strategy to apply to your Spot Instances when they are launched. Possible instance types are determined by the launch template overrides that you specify.

The following lists the valid values:

capacity-optimized

: Requests Spot Instances using pools that are optimally chosen

based on the available Spot capacity. This strategy has the lowest
risk of interruption. To give certain instance types a higher
chance of launching first, use `capacity-optimized-prioritized`.

capacity-optimized-prioritized

: You set the order of instance types for the launch template

overrides from highest to lowest priority (from first to last in
the list). Amazon EC2 Auto Scaling honors the instance type
priorities on a best effort basis but optimizes for capacity
first. Note that if the On-Demand allocation strategy is set to
`prioritized`, the same priority is applied when fulfilling
On-Demand capacity. This is not a valid value for Auto Scaling
groups that specify [InstanceRequirements][1].

lowest-price

: Requests Spot Instances using the lowest priced pools within an

Availability Zone, across the number of Spot pools that you
specify for the `SpotInstancePools` property. To ensure that your
desired capacity is met, you might receive Spot Instances from
several pools. This is the default value, but it might lead to
high interruption rates because this strategy only considers
instance price and not available capacity.

price-capacity-optimized (recommended)

: The price and capacity optimized allocation strategy looks at both

price and capacity to select the Spot Instance pools that are the
least likely to be interrupted and have the lowest possible price.

[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html

Returns:

  • (String)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end

#spot_instance_poolsInteger

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the overrides. Valid only when the ‘SpotAllocationStrategy` is `lowest-price`. Value must be in the range of 1–20.

Default: 2

Returns:

  • (Integer)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end

#spot_max_priceString

The maximum price per unit hour that you are willing to pay for a Spot Instance. If your maximum price is lower than the Spot price for the instance types that you selected, your Spot Instances are not launched. We do not recommend specifying a maximum price because it can lead to increased interruptions. When Spot Instances launch, you pay the current Spot price. To remove a maximum price that you previously set, include the property but specify an empty string (“”) for the value.

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify one.

Valid Range: Minimum value of 0.001

Returns:

  • (String)


4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
# File 'lib/aws-sdk-autoscaling/types.rb', line 4326

class InstancesDistribution < Struct.new(
  :on_demand_allocation_strategy,
  :on_demand_base_capacity,
  :on_demand_percentage_above_base_capacity,
  :spot_allocation_strategy,
  :spot_instance_pools,
  :spot_max_price)
  SENSITIVE = []
  include Aws::Structure
end