A deployment set is a placement strategy for Elastic Compute Service (ECS) instances on physical servers. For cluster services that require high availability, you can use the high availability or high availability group strategy to deploy ECS instances across different physical servers. This practice prevents single points of failure (SPOFs) and improves service availability. For applications that are sensitive to network latency, such as high-frequency trading and real-time data analytics, you can use the low latency strategy to deploy ECS instances within the same network topology. This reduces network communication latency between instances. This topic describes the deployment strategies, limits, and usage of deployment sets.
Deployment strategies
A deployment strategy determines how ECS instances are placed on physical servers. You can select a deployment strategy based on your requirements for high availability, network latency, or deployment scale.
Strategy | Description |
High availability (Availability) | Ensures that ECS instances in a deployment set are deployed on different physical servers. This practice effectively reduces the risk of service interruptions caused by a single server failure.
|
High availability group (AvailabilityGroup) | Provides finer-grained control in a single zone. In a single zone, you can assign instances to a maximum of seven different groups to achieve a higher level of fault isolation. ECS instances in different groups are strictly distributed across different physical servers within the specified region to prevent SPOFs. Multiple ECS instances in the same group are not guaranteed to be distributed and may be deployed on the same physical server, which reduces communication latency between them. Note You can call the DescribeInstances operation to query the group number (
|
Low latency (LowLatency) | All ECS instances are deployed within the same network topology in the same zone. This reduces the latency of network communication. Important Multiple instances may be deployed on the same physical server, which cannot guarantee high availability.
|
Limits
If a resource shortage occurs in a region, you may not be able to create ECS instances or restart pay-as-you-go ECS instances that are stopped in economical mode. In this case, you can wait for a period and then retry the operation. For more information, see Economical mode.
Deployment sets do not support the creation of Dedicated Hosts.
Limit on the number of deployment sets: Each Alibaba Cloud account can have a limited number of deployment sets. To view your specific quota, go to the Quota Center.
Region and zone limits: An instance and its deployment set must be in the same region. Instances in a deployment set that uses the low latency strategy must be in the same zone.
Instance family limits: Most instance families of generation 6 and later support deployment sets that use the high availability, high availability group, or low latency strategy.
Different deployment strategies support only specific instance families:
For a list of the supported instance families, see the output of the DescribeDeploymentSetSupportedInstanceTypeFamily API operation.
Deployment strategy
Supported instance families
High availability and high availability group
g9a, g9ae, g9i, g8a, g8i, g8ine, g8ise, g8y, g7, g7a, g7h, g7ne, g7nex, g7se, g7t, g6, g6a, g6e, g6h, g5, g5ne
c9a, c9ae, c9i, c8a, c8i, c8ine, c8y, c7, c7a, c7nex, c7se, c7t, c6, c6a, c6e, c5
r9a, r9ae, r9i, r8a, r8i, r8y, r7, r7a, r7se, r7t, r6, r6a, r6e, r5
hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i, hfc7, hfg7, hfr7, hfc6, hfg6, hfr6, hfc5, hfg5
ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a, ebmg5
i5, i5g, i5ge, ic5, i4, i4g, i4r, i3, i3g, i2, i2g, i2gne, i2ne
gn6i
d3c, d3s, d2c, d2s, d1ne
re6, re6p, s6, t6, e4, mn4, n4, re4, xn4, sn2ne, u2a, u2i, se1, se1ne, sn1ne, u1, e
Low latency
g9a, g9ae, g9i, g8a, g8ae, g8i, g8ise, g8y, g7, g5ne
c9a, c9ae, c9i, c8a, c8ae, c8i, c8ine, c8y, c7, c7nex
r9a, r9ae, r9i, r8a, r8ae, r8i, r8y, r7
hfc9i, hfg9i, hfr9i, hfc8i, hfg8i, hfr8i
ebmc9i, ebmg9a, ebmg9i, ebmr9i, ebmc8a, ebmc8i, ebmc8y, ebmg8a, ebmg8i, ebmg8y, ebmgn8v, ebmr8a, ebmr8y, ebmc7, ebmc7a, ebmg7, ebmg7a, ebmg7se, ebmgn7ex, ebmhfc7, ebmhfg7, ebmhfr7, ebmr7, ebmr7a
i5, i5g, i5ge, i4
gn8v
hpc8ae, hpc8i, hpc7ip, hpc6id, u2a, u2i
Deployment sets cannot be merged.
Billing
Deployment sets are free of charge. However, you are charged for the resources that you create and use, such as ECS instances, disks, snapshots, images, and public bandwidth. For more information, see Billing overview.
Quick start
Step 1: Create a deployment set
Console
In the top navigation bar, select the region and resource group of the resource that you want to manage.
On the Deployment Set page, click Create Deployment Set.
In the Create Deployment Set dialog box, enter a Deployment Set Name and Description, and select a Strategy. How do I select a deployment strategy?
API
Call the CreateDeploymentSet operation to create a deployment set in a specified region and specify a deployment strategy.
If you use the High Availability Group strategy, you can specify the GroupCount parameter to set the number of groups.
Step 2: Create or add ECS instances in the deployment set
Console
The instance type, region, and number of ECS instances must meet the limits. For more information, see Limits.
Create a new instance in a deployment set:
On the deployment sets page, find the target deployment set. In the Actions column, click Create Instance. You are redirected to the Custom Launch page to complete the instance configuration.

Add an existing instance to a deployment set: For more information, see Change the deployment set to which an instance belongs.
API
Create a new instance in a deployment set: Call the RunInstances operation and specify the
DeploymentSetId(deployment set ID) parameter.If you use the high availability group strategy, specify the number of groups.
Add an existing instance to a deployment set: Call the ModifyInstanceDeployment operation and specify the
InstanceId(instance ID) andDeploymentSetId(deployment set ID) parameters.NoteIf the specified deployment set uses the
AvailabilityGroup(high availability group) strategy, you can specify theDeploymentSetGroupNoparameter to assign the instance to a group in the deployment set.
More operations
Change the deployment set to which an instance belongs
You can change the deployment set to which an ECS instance belongs. For example, you can move an instance from one deployment set to another, or add an instance that is not in a deployment set to an existing one.
Procedure
Console
Go to ECS console - Instances.
In the top navigation bar, select the region and resource group of the resource that you want to manage.
Click the ID of the target instance to go to the instance details page. Click All Actions to expand the actions panel. Then, search for and click .
In the Change Deployment Set dialog box, select the destination deployment set and configure the Force Change parameter.
Selected: Allows the instance to be moved to a different physical server. This operation may cause the instance to restart and affect service continuity. Proceed with caution.
Cleared: Does not move the instance to a different physical server. Instead, this option attempts to add the instance to the specified deployment set. This avoids the risk of an instance restart. However, the change fails if the physical server where the instance is located does not meet the requirements of the new deployment set.
API
Call the ModifyInstanceDeployment operation and specify the following parameters to change the deployment set of an instance:
RegionId: The ID of the region to which the instance belongs. Example:
cn-hangzhou, which indicates China (Hangzhou).InstanceId: The ID of the instance. Example:
i-bp67acfmxazb4ph***.DeploymentSetId: The ID of the destination deployment set. Example:
ds-bp67acfmxazb4ph****.Force: Specifies whether to force the instance to move to a different physical server when you change its deployment set. Valid values:
true: Allows the instance to be moved to a different physical server. This operation may cause the instance to restart and affect service continuity. Proceed with caution.
false (default): Does not move the instance to a different physical server. Instead, this option attempts to add the instance to the specified deployment set. This avoids the risk of an instance restart. However, the change fails if the physical server where the instance is located does not meet the requirements of the new deployment set.
Remove an instance from a deployment set
If you want to delete a deployment set but retain an instance that is in it, you must first remove the instance from the deployment set. After the instance is removed, it continues to run as a standalone instance.
The target instance must be in the Running or Stopped state. For more information, see Start an instance and Stop an instance.
Perform the following steps:
Call the ModifyInstanceDeployment operation and specify the following parameters to remove an instance from a deployment set:
RegionId: The ID of the region to which the instance belongs. Example:
cn-hangzhou, which indicates China (Hangzhou).InstanceId: The ID of the instance. Example:
i-bp67acfmxazb4ph***.DeploymentSetId: The ID of the deployment set. Example:
ds-bp67acfmxazb4ph****.RemoveFromDeploymentSet: Set this parameter to
trueto remove the instance from the deployment set.
Verify that the instance is removed. If the API operation is successful and returns a 200 status code, the instance is removed from the deployment set.
Modify or delete a deployment set
In the ECS console - Deployment Sets, find the target deployment set. In the Actions column, click Modify Information or Delete, and then follow the on-screen instructions to complete the operation.
Modify a deployment set: You can modify the name and description of the deployment set.
Delete a deployment set: You can delete a deployment set that you no longer need.
ImportantBefore you delete a deployment set, make sure that it contains no instances. If the deployment set contains instances, you must remove them first. For more information, see Change the deployment set to which an instance belongs or Remove an instance from a deployment set.