操作場景一
通過控制臺開通單臺云主機。
操作步驟
本文以南昌5資源池為例,創建單臺Linux/Windows云主機。
計算控制臺點擊“彈性云主機”,點擊右上角“創建云主機”。
“基礎配置” 頁
- 計費模式選擇按量付費;
- 地域選擇江西-南昌5;
- 可用區選擇可用區1;
- 企業項目選擇default;
- 虛擬私有云(VPC)選擇默認default-vpc;
- 實例名稱和主機名稱按照要求填寫即可;
- 選擇所需開通規格,本次以s7.xlarge.2為例;
- 選擇所需鏡像類型。
“網絡配置” 頁
- 網卡會關聯上述選擇的虛擬私有云(VPC)下的子網,選擇相應的子網即可;
- 安全組可以選擇default安全組;
- 彈性IP選擇“不使用”。
“高級配置” 頁
- 登陸方式默認為密碼,創建密碼為稍后創建;
- 用戶數據選擇“暫不配置”;
- 左下角購買量選擇1臺。
“確認配置” 頁
確認上述選擇和填寫的配置項符合預期,勾選“已閱讀并同意相關協議”,點擊右下角的“立即購買”完成訂購。
對于單臺Linux/Windows云主機,通常情況下可在一分鐘內完成開通。本次單臺Linux云主機開通耗時17秒,單臺Windows云主機開通耗時16秒。
操作場景二
通過控制臺開通多臺云主機。
操作步驟
本文以南昌5資源池為例,批量創建20臺Linux云主機。
控制臺點擊“彈性云主機”,點擊右上角“創建云主機”。
“基礎配置” 頁
- 計費模式選擇按量付費;
- 地域選擇江西-南昌5;
- 可用區選擇可用區1;
- 企業項目選擇default;
- 虛擬私有云(VPC)選擇默認自己創建的VPC;
- 實例名稱和主機名稱按照要求填寫即可;
- 選擇所需規格,本次以s7.xlarge.2為例;
- 選擇所需鏡像類型。
“網絡配置” 頁
- 網卡會關聯上述選擇的虛擬私有云(VPC)下的子網,選擇相應的子網即可;
- 安全組可以選擇default安全組;
- 彈性IP選擇“不使用”。
“高級配置” 頁
- 登陸方式默認為密碼,創建密碼為稍后創建;
- 用戶數據選擇“暫不配置”;
- 左下角購買量選擇20臺。
“確認配置” 頁
確認上述選擇和填寫的配置項符合預期,勾選“已閱讀并同意相關協議”,點擊右下角的“立即購買”完成訂購。
對于多臺Linux云主機,通常情況下可實現分鐘級開通。本次開通20臺Linux云主機耗時22秒。
操作場景三
通過OpenAPI接口并發開通1000臺云主機。
接口約束
- 目前不支持預付費賬戶創建按需付費類型云主機。
- 計費模式選擇包年包月計費方式時,需要填寫訂購周期類型與訂購時長。
- 自動分配彈性IP(extIP="1")時,需要填寫彈性IP版本(ipVersion)與帶寬大小(bandwidth);使用已有的彈性IP(extIP="2")時,需要填寫彈性IP的版本(ipVersion),和對應彈性IP的ID(eipID或ipv6AddressID)。
- 掛載網卡時,子網與虛擬私有云存在對應關系,確保子網屬于當前虛擬私有云。
- 云主機綁定多個標簽時,標簽鍵(參數labelKey)不可重復,單臺云主機最多可綁定10個標簽。
操作步驟
本文以南昌5資源池為例,創建1000臺按需計費的云主機,其中每批創建50臺,并發創建20批次。
-
計算控制臺點擊“鏡像服務”,在公共鏡像Tab選擇CentOS Linux 7.6 64位鏡像,獲取鏡像ID。
-
選擇需要開通的云主機規格,本次使用s7.large.2,根據OpenAPI的獲取該規格對應的flavorID。
-
網絡控制臺點擊“虛擬私有云”,創建虛擬私有云(VPC),同時在該虛擬私有云(VPC)下創建subnet,保證該subnet可使用的IP數量超過1000個。
-
在官網幫助中心查找OpenAPI。
-
批量開通函數封裝。
@atomic.action_timer("openapi.batch_create_instance") def _batch_create_instance(self, region, az, flavor, image, vpc, subnet, ext_ip, disk_type, disk_size,ondemand, order_count, **kwargs): """Returns user servers list.""" body = self.client.servers.batch_create(region, az, flavor, image, vpc, subnet, ext_ip, disk_type, disk_size,ondemand,order_count, **kwargs) order = body["returnObj"]["masterOrderID"] res = self._query_uuid(order,interval=2, timeout=600) return res def batch_create(self, region, az, flavor, image, vpc, subnet, ext_ip, disk_type, disk_size, ondemand, order_count, **kwargs): name = "s-rally-" + self._random_digits(5) params = { "clientToken": str(uuid.uuid4()), "regionID": region, "azName": az, "instanceName": name, "displayName": name, "flavorID": flavor, "imageType": 1, "imageID": image, "bootDiskType": disk_type, "bootDiskSize": disk_size, "onDemand": ondemand, "orderCount": order_count, "vpcID": vpc, "extIP": ext_ip, "networkCardList": [ { "subnetID": subnet, "isMaster": True } ], } params.update(kwargs) return self._post("/v4/ecs/batch-create-instances", params=params) -
編寫yaml執行腳本。
-
scenario選擇上述編寫的batch_create_instance方法;
-
region、az對應南昌5資源池ID和可用區;
-
flavor、image為上述選擇的規格和鏡像;
-
vpc、subnet是上述創建的虛擬私有云和子網;
-
ext_ip默認為0,不創建彈性IP;
-
disk_type選擇SATA普通IO,disk_size選擇40;
-
ondemand選擇true,選擇創建按需云主機;
-
projectID為相關的企業項目;
-
order_count選擇50,表示單批次批量創建50臺云主機;
-
runner中times設置20,代表共批量創建20批次;concurrency設置20,代表并發20。
yaml可執行腳本如圖所示。
-
部署相關腳本到對應的運行機器,執行yaml腳本,開始創建云主機。
rally task start ***.yaml -
當20個訂單創建完成后,可在控制臺查看“運行中”的云主機數量。對于千臺云主機,通常情況下可在十分鐘內完成開通。本次批量開通千臺云主機耗時138秒,開通成功率100%。