You need to enable JavaScript to run this app.
文档中心
云服务器

云服务器

复制全文
下载 pdf
最佳实践
OpenAPI快速部署云服务器ECS
复制全文
下载 pdf
OpenAPI快速部署云服务器ECS
本文通过调用OpenAPI,实现快速部署大量ECS实例,满足用户对高弹性算力的需求。对于社交媒体,在线教育等存在线上热点活动的用户,该方案可以显著提高客户的使用体验。​
应用范围​
适用于在短时间内快速交付大量ECS实例的应用场景,例如互娱类、社交媒体类或在线教育类客户,由于热点事件的发生或组织的热点活动,往往需要在极短的时间内获取并使用大量的ECS资源。​
软件版本​
说明​
本方案仅作为实践演示,具体环境以用户实际需求为准。​
  • 本地计算机操作系统:Windows 10​
  • Postman 版本:v9.31.0​
实践规划​
本实践通过调用 OpenAPI 实现快速部署大量 ECS 实例。在调用 OpenAPI 前,需要对 VPC 网段、子网网段、安全组、网卡 和 路由表 进行预规划,同时选择需要创建的 ECS 实例规格 和 镜像。 其中 安全组、网卡 和 路由表 在本次实践中为系统默认创建,具体环境以客户实际需求为准。​
VPC网段​
您可以使用以下网段或其子集作为 VPC 的网段:​
  • 192.168.0.0/16 ~ 24(默认)​
  • 10.0.0.0/8 ~ 24​
  • 172.16.0.0/12 ~ 24​
本次选择 192.168.0.0/16 作为VPC网段。​
子网网段​
子网网段要求如下:​
  • 子网网段的掩码长度范围为 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 个地址是系统保留地址。​
本次选择 192.168.0.0/24 作为子网网段。​
ECS 实例规格​
  1. 在左侧导航树中选择“实例与镜像 > 实例”。​
  1. 单击“创建实例”, 并按下方表格进行配置,即可得到所有可创建的 ECS 实例规格。​
  • ​
    类别​
    说明​
    计费类型​
    按量计费​
    地域及可用区​
    华北2(北京)可用区A​
    ​
  • ​alt​​
  1. 本实践选择 通用型g2i ,实例规格: ecs.g2i.large,查看实例规格信息后单击右下角“取消” 。​
ECS 镜像​
  1. 在左侧导航栏选择“镜像” ,进入镜像列表页面。​
  1. 在镜像列表页面,即可查看 公共镜像,或者可根据需要 导入自定义镜像。​
  1. 本实践选择 CentOS 7.6 64位 ,镜像ID:image-ebgzajl1peeh8jc6****。​
Postman 调用 OpenAPI​
本实践使用 Postman 构建 OpenAPI 请求。相较于其它方式,Postman 具有简单易用的图形用户界面,可以保存接口请求的历史记录,测试集 Collections 可以更有效的管理组织接口,便于在团队之间同步接口数据。​
用户需参照官网文档中心完成 OpenAPI 参数的构建,包括 私有网络 和 云服务器 两部分。本实践涉及的接口请参见 参考文档。​
安装 Postman​
下载安装包​
在 Download Postman 页面,单击 “Download the App”,根据本地电脑配置,下载对应安装包。​
安装 Postman​
  1. 双击下载好的安装包,软件将自动安装到本地电脑中。​
  1. 启动 Postman,出现如下图所示界面,说明安装成功。​
  • ​image.png​​
创建集合​
  1. 在 Postman 中,单击 “Collections > +” 创建集合,并重命名为 “Create ECS by OpenAPI”。​​​
  1. 在集合中单击 “... > Add request”,依次添加 “CreateVpc”、“CreateSubnet”、“DescribeSecurityGroups”、“RunInstances”、“DescribeInstances” 五个请求。​
  • ​​​
  1. 请求添加完毕后界面如下。​
  • ​​​
创建环境变量​
单击 “Environments > +” 创建环境变量,并重命名为“veStack OpenAPI”(仅为示例),简化参数请求操作。​
​
​
参数​
示例值​
备注​
URL​
open.volcengineapi.com​
OpenAPI的服务地址。​
AccessKey​
<AccessKey>​
请填写您的AccessKey,获取方式如下:​
1. 登录 产品控制台。​
2. 将光标移动到右上角账号名称处,单击“API 访问密钥”。​
3. 在密钥管理界面,复制 AccessKey 和 SecretKey。​
SecretKey​
<SecretKey>​
请填写您的SecretKey,获取方式如上所述。​
​
创建请求​
说明​
创建请求时,在设置对应请求参数后,需在请求参数配置栏手动输入{{URL}}并保存配置。​
创建 CreateVpc 请求​
  1. 选中 “CreateVpc” 请求,完成请求参数部分,并调用环境变量。​
  • ​alt​​
  • ​
    参数​
    示例值​
    Action​
    CreateVpc​
    Version​
    2020-04-01​
    X-Expires​
    300​
    CidrBlock​
    192.168.0.0/16​
    VpcName​
    vpc-test​
    Description​
    通过OpenAPI批量创建ECS​
    ​
  1. 单击 “Headers”, 在对应页签下完成请求头部分。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    AccessKey​
    {{AccessKey}}​
    调用环境变量,固定填写{{AccessKey}}​
    SecretKey​
    {{SecretKey}}​
    调用环境变量,固定填写 {{SecretKey}}​
    Region​
    cn-beijing​
    -​
    Service​
    vpc​
    -​
    ​
  1. 单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制编写。​
  • ​alt​​
  1. 单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的VpcId,并将其设置为环境变量,供后续请求调用使用。​
  • ​
    var json = JSON.parse(responseBody); ​
    let foobar = json.Result.VpcId; ​
    console.log(foobar) ​
    pm.environment.set("vpcid",foobar);​
    ​
  • ​alt​​
创建 CreateSubnet 请求​
  1. 选中 “CreateSubnet” 请求,完成请求参数部分,并调用环境变量。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    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​
    -​
    ​
  1. 单击 “Headers”, 在对应页签下完成请求头部分。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    AccessKey​
    {{AccessKey}}​
    调用环境变量,固定填写{{AccessKey}}​
    SecretKey​
    {{SecretKey}}​
    调用环境变量,固定填写{{SecretKey}}​
    Region​
    cn-beijing​
    -​
    Service​
    vpc​
    -​
    ​
  1. 单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。​
  • ​alt​​
  1. 单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的SubnetId,并将其设置为环境变量,供后续请求调用使用。​
  • ​
    var json = JSON.parse(responseBody);​
    let foobar = json.Result.SubnetId;​
    console.log(foobar)​
    pm.environment.set("subnetid",foobar);​
    ​
  • ​alt​​
创建 DescribeSecurityGroups 请求​
  1. 选中 “DescribeSecurityGroups” 请求,完成请求参数部分,并调用环境变量。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    Action​
    DescribeSecurityGroups​
    -​
    Version​
    2020-04-01​
    -​
    X-Expires​
    300​
    -​
    VpcId​
    {{vpcid}}​
    调用环境变量,固定填写{{vpcid}}​
    ​
  1. 单击 “Headers”, 在对应页签下完成请求头部分。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    AccessKey​
    {{AccessKey}}​
    调用环境变量,固定填写{{AccessKey}}​
    SecretKey​
    {{SecretKey}}​
    调用环境变量,固定填写{{SecretKey}}​
    Region​
    cn-beijing​
    -​
    Service​
    vpc​
    -​
    ​
  1. 单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。​
  • ​alt​​
  1. 单击 “Tests”,在对应页签下输入以下命令,提取接口返回值中的SecurityGroupId,并将其设置为环境变量,供后续请求调用使用。​
  • ​
    var json = JSON.parse(responseBody);​
    let foobar = json.Result.SecurityGroups[0].SecurityGroupId;​
    console.log(foobar)​
    pm.environment.set("securitygroupid",foobar);​
    ​
  • ​alt​​
创建 RunInstances 请求​
  1. 选中 “RunInstances” 请求,完成请求参数部分,并调用环境变量。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    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​
    • Windows实例不支持密钥对KeyPairName​
    • 如果同时设置了密钥对KeyPairName和密码Password,则仅生效密钥对KeyPairName​
    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,本实践不选择​
    ​
  1. 单击 “Headers”, 在对应页签下完成请求头部分。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    AccessKey​
    {{AccessKey}}​
    调用环境变量,固定填写{{AccessKey}}​
    SecretKey​
    {{SecretKey}}​
    调用环境变量,固定填写{{SecretKey}}​
    Region​
    cn-beijing​
    -​
    Service​
    ecs​
    -​
    ​
  1. 单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。​
  • ​alt​​
创建 DescribeInstances 请求​
  1. 选中 “DescribeInstances” 请求,完成请求参数部分,并调用环境变量。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    Action​
    DescribeInstances​
    -​
    Version​
    2020-04-01​
    -​
    X-Expires​
    300​
    -​
    ZoneId​
    cn-beijing-a​
    -​
    VpcId​
    {{vpcid}}​
    调用环境变量,固定填写{{vpcid}}​
    ​
  1. 单击 “Headers”, 在对应页签下完成请求头部分。​
  • ​alt​​
  • ​
    参数​
    示例值​
    备注​
    AccessKey​
    {{AccessKey}}​
    调用环境变量,固定填写{{AccessKey}}​
    SecretKey​
    {{SecretKey}}​
    调用环境变量,固定填写{{SecretKey}}​
    Region​
    cn-beijing​
    -​
    Service​
    ecs​
    -​
    ​
  1. 单击 “Pre-request Script”,在对应页签下完成签名机制的脚本编写,具体脚本用户可根据实际需求参考 签名机制 编写。​
  • ​alt​​
运行集合​
  1. 按照下图操作步骤运行集合。​
  • ​alt​​
  1. 查看运行结果可见,10 台 ECS 服务器已经创建成功。​
  • ​alt​​
  1. 在首次运行集合后,环境变量中已自动添加了本次实践的{{vpcid}}、{{subnetid}}和{{securitygroupid}},如需在相同的 VPC 和子网下再次批量创建云主机,仅需执行 RunInstances 和 DescribeInstances 两步即可。​
控制台验证​
进入云服务器实例列表页面,在顶部导航栏,选择创建实例的所属地域,可以看到 10 台云服务器 ECS 正在运行中,云服务器 ECS 创建成功。​
参考文档​
最近更新时间:2025.10.27 16:37:05
这个页面对您有帮助吗?
有用
有用
无用
无用