Skip to content
Mulga mulga

Placement Groups

Create and manage spread and cluster placement groups for hardware-level instance placement control.

ec2placementspreadcluster

Overview

Placement groups control how Spinifex distributes instances across physical hosts. Two strategies are supported:

  • Spread — One instance per physical host, maximising fault isolation
  • Cluster — All instances on the same host, minimising latency

The partition strategy is not supported.

Supported operations:

  • create-placement-group — Create a new group
  • describe-placement-groups — Query groups with optional filters
  • delete-placement-group — Remove an empty group

Instructions

Prerequisites

Ensure the AWS profile is set:

bash
export AWS_PROFILE=spinifex

Create

bash
aws ec2 create-placement-group \
  --group-name my-spread-group \
  --strategy spread
bash
aws ec2 create-placement-group \
  --group-name my-cluster-group \
  --strategy cluster

Launch Into a Placement Group

bash
aws ec2 run-instances \
  --image-id $SPINIFEX_AMI \
  --instance-type t3.small \
  --key-name spinifex-key \
  --placement GroupName=my-spread-group \
  --count 3

Describe

bash
aws ec2 describe-placement-groups
aws ec2 describe-placement-groups --group-names my-spread-group
aws ec2 describe-placement-groups --group-ids pg-abc123
aws ec2 describe-placement-groups \
  --filters Name=strategy,Values=spread

Delete

The group must have no running instances before it can be deleted:

bash
aws ec2 terminate-instances --instance-ids $INSTANCE_ID
aws ec2 delete-placement-group --group-name my-spread-group

Troubleshooting

InsufficientInstanceCapacity Error

Not enough distinct physical hosts for a spread launch. Reduce --count or terminate existing instances to free host slots:

bash
spx admin nodes list

Cannot Delete Placement Group

The group still has running instances. Terminate them first:

bash
aws ec2 describe-instances \
  --filters Name=placement-group-name,Values=my-spread-group
aws ec2 terminate-instances --instance-ids $INSTANCE_ID