為規避底層物理機單點故障,或滿足高頻交易等應用對極致低延遲的需求,可通過配置部署集來控制ECS執行個體的分布。選擇高可用策略可打散執行個體以提升容災能力,選擇低時延策略可集中執行個體以加快網路通訊。
適用範圍
-
部署集不支援建立Dedicated Host。
-
地區與可用性區域限制:執行個體與部署集必須在同一地區;策略為網路低時延的部署集內的執行個體,必須都在同一可用性區域。
-
執行個體規格類型系列限制:大部分6代及以上執行個體支援高可用、部署集組高可用及網路低時延策略部署集。
快速使用
步驟一:建立部署集
通過控制台
訪問ECS控制台-部署集。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
-
在部署集頁面,單擊建立部署集。
-
在建立部署集對話方塊,輸入部署集名稱和描述,選擇策略。如果選擇高可用策略,還可以設定部署類型(物理機、機架或交換器)和親和度(1~10)。如何選擇部署策略?
通過API
調用CreateDeploymentSet在指定的地區內建立一個部署集,並設定部署集策略。
-
如果部署策略為部署集組高可用策略,可指定參數
GroupCount設定分組數量。 -
如果部署策略為高可用策略,可指定參數
Type設定部署類型(host、rack或sw),預設值為host。 -
如果部署策略為高可用策略,可指定參數
Affinity設定親和度(1~10),預設值為1。
步驟二:在部署集內建立或添加ECS執行個體
通過控制台
ECS執行個體的規格、地區、數量需符合使用限制要求。具體,請參見使用限制。
-
在部署集內建立新執行個體:
在部署集列表頁面,找到目標部署集,在部署集的操作列中,單擊建立執行個體,跳轉到自訂購買頁面完成執行個體配置選項。
-
將已建立執行個體加入部署集:具體操作,可參見調整執行個體所屬部署集。
通過API
-
在部署集內建立新執行個體:調用RunInstances介面,並指定
DeploymentSetId(部署集ID)。為部署集組高可用原則設定分組數量。
-
將已建立執行個體加入至部署集:調用ModifyInstanceDeployment介面,並指定參數
InstanceId(執行個體ID)和DeploymentSetId(部署集ID)。說明如果指定的部署集對應策略為
AvailabilityGroup(部署集組高可用策略),可以通過參數DeploymentSetGroupNo指定執行個體在部署集中的分組號。
部署策略
部署策略用於確定ECS執行個體在物理伺服器上的部署方式,您可以根據業務對於高可用性、網路延遲和部署規模等要求來選擇。
|
情境 |
推薦策略 |
關鍵限制 |
|
小規模叢集,嚴格隔離故障 |
高可用策略 |
單可用性區域最多20~100台(取決於部署類型和親和度) |
|
大規模部署,分組隔離 |
部署集組高可用策略 |
單可用性區域最多7組×20台/組 |
|
低網路延遲 |
網路低時延策略 |
必須同可用性區域,最多20台 |
高可用策略
將執行個體分散部署在不同的物理機、機架或交換器上,避免單點故障導致多台執行個體同時不可用。
打散粒度越細(如交換器層級),容災能力越強,但可能面臨更高的建立失敗率。如果當前可用性區域沒有足夠的獨立物理機/機架/交換器滿足打散要求,執行個體建立將失敗,請等待一段時間後重試或選擇其他可用性區域。
-
適用情境:小規模部署,且對服務連續性和隔離性有較高要求的系統,如Hadoop分散式運算叢集、SQL資料庫叢集等。
-
可用性區域:執行個體可部署在不同可用性區域。
-
執行個體數量:單個可用性區域的執行個體數上限取決於部署類型和親和度設定。
部署類型
部署類型指定部署集內ECS執行個體的打散維度,取值如下:
|
取值 |
打散維度 |
說明 |
|
|
物理機層級 |
執行個體分散部署在不同物理伺服器上,避免單台物理機故障影響多個執行個體。 |
|
|
機架層級 |
執行個體分散部署在不同機架上,規避因機架電源故障導致的批量執行個體不可用風險。 |
|
|
交換器層級 |
執行個體分散部署在不同交換器下,規避因交換器故障導致的網路中斷風險。 |
親和度
親和度表示每個物理機上允許部署的最大執行個體數。取值範圍為1~10,預設值為1。
-
親和度為1時,實現嚴格打散,即每個物理機上最多部署1台執行個體。
-
親和度大於1時,實現儘力打散,適用於執行個體數量較多但仍需一定程度容災隔離的情境。
以下樣本以部署類型為物理機(host)的情境,說明親和度如何影響執行個體分布:
情境一:基於部署集建立執行個體
建立 HOST 類型部署集(Affinity=2),在該部署集中建立 3 台 ECS 執行個體。系統根據親和度約束,將執行個體分散部署到不同物理機上,單台物理機最多承載 2 個執行個體。
情境二:調整部署集親和度(調大)
將已有部署集的 Affinity 從 1 調整為 2。調大親和度後,系統將允許單台物理機承載更多執行個體,為後續擴容提供空間。已有執行個體無需遷移。
執行個體數量上限
部署集的執行個體數量上限取決於部署類型和親和度的組合:
|
部署類型(Type) |
親和度(Affinity) |
單地區 上限 |
|
|
1~10 |
20台 |
|
|
1~10 |
20台 |
|
|
1~10 |
20台 |
部署集組高可用策略
將執行個體分配到多個分組中(最多7組),不同分組嚴格分散在不同物理伺服器上,同組內允許集中式部署。
不同分組的ECS執行個體會在指定地區內嚴格分散在不同的物理伺服器上,避免單點故障;同組內多台ECS執行個體不保證分散部署,可能部署在同一物理機,從而降低互訪延時。
通過介面DescribeInstances可查詢執行個體在部署集中分組的位置(DeploymentSetGroupNo)。分布式應用(如HDFS、Cassandra)可利用分組號資訊做智能副本放置決策,確保不同副本分布在不同分組中,從而在分組級故障時仍保持資料可用。
-
適用情境:大規模部署且需要高隔離性的應用,尤其是已具備內部高可用機制(如Redis主從複製、Nginx負載平衡)的業務。
-
可用性區域:執行個體可部署在不同可用性區域。
-
執行個體數量:單可用性區域單組的執行個體上限20台,單可用性區域最多可有7個組。
網路低時延策略
將執行個體集中式部署在同一網路拓撲範圍內,最大限度降低執行個體間網路通訊延遲。
該策略以犧牲高可用性換取低延遲——多台執行個體可能集中在同一台物理伺服器上。請確保您的應用已自身實現了高可用機制(如多副本、主從切換)。
-
適用情境:Alibaba Cloud HPC、即時資料分析、AI推理等對網路延遲有嚴苛要求的應用。
-
可用性區域:執行個體必須部署在同一個可用性區域。
-
執行個體數量:不可超過20台。
-
容量不足時:如果同一網路拓撲範圍內沒有足夠資源,執行個體建立將失敗。建議等待後重試,或聯絡客服確認資源可用性。
更多操作
調整執行個體所屬部署集
根據業務需求,更改ECS執行個體所屬的部署集,將其從一個部署集轉移到另一個部署集,或將未加入部署集的執行個體添加到符合業務需求的目標部署集中。
通過控制台
訪問ECS控制台-執行個體。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
-
單擊目標執行個體ID進入執行個體詳情頁,單擊全部操作展開所有操作面板,然後搜尋並單擊。
-
在調整執行個體所屬部署集對話方塊中,選擇目標部署集,並設定是否強制調整。
-
是:允許更換執行個體物理伺服器。該操作可能會導致執行個體重啟,影響服務的連續性,請謹慎操作。
-
否:不會更換執行個體的物理伺服器,而是嘗試將執行個體加入到指定的部署集。這種方式避免了執行個體重啟的風險,但如果當前執行個體不滿足新部署集的要求,會導致調整失敗。
-
通過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,證明移除成功。
修改或刪除部署集
在ECS控制台-部署集,找到目標部署集,單擊操作列的修改資訊或刪除,按照介面提示完成操作。
-
修改部署集:修改部署集的名稱和描述。
-
刪除部署集:當您不再需要使用部署集時,您可以刪除部署集,以免造成不必要的資源佔用。
重要刪除部署集時,請確保部署集內沒有執行個體。如果存在執行個體,必須移出執行個體後才能刪除部署集。具體操作,請參見調整執行個體所屬部署集或將執行個體移出部署集。
使用限制
遇到地區內供貨緊缺時,可能無法建立ECS執行個體,或者重啟隨用隨付ECS執行個體(節省停機模式)失敗。一般情況下,您可以等待一段時間後重試建立或重啟操作。更多資訊,請參見節省停機模式。
-
部署集數量限制:單個阿里雲賬戶可擁有的部署集的數量有上限,具體可在配額中心查看。
-
部署類型(Type)不支援變更:部署集建立後,其部署類型無法修改。如需變更,需建立部署集並遷移執行個體。
-
親和度(Affinity)調整規則:
-
調大親和度:無約束,可直接修改。當部署類型為
host時,調大親和度可能會同步上調執行個體數量上限。 -
調小親和度:需要先將部署集內的執行個體全部移出,清空部署集後再修改。
-
-
部署集之間不支援相互合并。
費用說明
使用部署集不會收取服務費用,但建立和使用的ECS執行個體、磁碟、快照、鏡像和公網頻寬等服務將收取費用。更多資訊,請參見計費概述。