EC2 Placement Groups for the SAA Exam

Create all three EC2 placement group types and test their rules hands-on.

Introduction

30 Second Summary

Think about how you'd arrange desks in an office. You might cluster a team together for fast communication, spread executives across different floors for safety, or partition departments onto separate wings. AWS uses the same logic when placing your virtual servers onto physical hardware.

In this project, you will create all three types of EC2 Placement Groups (Cluster, Spread, and Partition), launch instances into each, and practice moving instances between groups. This gives you hands-on experience with every placement group concept tested on the AWS Solutions Architect Associate exam.

What You'll Build

A complete hands-on lab where you create all three placement group strategies, launch instances, observe their properties, and practice instance management operations in the AWS Console.

By the end of this project, you'll have:

  • A Cluster placement group with instances packed into a single Availability Zone for low-latency communication.
  • A Spread placement group with instances distributed across distinct hardware for maximum fault isolation.
  • A Partition placement group with targeted partition placement for distributed workload fault domains.
  • Secret Mission: Test the Spread group's 7-instance-per-AZ limit and observe the failure behavior firsthand.

Are there any prerequisites?

You need an active AWS account with access to the EC2 service. All work is done in the AWS Management Console, so no CLI or coding experience is required.

This lab uses t2.micro instances covered under the AWS Free Tier for the first 12 months of your account. All resources are terminated at the end of the lab, so there is no ongoing cost.

Before We Start

Before We Start...

Navigate to EC2 and Verify Your Region

Before you can create placement groups, you need to be in the right place in the AWS Console.

Your choice of region matters for this lab. Spread and Partition placement groups can span multiple Availability Zones, while Cluster groups are limited to a single AZ.

In this step, get ready to:
  • Sign in to the AWS Management Console.
  • Navigate to the EC2 Dashboard.
  • Verify your region is set to a multi-AZ region.
Sign in to the AWS Management Console

What is the AWS Management Console?

The AWS Management Console is the web-based interface where you manage all your AWS services. Everything in this lab happens here.

Navigate to the EC2 Dashboard

EC2 is the service where you launch and manage virtual servers (instances). Placement groups are a feature within EC2.

  • Click the search bar at the top of the console.
  • Type EC2 and select EC2 from the dropdown results.

You should see the EC2 Dashboard with a summary of your resources in the selected region.

Verify your region

You need a region with multiple Availability Zones so you can see how Spread and Partition groups distribute instances across AZs.

  • Look at the top-right corner of the console, next to your account name. You will see the currently selected region.
  • Click the region dropdown and select US East (N. Virginia) us-east-1.

Why us-east-1?

The us-east-1 region has 6 Availability Zones, giving you plenty of room to observe how placement groups distribute instances across distinct hardware and AZs.

Any region with multiple AZs will work. If you already have resources in another multi-AZ region, feel free to use that instead.

  • Confirm your region is set by checking that the region name appears in the top-right corner of the console.
  • In the left navigation pane, scroll down to Network & Security and click Placement Groups.

You should see the Placement Groups page. It will be empty since you have not created any groups yet.

Don't see Placement Groups in the navigation?

Make sure you are on the EC2 service page, not the main AWS console home. The left navigation pane only shows EC2 options when you are inside the EC2 service.

If the left navigation pane is collapsed, click the hamburger menu icon (three horizontal lines) at the top-left to expand it.

help me find the Placement Groups page in the EC2 console

Your console is ready. Next up, you will create your first placement group using the Cluster strategy and launch instances into it.

Create a Cluster Placement Group and Launch Instances

Your first placement group strategy is Cluster. Cluster groups pack instances as close together as possible inside a single Availability Zone.

This is the strategy you choose when your workload needs the lowest possible network latency between instances. Think high-performance computing, machine learning training, or real-time analytics where every microsecond counts.

In this step, get ready to:
  • Create a Cluster placement group.
  • Launch two EC2 instances into the group.
  • Verify both instances landed in the same Availability Zone.
Create the Cluster placement group

A placement group is a logical grouping that tells AWS how to place your instances on physical hardware. The Cluster strategy places all instances on hardware that is physically close together in one AZ.

  • In the EC2 left navigation pane, scroll down to Network & Security.
  • Click Placement Groups.
  • Click Create placement group.
  • For Name, enter my-cluster-group.
  • For Placement strategy, select Cluster.
  • Click Create group.

You should see my-cluster-group appear in your Placement Groups list with a status of available.

Notice anything missing?

When you selected Cluster, no partition count or spread level options appeared. That is because Cluster groups have no sub-divisions. Every instance goes into the same tightly-packed hardware in one AZ.

Don't see Placement Groups in the navigation?

Make sure you are looking under the Network & Security section of the left navigation, not under Instances or Load Balancing.

If your left navigation pane is collapsed, click the hamburger menu icon at the top-left of the EC2 console to expand it.

Help me find the Placement Groups page in the EC2 console.

Launch two instances into the Cluster group

Now that your placement group exists, you need to launch EC2 instances into it. You will create two instances so you can observe how they are placed relative to each other.

  • In the left navigation, click Instances.
  • Click Launch instances.
  • For Name, enter cluster-instance-1.
  • Under Application and OS Images, select Amazon Linux 2023 AMI (Free tier eligible).
  • For Instance type, select t2.micro (Free tier eligible).
  • For Key pair, select Proceed without a key pair. You do not need SSH access for this lab.
  • Expand the Advanced details section at the bottom of the page.
  • Scroll down to the Placement group dropdown and select my-cluster-group.
  • Leave all other settings as default and click Launch instance.

You should see a success message confirming the instance is launching.

  • Repeat the same process to create a second instance named cluster-instance-2 with the same settings (Amazon Linux 2023, t2.micro, no key pair, my-cluster-group placement group).
  • Go back to the Instances list and wait for both instances to reach the Running state. This usually takes about 30 seconds.

Seeing an insufficient capacity error?

Cluster placement groups require current-generation instance types. The t2.micro type is a burstable instance that may not be supported in cluster groups in all regions. If you see this error, try using t3.micro instead (also Free Tier eligible).

Help me fix an insufficient capacity error when launching into my cluster placement group.

Verify both instances are in the same Availability Zone

The defining characteristic of a Cluster group is that all instances are packed into a single AZ. Verifying this confirms the placement group is working as expected.

  • In the Instances list, click on cluster-instance-1 to select it.
  • Click the Details tab in the lower panel.
  • Find the Availability Zone field and note the value (e.g., us-east-1a).
  • Confirm the Placement group field shows my-cluster-group.
  • Now click on cluster-instance-2 and check its Details tab.
  • Confirm that the Availability Zone is the same as cluster-instance-1.

Both instances should show the same AZ and the same placement group name. This confirms the Cluster strategy is working.

Why does this matter for the SAA exam?

Cluster groups cannot span multiple Availability Zones. Every instance in the group lands in the same AZ on hardware that is physically close together.

With enhanced networking, instances in a Cluster group can achieve up to 10 Gbps single-flow throughput between them. Outside a Cluster group, the limit is 5 Gbps. This makes Cluster groups ideal for HPC, ML training, and real-time analytics workloads.

The trade-off is that if the underlying hardware fails, all instances in the group are affected. You are choosing performance over fault tolerance.

Your Cluster group is up and running with both instances packed together for low-latency communication. Next up, you will create a Spread placement group that does the opposite. It spreads instances across separate physical hardware for maximum fault isolation.

Create a Spread Placement Group and Launch Instances

Your Cluster placement group is up and running with both instances packed into the same Availability Zone. That configuration is perfect for low-latency communication, but what happens when hardware fails?

In this step, you will create a Spread placement group. Unlike Cluster, the Spread strategy places each instance on completely separate physical hardware. This gives you maximum fault isolation for critical workloads.

In this step, get ready to:
  • Create a Spread placement group with Rack-level isolation.
  • Launch three EC2 instances into the Spread group.
  • Verify each instance is on distinct hardware, potentially across different Availability Zones.
Create the Spread placement group

The Spread strategy guarantees that each instance lands on its own physical rack with independent power and networking. If one rack fails, only one instance goes down.

  • In the EC2 left navigation pane, scroll down to Network & Security and click Placement Groups.
  • Click Create placement group.
  • For Name, enter my-spread-group.
  • For Placement strategy, select Spread.
  • A new option appears: Spread level. Select Rack.
  • Click Create group.

What is the Spread level option?

The Spread level determines how AWS isolates your instances. Rack means each instance gets its own physical rack with separate power and network. This is the default for AWS Regions.

The Host level is only available on AWS Outposts and places instances on distinct physical hosts instead of racks.

Launch three instances into the Spread group

You will launch all three instances at once using the Number of instances field in the launch wizard.

  • In the left navigation pane, click Instances.
  • Click Launch instances.
  • For Name, enter spread-instance-1.
  • Under Application and OS Images, confirm Amazon Linux 2023 AMI is selected (Free tier eligible).
  • For Instance type, select t2.micro.
  • For Key pair, select Proceed without a key pair.
  • Expand the Advanced details section at the bottom of the page.
  • Scroll to the Placement group dropdown and select my-spread-group.
  • In the Summary panel on the right, change Number of instances to 3.
  • Click Launch instance.

Rename your instances after launch

When you launch multiple instances at once, they all share the same name initially. After they appear in the Instances list, click the name field on each to rename them to spread-instance-1, spread-instance-2, and spread-instance-3.

  • Wait for all three instances to reach the Running state in the Instances list.

Seeing an Insufficient Capacity error?

If AWS cannot find enough distinct hardware in your chosen Region, it may fail to launch one or more instances. Try launching in a Region with more Availability Zones (like us-east-1) or reduce the number of instances.

Help me troubleshoot my Spread placement group instance launch

Verify instance placement across distinct hardware

The whole point of the Spread strategy is hardware isolation. Now you will confirm that AWS placed your instances on separate racks, potentially in different Availability Zones.

  • Select spread-instance-1 in the Instances list.
  • Click the Details tab in the lower panel.
  • Note the Availability Zone value.
  • Confirm the Placement group field shows my-spread-group.
  • Repeat for spread-instance-2 and spread-instance-3. Compare the Availability Zone values across all three instances.

You may see your three instances in different Availability Zones. This is because Spread groups can span multiple AZs in the same Region, unlike Cluster groups.

Why are my Spread instances in different AZs?

Spread placement groups distribute instances across distinct underlying hardware to reduce correlated failures. Each instance is guaranteed its own rack with independent power and networking.

The key SAA exam facts for Spread groups: maximum 7 running instances per AZ per group. Can span multiple AZs in the same Region. Ideal for small numbers of critical instances (database masters, ZooKeeper nodes) where you need maximum fault isolation.

Spread vs. Cluster: when do I pick which?

Cluster groups optimize for performance. All instances share the same AZ for low-latency networking (up to 10 Gbps single-flow with enhanced networking). Use Cluster for HPC and ML training.

Spread groups optimize for resilience. Each instance is isolated on its own rack, so a single hardware failure only takes out one instance. Use Spread for a small set of critical, independent services.

You now have two placement groups running side by side. Your Cluster group packs instances together for speed. Your Spread group separates them for safety. Next, you will create a Partition group that offers a middle ground between the two.

Create a Partition Placement Group and Launch Instances

Your Cluster group packs instances together for speed. Your Spread group isolates instances for safety. Now you need a strategy that does both: groups instances into fault-isolated sections while still allowing many instances per section.

That is exactly what a Partition placement group does. It divides your instances into logical partitions, each on its own set of racks with independent network and power. This makes it the go-to strategy for large distributed workloads like Cassandra, Kafka, and Hadoop.

In this step, get ready to:
  • Create a Partition placement group with 3 partitions.
  • Launch three EC2 instances, each targeted to a specific partition.
  • Verify the partition number for each instance in the Details tab.
Create the partition placement group

Unlike Spread groups that isolate individual instances, Partition groups isolate groups of instances from each other. You can have up to 7 partitions per Availability Zone, with hundreds of total instances spread across them.

  • In the EC2 left navigation pane, scroll down to Network & Security and choose Placement Groups.
  • Choose Create placement group.
  • For Name, enter my-partition-group.
  • For Placement strategy, select Partition.
  • A new field appears: Number of partitions. Enter 3.
  • Choose Create group.

You should see my-partition-group appear in your placement groups list with the strategy showing as Partition.

Why 3 partitions?

You can have up to 7 partitions per AZ, but 3 is enough for this lab. Each partition gets its own set of racks with independent network and power. No two partitions share the same underlying hardware.

In a real distributed database like Cassandra, you would align your replication factor with your partition count. Three partitions means three fault-isolated zones for your data replicas.

Don't see the Number of partitions field?

Make sure you selected Partition as the strategy. This field only appears for the Partition strategy. If you selected Cluster or Spread, the partition count option will not show.

help me troubleshoot creating a partition placement group in AWS

Launch instances into specific partitions

Unlike the Spread group where AWS decides which hardware each instance lands on, Partition groups let you choose exactly which partition an instance goes into. This gives you fine-grained control over fault domain placement.

  • In the left navigation, click Instances.
  • Choose Launch instances.
  • For Name, enter partition-instance-1.
  • Select Amazon Linux 2023 AMI (free tier eligible).
  • For Instance type, choose t2.micro.
  • For Key pair, select Proceed without a key pair.
  • Expand Advanced details at the bottom of the page.
  • Scroll to the Placement group dropdown and select my-partition-group.
  • A new field appears: Target partition. Select 1.
  • Choose Launch instance.

Now repeat the process for the second instance.

  • Choose Launch instances again.
  • For Name, enter partition-instance-2.
  • Select Amazon Linux 2023 AMI, t2.micro, and Proceed without a key pair.
  • Under Advanced details, select my-partition-group as the Placement group.
  • For Target partition, select 2.
  • Choose Launch instance.

Repeat one more time for the third instance.

  • Choose Launch instances again.
  • For Name, enter partition-instance-3.
  • Select Amazon Linux 2023 AMI, t2.micro, and Proceed without a key pair.
  • Under Advanced details, select my-partition-group as the Placement group.
  • For Target partition, select 3.
  • Choose Launch instance.

What is Target partition?

The Target partition field only appears when you select a Partition placement group. It lets you choose exactly which partition number an instance lands in.

In production, you would use this to align your application's replication strategy with physical fault domains. For example, placing each Cassandra replica in a different partition ensures a single rack failure never takes out more than one copy of your data.

Verify partition placement in the Details tab
  • Go to Instances in the left navigation.
  • Wait for all three partition instances to show a state of Running.
  • Select partition-instance-1 and click the Details tab in the lower panel.
  • Confirm the Placement group field shows my-partition-group.
  • Find the Placement partition number field. It should show 1.
  • Repeat for partition-instance-2 (partition 2) and partition-instance-3 (partition 3).

Each instance sits in its own partition with independent racks, network, and power. A hardware failure in partition 1 cannot affect instances in partitions 2 or 3.

How is Partition different from Spread for the SAA exam?

Spread groups isolate individual instances (max 7 per AZ). Partition groups isolate groups of instances (up to 7 partitions per AZ, but hundreds of total instances across all partitions).

Use Spread for a small number of critical, individually important instances like database masters. Use Partition for large distributed workloads like Hadoop, Cassandra, or Kafka where you want replication aligned with physical fault domains.

Don't see the Placement partition number?

Make sure you are looking in the Details tab (not the Networking or Security tab). Scroll down within the Details section as the partition number field is further down the list.

If the instance is still in Pending state, wait for it to transition to Running and refresh the page.

help me find the partition number for my EC2 instance

You now have all three placement group strategies running side by side. Next up, you will move an instance between placement groups to learn the rules around instance placement changes.

Move an Instance Between Placement Groups

You now have all three placement group strategies running with instances inside them. But what happens when you need to reorganize?

In production, you might need to move an instance from one placement group to another. The SAA exam tests whether you know the rules and limitations of this operation. In this step, you will move an instance between groups and observe exactly what AWS requires.

In this step, get ready to:
  • Stop an instance to prepare it for placement changes.
  • Move the instance from one placement group to another.
  • Verify the placement change and learn the key exam rules.
Stop the instance you want to move

AWS requires an instance to be in a stopped state before you can change its placement group. You cannot move a running instance.

  • In the left navigation pane, click Instances.
  • Select the checkbox next to spread-instance-1.
  • Click Instance state in the top menu bar.
  • Select Stop instance.
  • Click Stop to confirm.
  • Wait for the Instance state column to change to Stopped. This may take 30 seconds to a minute.

Why does the instance need to be stopped?

Placement groups determine the physical hardware where an instance runs. Moving to a different group means AWS needs to relocate the instance to different underlying hardware. This is impossible while the instance is actively running.

This is a common SAA exam question. Remember: stopped state is required before any placement change.

Instance won't stop?

Make sure you selected only spread-instance-1 and not multiple instances. If the state still shows Stopping after a couple of minutes, click the refresh icon at the top of the instances table.

Why won't my EC2 instance stop?

Modify the instance placement

Now that the instance is stopped, you can change which placement group it belongs to.

  • With spread-instance-1 still selected, click Actions in the top menu bar.
  • Hover over Instance settings.
  • Click Modify instance placement.
  • In the Placement group dropdown, change the selection from my-spread-group to my-partition-group.
  • Click Save.

You should see a success banner confirming the placement modification.

What other options are in this dropdown?

You can also select None in the dropdown to remove an instance from any placement group entirely. The instance will then launch on whatever hardware AWS selects without placement constraints.

Don't see the Modify instance placement option?

This option is only available when the instance is in the Stopped state. If the menu item is greyed out, check that the instance has fully stopped (not still in Stopping state).

Help me modify instance placement in the AWS Console.

Start the instance and verify the new placement
  • With spread-instance-1 still selected, click Instance state.
  • Select Start instance.
  • Wait for the instance state to change to Running.
  • Click the Details tab at the bottom of the page.
  • Find the Placement group field. It should now display my-partition-group instead of my-spread-group.

The instance has successfully moved from the Spread group to the Partition group.

Key SAA exam rules for placement group management

An instance can only belong to one placement group at a time. You cannot merge placement groups together.

You cannot move a running instance. It must be stopped first. You also cannot launch Dedicated Hosts in placement groups.

You cannot launch a Spot Instance configured to stop or hibernate on interruption into a placement group. These rules frequently appear in SAA exam scenarios.

You have proven that instances can move between placement groups. Next up, you will clean up all your resources so you have zero ongoing costs.

Clean Up All Resources

You have explored all three placement group strategies and moved an instance between groups.

Now it is time to clean up everything so you have zero resources running and zero ongoing costs. Placement groups must be completely empty before you can delete them, so you will terminate all instances first.

In this step, get ready to:
  • Terminate all eight EC2 instances across your placement groups.
  • Delete all three placement groups once they are empty.
Terminate all running instances

You have eight instances spread across three placement groups. You need to terminate all of them before you can delete the groups themselves.

  • In the left navigation pane, click Instances.
  • Select all instances you created in this lab. You can use the search bar to filter by typing cluster-instance, spread-instance, or partition-instance to find them in groups.
  • Select the checkbox next to each instance to select all eight.
  • Click Instance state in the top menu bar.
  • Choose Terminate (delete) instance.
  • In the confirmation dialog, click Terminate to confirm.

Why terminate instead of just stop?

Stopped instances still count toward your Free Tier hours and retain their EBS volumes. Terminating fully removes the instance and releases all associated resources.

  • Wait for all instances to reach the Terminated state. This takes a minute or two.
  • You can click the refresh icon in the Instances list to check their status.

Instances still showing as Running?

Termination can take 1-2 minutes. Click the refresh icon at the top of the Instances table to check again. If an instance stays in Shutting-down for more than five minutes, select it and try terminating it again.

Help me troubleshoot why my EC2 instances are not terminating.

Delete all three placement groups

A placement group must contain no instances before you can delete it. Now that all instances are terminated, you can remove the groups.

  • In the left navigation pane, scroll down to Network & Security and click Placement Groups.
  • Select the checkbox next to my-cluster-group.
  • Click Actions, then Delete.
  • Type Delete in the confirmation field and click Delete to confirm.
  • Repeat this process for my-spread-group. Select it, click Actions > Delete, type Delete, and confirm.
  • Repeat once more for my-partition-group.

Your Placement Groups list should now be empty. You have zero remaining resources and zero ongoing costs.

Seeing a 'placement group is not empty' error?

This means one or more instances in the group have not fully terminated yet. Go back to Instances, confirm all instances show Terminated state, and try deleting the group again.

Help me delete a placement group that says it is not empty.

Your lab environment is completely clean. You have hands-on experience creating, using, and deleting all three placement group strategies. Next up, put your knowledge to the test with the Secret Mission.

Secret mission

Test the Spread Group's 7-Instance Limit

The spread placement group has a hard limit: maximum 7 running instances per Availability Zone. On the SAA exam, you may be asked what happens when this limit is exceeded. Find out firsthand by pushing past that boundary and observing the failure behavior.

Clean Up Your Resources

Clean Up Your Resources

This project uses t2.micro instances covered by the AWS Free Tier (750 hours/month for the first 12 months). Placement groups themselves have no cost. If you completed Step 6, all resources are already deleted.

Resources you used:

  • EC2 instances (t2.micro): cluster-instance-1, cluster-instance-2, three spread instances, and three partition instances.
  • Placement groups: my-cluster-group, my-spread-group, my-partition-group.
  • Secret Mission resources (if completed): spread-limit-test placement group and up to 8 instances.

Keep everything running

No action needed. Choose this if you want to keep experimenting with placement groups and instance placement.

  • Your running t2.micro instances consume Free Tier hours (750 hours/month shared across all t2.micro instances in your account).
  • Placement groups have no ongoing cost.
  • Monitor your Free Tier usage in the AWS Billing Dashboard to avoid unexpected charges.

Pause - I'll come back to this later

Stop your instances to free up Free Tier hours while keeping your placement groups intact.

  • Select all running instances in the EC2 console.
  • Go to Instance state > Stop instance.
  • Your placement groups remain available at no cost. You can start instances again later.

Delete - I don't want to use this again

Remove all project resources completely. This is what Step 6 already walked you through.

  • Select all instances and go to Instance state > Terminate (delete) instance.
  • Wait for all instances to reach the Terminated state.
  • Go to Placement Groups in the left navigation.
  • Select each placement group, choose Actions > Delete, and type Delete to confirm.
  • Verify the Placement Groups list is empty and no instances remain.

That's a Wrap!

That's a Wrap!

Nice work! You now have hands-on experience with all three EC2 placement group strategies. This is exactly the kind of practical knowledge that separates confident exam-takers from those still guessing on scenario questions.

You've learned how to:

  • Created all three placement group types (Cluster, Spread, and Partition) and launched instances into each to observe their unique placement behaviors and constraints.
  • Moved an instance between placement groups and learned the key rules: stopped state required, one group per instance, no merging, and no Dedicated Hosts.
  • Verified the critical SAA exam facts for each strategy: single AZ for Cluster, 7 instances per AZ for Spread, and 7 partitions per AZ for Partition.
  • Secret Mission: Tested the Spread group's 7-instance-per-AZ limit and observed the insufficient capacity error firsthand.

Ready to quiz yourself?