# EC2 HPC Instance Without Placement Group

> HPC-class EC2 instances (hpc*, p4d through p6e-gb200, and trn1/trn2 families) running outside any placement group lose the low-latency cluster networking they were bought for. ZopNight fires when the placement_group metadata key is absent, suppresses when a named group exists, and books the finding at $0 as compliance advice.

Source: https://zop.dev/integrations/aws/recommendations/ec2-hpc-instance-without-placement-group
Updated: 2026-08-19

---

## HPC families and the absent placement group key

- resource.Status: running
- resource.Metadata: workload_type==hpc OR live InstanceType in the HPC family (hpc* prefix, p4d/p4de/p5/p5e/p5en/p6-b200/p6e-gb200, trn1/trn1n/trn2/trn2u). HPC classification no longer relies on a customer-only Tag, so a stray free-form tag cannot drive the rec. Matching is by exact family token (\<family>.), so newer families need their own list entry rather than relying on a shorter prefix (e.g. p5 does not cover p5e/p5en; p6-b200/p6e-gb200 use hyphenated tokens, not a bare p6 prefix).
- resource.Metadata: placement_group key ABSENT or empty string → fires (not in a group); key present with a non-empty group name → suppressed (already in a named placement group). The AWS EC2 discoverer stamps placement_group with the group name only when the instance is in one and omits the key otherwise, matching this absence-based contract end-to-end on live data.
- Known limitation (accepted, no producer work planned): the discoverer's metadata only carries the placement group's *name*, not its *strategy*, so an HPC instance placed in a spread/partition group (which gives none of the cluster-group latency benefit) is treated as compliant. Real-world incidence is judged effectively nil for a $0 low-severity advisory, so no ec2:DescribePlacementGroups call is added for this.

## A compliance finding with no savings claimed

$0 (compliance): CurrentCostUSD/OptimizedCostUSD/SavingsUSD all 0; no savings claimed.

## Moving the instance into a cluster group

1. Create a cluster placement group
2. Stop the instance
3. Modify the instance to use the placement group
4. Start the instance and verify network performance
