Setup overview for creating a mixed instances group
This topic provides an overview and best practices for creating an Auto Scaling mixed instances group.
Contents
Instance type flexibility
To enhance availability, deploy your application across multiple instance types. It's a best practice to use multiple instance types to satisfy capacity requirements. This way, Amazon EC2 Auto Scaling can launch another instance type if there is insufficient instance capacity in your chosen Availability Zones.
We recommend being flexible across at least 10 instance types for each workload.
Availability Zone flexibility
We strongly recommend that you span your Auto Scaling group across multiple Availability Zones. With multiple Availability Zones, you can design applications that automatically fail over between zones for greater resiliency.
As an added benefit, you can access a deeper Amazon EC2 capacity pool when compared to groups in a single Availability Zone. Because capacity fluctuates independently for each instance type in each Availability Zone, you can often get more compute capacity with flexibility for both the instance type and the Availability Zone.
For more information about using multiple Availability Zones, see Example: Distribute instances across Availability Zones.
Regional availability of instance types
The availability of EC2 instance types varies depending on your AWS Region. For
example, the newest generation instance types might not yet be available in a given
Region. Due to the variances in instance availability across Regions, you might
encounter issues when making programmatic requests if multiple instance types in
your overrides are not available in your Region. Using multiple instance types that
are not available in your Region might cause the request to fail entirely. To solve
the issue, retry the request with different instance types, making sure that each
instance type is available in the Region. To search for instance types offered by
location, use the describe-instance-type-offerings
Limitations
After you add overrides to an Auto Scaling group using a mixed instances
policy, you can update the overrides with the
UpdateAutoScalingGroup API call but not delete them. To completely
remove the overrides, you must first switch the Auto Scaling group to use a launch template
or launch configuration instead of a mixed instances policy. Then, you can add a
mixed instances policy again without any overrides.