A deployment set is a policy that controls the distribution of Elastic Compute Service (ECS) instances. You can use deployment sets to plan how to implement disaster recovery plans and ensure service availability when you create ECS instances.
Deployment strategies
You can use a deployment set to distribute your ECS instances to different physical servers to ensure high service availability and implement underlying disaster recovery. If you specify a deployment set when you create ECS instances, the instances are created and distributed based on the deployment strategy that you preset for the deployment set within the specified region.
- High availability strategy
When you use the high availability strategy for a deployment set in a specified region, all ECS instances in the deployment set are distributed across different physical servers in the region. The high availability strategy applies to application architectures where ECS instances must be isolated from each other, and can significantly reduce the chances of service unavailability.
- High availability group strategy
When you use the high availability group strategy for a deployment set, the deployment set can be divided into up to seven deployment set groups. You can distribute multiple instances in a deployment set to different deployment set groups based on your business needs. Instances in different deployment set groups are strictly distributed to different physical servers. Instances in the same deployment set group may not be strictly distributed to different physical servers.
- Low latency strategy
- If you use the low latency strategy for a deployment set, ECS instances in the deployment set that reside in each zone are deployed to the same network topology in the zone to reduce network latency. In this case, high availability cannot be ensured because multiple ECS instances may be scheduled to the same physical server.
- You can call the DescribeDeploymentSetSupportedInstanceTypeFamily operation and set Strategy to LowLatency to query the ECS instance families that support the low latency strategy.
Deployment example

To maintain low communication latency between ECS instances, we recommend that you keep the network types of the instances the same. For example, you can select the same virtual private cloud (VPC) for the ECS instances when you create them.
Billing
Deployment sets are free of charge, but you are charged for the usage of ECS instances, disks, snapshots, images, and public bandwidth in deployment sets. For more information, see Billing overview.
Limits
Before you use deployment sets, take note of the following items:
- Deployment sets cannot be merged.
- Preemptible instances cannot be created in deployment sets.
- Dedicated hosts cannot be created in deployment sets.
- When you create ECS instances in a deployment set, you can create up to 20 ECS instances within each zone. This limit varies with your ECS usage. You can use the following formula to calculate the maximum number of ECS instances that you can create in a deployment set within a region: 20 × Number of zones within the region.
- Instances of the following instance families can be created in deployment sets:
- g8m, c7, g7, g7ne, r7, c6, g6, r6, c5, g5, r5, c6e, g6e, r6e, c7se, g7se, r7se, r6se, c7t, g7t, r7t, c7a, g7a, r7a, c6a, g6a, r6a, g5ne, re6, re6p, re4, and ic5
- hfc7, hfg7, hfr7, hfc6, hfg6, hfr6, hfc5, and hfg5
- d2s, d2c, d1, d1ne, d1-c14d3, and d1-c8d3
- i3, i3g, i2, i2g, i2ne, i2gne, and i1
- se1ne, sn1, sn1ne, sn2, sn2ne, and se1
- ebmg5, sccgn6, scch5, sccg5, scch5s, and sccg5s
- s6, t6, xn4, mn4, n2, n1, and n4
- gn6i
- Supply shortage may result in a failure to create instances or start pay-as-you-go instances that were stopped in economical mode in a deployment set. For more information, see Economical mode.
For more information about the limits and quotas of deployment sets, see the "Deployment set limits" section in Limits.
Related operations
API operations
- Create a deployment set: CreateDeploymentSet.
- Add an instance to a deployment set or migrate an instance from one deployment set to another: ModifyInstanceDeployment.
- Query deployment sets: DescribeDeploymentSets.
- Modify the attributes of a deployment set: ModifyDeploymentSetAttribute.
- Delete a deployment set: DeleteDeploymentSet.