部署集是ECS实例在物理服务器上的放置策略。针对追求高可用性的集群业务,可利用高可用或部署集组高可用策略,将ECS实例分散部署在不同的物理服务器上,以避免单点故障,提高业务的可用性;对于网络延迟高度敏感的应用(如高频交易、实时数据分析等),可利用网络低时延策略,将ECS实例集中部署到同一个网络拓扑范围内,缩短ECS实例间的网络通信延时。本文主要介绍部署集的部署策略、使用限制及如何使用部署集。
部署策略
部署策略用于确定ECS实例在物理服务器上的部署方式,您可以根据业务对于高可用性、网络延迟和部署规模等要求来选择。
策略 | 说明 |
高可用策略(Availability) | 确保部署集内的ECS实例分散部署在不同物理服务器上,有效降低因单台服务器故障导致的服务中断风险。
|
部署集组高可用策略(AvailabilityGroup) | 在单一可用区内提供更精细的控制,单可用区内支持将实例分配到最多7个不同的分组中,实现更高级别的故障隔离。 不同分组的ECS实例会在指定地域内严格分散在不同的物理服务器上,避免单点故障;同组内多台ECS实例不保证分散部署,可能部署在同一物理机,从而降低互访延时。 说明 通过接口DescribeInstances可查询实例在部署集中分组的位置(
|
网络低时延策略(LowLatency) | 所有ECS实例会集中部署在同一可用区内的同一个网络拓扑范围内,可降低网络互通的时延。 重要 可能导致多台实例集中在同一台物理服务器上,无法保证高可用。
|
使用限制
遇到地域内供货紧缺时,可能无法创建ECS实例,或者重启按量付费ECS实例(节省停机模式)失败。一般情况下,您可以等待一段时间后重试创建或重启操作。更多信息,请参见节省停机模式。
部署集不支持创建专有宿主机。
部署集数量限制:单个阿里云账户可拥有的部署集的数量有上限,具体可在配额中心查看。
地域与可用区限制:实例与部署集必须在同一地域;策略为网络低时延的部署集内的实例,必须都在同一可用区。
支持的实例规格族限制:
不同部署策略仅支持创建特定的实例规格族,具体信息如下。
说明您也可以调DescribeDeploymentSetSupportedInstanceTypeFamily指定部署集策略来获取各部署集策略支持的实例规格族。
部署策略
支持的实例规格族
高可用策略和部署集组高可用策略
g8a、g8i、g8y、g7se、g7a、g7、g7h、g7t、g7ne、g7nex、g6、g6e、g6a、g6h、g5、g5ne、sn2ne
c8a、c8i、c8y、c7se、c7、c7t、c7nex、c7a、c6、c6a、c6e、c5、ic5、sn1ne
r8a、r8i、r8y、r7、r7se、r7t、r7a、r6、r6e、r6a、re6、re6p、r5、re4、se1ne、se1
hfc8i、hfg8i、hfr8i、hfc7、hfg7、hfr7、hfc6、hfg6、hfr6、hfc5、hfg5
d3s、d3c、d2s、d2c、d1、d1ne、d1-c14d3、d1-c8d3
i4、i4g、i4r、i3g、i3、i2、i2g、i2ne、i2gne、i1
ebmg5、ebmc7、ebmg7、ebmr7、sccgn6、scch5、scch5s、sccg5、sccg5s
e、s6、t6、xn4、mn4、n4、e4
gn6i
u1
网络低时延策略
g8a、g8i、g8ae、g8y
c8a、c8i、c8ae、c8y
ebmc8i、ebmg8i、ebmr8i
r8a、r8i、r8ae、r8y
i4
hfc8i、hfg8i、hfr8i
ebmgn7ex、ebmc7、ebmg7、ebmr7
部署集之间不支持相互合并。
费用说明
使用部署集不会收取服务费用,但您创建和使用的ECS实例、磁盘、快照、镜像和公网带宽等服务将收取费用。更多信息,请参见计费概述。
快速使用
步骤一:创建部署集
通过控制台
通过API
调用CreateDeploymentSet在指定的地域内创建一个部署集,并设置部署集策略。
如果部署策略为部署集组高可用策略,可指定参数GroupCount
设置分组数量。
步骤二:在部署集内创建或添加ECS实例
通过控制台
ECS实例的规格、地域、数量需符合使用限制要求。具体,请参见使用限制。
在部署集内创建新实例:
在部署集列表页面,找到目标部署集创建实例,在部署集的操作列中,单击创建实例,跳转到自定义购买页面完成实例配置选项。
将已创建实例加入部署集:具体操作,可参见调整实例所属部署集。
通过API
在部署集内创建新实例:调用RunInstances接口,并指定
DeploymentSetId
(部署集ID)。为部署集组高可用策略设置分组数量。
将已创建实例加入至部署集:调用ModifyInstanceDeployment接口,并指定参数
InstanceId
(实例ID)和DeploymentSetId
(部署集ID)。说明如果指定的部署集对应策略为
AvailabilityGroup
(部署集组高可用策略),可以通过参数DeploymentSetGroupNo
指定实例在部署集中的分组号。
更多操作
调整实例所属部署集
您可以根据业务需求,更改ECS实例所属的部署集,将其从一个部署集转移到另一个部署集,或将未加入部署集的实例添加到符合业务需求的目标部署集中。
操作步骤
通过控制台
进入实例列表页面。
在页面左侧顶部,选择目标资源所在的资源组和地域。
找到目标实例,在操作列中,选择
。在调整实例所属部署集对话框中,选择目标部署集,并设置是否强制调整。
是:允许更换实例物理服务器。该操作可能会导致实例重启,影响服务的连续性,请谨慎操作。
否:不会更换实例的物理服务器,而是尝试将实例加入到指定的部署集。这种方式避免了实例重启的风险,但如果当前实例不满足新部署集的要求,会导致调整失败。
通过API
调用接口ModifyInstanceDeployment,并指定以下参数,调整实例所属部署集:
RegionId:选择实例所属地域。例如,
cn-hangzhou
,即华东1(杭州)。InstanceId:实例ID。例如,
i-bp67acfmxazb4ph***
。DeploymentSetId:目标部署集ID。例如,
ds-bp67acfmxazb4ph****
。Force:实例在调整部署集时,是否强制更换物理服务器。取值:
true:允许更换实例物理服务器。该操作可能会导致实例重启,影响服务的连续性,请谨慎操作。
false(默认):不会更换实例的物理服务器,而是尝试将实例加入到指定的部署集。这种方式避免了实例重启的风险,但如果当前实例不满足新部署集的要求,会导致调整失败。
将实例移出部署集
如果您在删除部署集时,需要保留当前部署集内的实例,可以从部署集中移除实例后再进行删除,移除后实例保持原有状态。
具体操作如下:
调用ModifyInstanceDeployment,并指定以下参数,将实例移出部署集:
RegionId:选择实例所属地域。例如,
cn-hangzhou
,即华东1(杭州)。InstanceId:实例ID。例如,
i-bp67acfmxazb4ph***
。DeploymentSetId:部署集ID。例如,
ds-bp67acfmxazb4ph****
。RemoveFromDeploymentSet:是否将所选实例移出所选部署集。选择:
true
。
验证实例是否移除成功:接口调用成功,且返回状态码:200,证明移除成功。
修改或删除部署集
在部署集列表,找到目标部署集,单击操作列的修改信息或删除,按照界面提示完成操作。
修改部署集:修改部署集的名称和描述。
删除部署集:当您不再需要使用部署集时,您可以删除部署集,以免造成不必要的资源占用。