現狀分析:
目前通過阿裡雲控制台及 OpenApi 批量建立 Ecs 雲伺服器時,執行個體名稱及主機名稱都是統一命名,同一批次的批量建立出來的執行個體名稱是一緻的,主機名稱也是一緻的。站在客戶的角度來看,從執行個體名稱上區分執行個體是無法做到的,通常都是通過執行個體 Id 進行區分,而執行個體 Id 的沒有規律性、可識别性弱。當 Ecs 雲伺服器數量較少時,通過執行個體 Id 區分還可以做到,當執行個體數量達到成百上千台時,想要找到确定的某台 Ecs 雲伺服器難點非常大。為了讓使用者快速定位到目标 Ecs 雲伺服器,可以通過開關參數選擇是否支援批量連續名。
效果展示:
Ecs 雲伺服器執行個體支援批量連續命名;
分析與實作:
1、Ecs 控制台單次建立 Ecs 執行個體最大數量為 500 台執行個體,通過 API 單次最多能建立 100 台。執行個體批量連續命名支援最大數量為 999 ,預設從 001 追加到 999,執行個體主機命名的追加字尾與執行個體命名相同。
2、決定是否開啟執行個體及主機批量連續命名的參數為 UniqueSuffix,該入參通過 OpenApi 傳入;開關參數 UniqueSuffix 預設 false,不開啟批量連續命名,目前批次所有執行個體名稱相同、主機名稱相同;當 UniqueSuffix 為 true 時,目前批次所有執行個體連續命名、主機連續命名,命名效果如上圖所示,命名字首為建立執行個體時指定,例如:launch-20180524-,批量連續命名後執行個體名稱為 launch-20180524-001、launch-20180524-002、launch-20180524-003等依次連續。
注意事項:
執行個體名稱命名規則:
- 長度為 [2, 128] 個英文或中文字元,必須以大小字母或中文開頭,可以包含數字、點号(.)、半角冒号(:)、下劃線(_)或短橫線(-)。
- 如果沒有指定該參數,預設值為執行個體的
。InstanceId
- 不能以 http:// 和 https:// 開頭。
當 UniqueSuffix 為 true 時,在執行個體原來的命名字首基礎上追加三位,命名字首及追加的字尾的總長度仍然為 [2, 128] 個英文或中文字元,追加字尾的長度為 3 字元,是以命名字首最大的長度不得超過 125 個字元,否則抛出執行個體命名異常。
雲伺服器主機名稱命名規則:
- 點号(.)和短橫線(-)不能作為 HostName 的首尾字元,不能連續使用。
- Windows 執行個體:名字元長度為 [2, 15],允許字母(不限制大小寫)、數字和短橫線(-)組成,不支援點号(.),不能全是數字。
- 其他類型(Linux 等)執行個體:字元長度為 [2, 128],允許支援多個點号,點之間為一段,每段允許字母(不限制大小寫)、數字和短橫線(-)組成。
當 UniqueSuffix 為 true 時,在雲伺服器主機名稱原來的命名字首基礎上追加三位。Windows 執行個體命名字首及追加的字尾的總長度仍然為 [2, 15] ,追加字尾的長度為 3 字元,是以 Windows 執行個體主機命名字首最大的長度不得超過 12 個字元,否則抛出執行個體主機命名異常;其他類型(Linux 等)執行個體命名字首及追加的字尾的總長度仍然為 [2, 128] ,追加字尾的長度為 3 字元,是以其他類型(Linux 等)執行個體主機命名字首最大的長度不得超過 125 個字元,否則抛出執行個體主機命名異常。
OpenApi 中通過 UniqueSuffix 參數來控制批量連續命名操作。
關注