Instance placement - AWS Outposts High Availability Design and Architecture Considerations

This document is in the process of being updated. In the interim, some of the content might not be accurate.

Instance placement

Outposts have a finite number of compute servers. If your application deploys multiple related instances on Outposts; without additional configuration, the instances may deploy on the same server or on servers in the same rack. Today, there are three mechanisms you may use to distribute instances to mitigate the risk of running related instances on the same infrastructure:

Multi-Outpost deployment – similar to a multi-AZ strategy in the Region, you can deploy Outposts to separate data centers and deploy application resources to specific Outposts. This allows you to run instances on the desired Outpost (a logical set of racks). A multi-Outpost strategy may be employed to protect against rack and data center failure modes and, if the Outposts are anchored to separate AZs or Regions, may also provide protection against AZ or Region failure modes. For more information about multi-Outpost architectures, see the Larger Failure Modes.

Amazon EC2 placement groups on Outposts (single-Outpost multi-rack instance placement) – allow you to use the cluster, spread, and partition strategies to influence placement. The spread and partition placement strategies allow you distribute instances across racks in a multi-rack Outpost.

A spread placement group provides a simple way distribute single instances across racks to reduce the potential for correlated failures. You may only deploy into the group as many instances as you have racks in your Outpost.

Diagram showing EC2 spread placement group on an Outpost with three racks

EC2 spread placement group on an Outpost with three racks

You can also distribute instances across multiple racks with partition placement groups. Use automatic distribution to spread instances across partitions in the group or deploy instances to selected target partitions. Deploying instances to target partitions allows you to deploy selected resources to the same rack while distributing other resources across racks. For example, if you have a logical Outpost with three racks, creating a partition placement group with three partitions allows you to distribute resources across the racks.

Diagram showing EC2 partition placement groups on an Outpost with three racks

EC2 partition placement groups on an Outpost with three racks

Creative server slotting – if you have a single-rack Outpost or if the service you are using on Outposts does not support placement groups, you may be able to use creative slotting to ensure your instances do not deploy on the same physical server. If the related instances are the same EC2 instance size, you may be able to slot your servers to limit the number of slots of that size configured on each server – spreading the slots across the servers. Server slotting will limit the number of instances (of that size) that can run on a single server.

As an example, consider the slotting layout shown previously in Figure 13. If your application needed to deploy three m5.4xlarge instances on the Outpost configured with this slotting layout, EC2 would place each instance on a separate server and there would be no possibility that these instances could run on the same server – as long as the slotting configuration does not change to open additional m5.4xlarge slots on the servers.

  • Use Amazon EC2 placement groups on Outposts to control placement of instances across racks within a single Outpost.

  • Instead of ordering an Outpost with a single medium or large Outpost rack, consider splitting the capacity into two small or medium racks to allow you to take advantage of the EC2 placement groups ability to distribute instances across racks.