Files
spinifex/docs/placement-groups
2026-03-31 13:28:12 +10:00
..
2026-03-31 13:28:12 +10:00

title, description, category, tags, resources
title description category tags resources
Placement Groups Create and manage spread and cluster placement groups for hardware-level instance placement control. Compute
ec2
placement
spread
cluster
title url
Spinifex Repository https://github.com/mulgadc/spinifex
title url
AWS Placement Groups https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html

Placement Groups

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

Table of Contents


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:

export AWS_PROFILE=spinifex

Create

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

Launch Into a Placement Group

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

Describe

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:

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:

spx admin nodes list

Cannot Delete Placement Group

The group still has running instances. Terminate them first:

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