👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
应用范围
前提条件
注册火山引擎账号,并完成 实名认证。您可以登录 火山引擎控制台,在顶部导航栏右侧,单击“账号管理 > 实名认证”,前往 实名认证 页面查看是否已经完成实名认证。
本方案仅作为实践演示,具体环境以用户实际需求为准。
软件版本
本地计算机操作系统:Windows 10
Postman 版本:v9.31.0
实践规划
VPC网段
192.168.0.0/16 ~ 24(默认)
10.0.0.0/8 ~ 24
172.16.0.0/12 ~ 24
子网网段
子网网段的掩码长度范围为 16 ~ 29 位。
子网网段必须从属于所在 VPC 的网段。
子网网段不能与所在 VPC 的路由条目的目标网段相同,但可以是目标网段的子集。
每个子网的第一个和最后三个 IP 地址为系统保留地址。例如子网的网段为 192.168.0.0/24,则192.168.0.0、192.168.0.253、192.168.0.254 和 192.168.0.255 4 个地址是系统保留地址。
ECS 实例规格
登录 火山引擎控制台。
在左侧导航树中,单击“产品与服务 > 云服务器” ,进入 云服务器控制台。
在左侧导航栏选择“实例” ,进入实例列表页面。
单击“创建实例”, 并按下方表格进行配置,即可得到所有可创建的 ECS 实例规格。
类别 | 说明 |
计费类型 | 按量计费 |
地域及可用区 | 华北2(北京)可用区A |
本实践选择 通用型g2i ,实例规格: ecs.g2i.large,查看实例规格信息后单击右下角“取消” 。
ECS 镜像
在左侧导航栏选择“镜像” ,进入镜像列表页面。
在镜像列表页面,即可查看火山引擎 公共镜像,或者可根据需要 导入自定义镜像。
本实践选择 CentOS 7.6 64位 ,镜像ID:image-ebgzajl1peeh8jc6****。
Postman 调用 OpenAPI
安装 Postman
下载安装包
安装 Postman
双击下载好的安装包,软件将自动安装到本地电脑中。
启动 Postman,出现如下图所示界面,说明安装成功。
创建集合
在 Postman 中,单击 “Collections > +” 创建集合,并重命名为 “Create ECS by OpenAPI”。
在集合中单击 “... > Add request”,依次添加 “CreateVpc”、“CreateSubnet”、“DescribeSecurityGroups”、“RunInstances”、“DescribeInstances” 五个请求。
请求添加完毕后界面如下。
创建环境变量
参数 | 示例值 | 备注 |
URL | open.volcengineapi.com | OpenAPI的服务地址。 |
AccessKey | <AccessKey> | 请填写您的AccessKey,获取方式如下: 1. 登录 火山引擎控制台。 2. 将光标移动到右上角账号名称处,单击“密钥管理”。 3. 在密钥管理界面,复制 AccessKey 和 SecretKey。 |
SecretKey | <SecretKey> | 请填写您的SecretKey,获取方式如上所述。 |
创建请求
创建 CreateVpc 请求
选中 “CreateVpc” 请求,完成请求参数部分,并调用环境变量 “火山引擎OpenAPI”。
参数 | 示例值 |
Action | CreateVpc |
Version | 2020-04-01 |
X-Expires | 300 |
CidrBlock | 192.168.0.0/16 |
VpcName | vpc-test |
Description | 通过OpenAPI批量创建ECS |
单击 “Headers”, 在对应页签下完成请求头部分。
参数 | 示例值 | 备注 |
AccessKey | {{AccessKey}} | 调用环境变量,固定填写{{AccessKey}} |
SecretKey | {{SecretKey}} | 调用环境变量,固定填写 {{SecretKey}} |
Region | cn-beijing | - |
Service | vpc | - |
单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。
单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的VpcId,并将其设置为环境变量,供后续请求调用使用。
var json = JSON.parse(responseBody); let foobar = json.Result.VpcId; console.log(foobar) pm.environment.set("vpcid",foobar);
创建 CreateSubnet 请求
选中 “CreateSubnet” 请求,完成请求参数部分,并调用环境变量“火山引擎OpenAPI”。
参数 | 示例值 | 备注 |
Action | CreateSubnet | - |
Version | 2020-04-01 | - |
X-Expires | 300 | - |
CidrBlock | 192.168.0.0/24 | - |
VpcId | {{vpcid}} | 调用环境变量,固定填写{{vpcid}} |
ZoneId | cn-beijing-a | - |
SubnetName | sub-test | - |
Description | 通过OpenAPI批量创建ECS | - |
单击 “Headers”, 在对应页签下完成请求头部分。
参数 | 示例值 | 备注 |
AccessKey | {{AccessKey}} | 调用环境变量,固定填写{{AccessKey}} |
SecretKey | {{SecretKey}} | 调用环境变量,固定填写{{SecretKey}} |
Region | cn-beijing | - |
Service | vpc | - |
单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。
单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的SubnetId,并将其设置为环境变量,供后续请求调用使用。
var json = JSON.parse(responseBody); let foobar = json.Result.SubnetId; console.log(foobar) pm.environment.set("subnetid",foobar);
创建 DescribeSecurityGroups 请求
选中 “DescribeSecurityGroups” 请求,完成请求参数部分,并调用环境变量“火山引擎OpenAPI”。
参数 | 示例值 | 备注 |
Action | DescribeSecurityGroups | - |
Version | 2020-04-01 | - |
X-Expires | 300 | - |
VpcId | {{vpcid}} | 调用环境变量,固定填写{{vpcid}} |
单击 “Headers”, 在对应页签下完成请求头部分。
参数 | 示例值 | 备注 |
AccessKey | {{AccessKey}} | 调用环境变量,固定填写{{AccessKey}} |
SecretKey | {{SecretKey}} | 调用环境变量,固定填写{{SecretKey}} |
Region | cn-beijing | - |
Service | vpc | - |
单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。
单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的SecurityGroupId,并将其设置为环境变量,供后续请求调用使用。
var json = JSON.parse(responseBody); let foobar = json.Result.SecurityGroups[0].SecurityGroupId; console.log(foobar) pm.environment.set("securitygroupid",foobar);
创建 RunInstances 请求
选中 “RunInstances” 请求,完成请求参数部分,并调用环境变量“火山引擎OpenAPI”。
参数 | 示例值 | 备注 |
Action | RunInstances | - |
Version | 2020-04-01 | - |
X-Expires | 300 | - |
ZoneId | cn-beijing-a | - |
ImageId | image-ebgzajl1peeh8jc6**** | CentOS 7.6 64位 |
InstanceType | ecs.g2i.large | 通用型g2i(2vCPU/8GiB) |
InstanceName | instance-test | - |
Count | 10 | 创建数量 |
Password | password@123 | - |
KeyPairName | keypair |
|
Volumes.1.VolumeType | ESSD | - |
Volumes.1.Size | 40 | - |
Volumes.2.VolumeType | ESSD | - |
Volumes.2.Size | 40 | - |
NetworkInterfaces.1.SubnetId | {{subnetid}} | 调用环境变量,固定填写{{subnetid}} |
NetworkInterfaces.1.SecurityGroupIds.1 | {{securitygroupid}} | 调用环境变量,固定填写{{securitygroupid}} |
InstanceChargeType | PostPaid | - |
UniqueSuffix | true | - |
SuffixIndex | 1 | - |
SecurityEnhancementStrategy | Active | |
HpcClusterId | hpcCluster-1 | 当创建高性能计算 GPU 型实例时,请指定高性能计算集群 ID,本实践不选择 |
单击 “Headers”, 在对应页签下完成请求头部分。
参数 | 示例值 | 备注 |
AccessKey | {{AccessKey}} | 调用环境变量,固定填写{{AccessKey}} |
SecretKey | {{SecretKey}} | 调用环境变量,固定填写{{SecretKey}} |
Region | cn-beijing | - |
Service | ecs | - |
单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。
创建 DescribeInstances 请求
选中 “DescribeInstances” 请求,完成请求参数部分,并调用环境变量“火山引擎OpenAPI”。
参数 | 示例值 | 备注 |
Action | DescribeInstances | - |
Version | 2020-04-01 | - |
X-Expires | 300 | - |
ZoneId | cn-beijing-a | - |
VpcId | {{vpcid}} | 调用环境变量,固定填写{{vpcid}} |
单击 “Headers”, 在对应页签下完成请求头部分。
参数 | 示例值 | 备注 |
AccessKey | {{AccessKey}} | 调用环境变量,固定填写{{AccessKey}} |
SecretKey | {{SecretKey}} | 调用环境变量,固定填写{{SecretKey}} |
Region | cn-beijing | - |
Service | ecs | - |
单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。
运行集合
按照下图操作步骤运行集合。
查看运行结果可见,10 台 ECS 服务器已经创建成功。
在首次运行集合后,环境变量中已自动添加了本次实践的{{vpcid}}、{{subnetid}}和{{securitygroupid}},如需在相同的 VPC 和子网下再次批量创建云主机,仅需执行 RunInstances 和 DescribeInstances 两步即可。
控制台验证
登录 火山引擎控制台。
在左侧导航树中,单击“产品与服务 > 云服务器”,进入 云服务器控制台。
在左侧导航栏单击“实例” ,进入实例列表页面,在顶部导航栏,选择创建实例的所属地域,可以看到 10 台云服务器 ECS 正在运行中,云服务器 ECS 创建成功。