human: 如何处理七牛云的云主机创建云主机

gpt: [云主机](https://developer.qiniu.com/qvm) > API 文档 > 实例 >创建云主机

#  创建云主机

最近更新时间: 2021-06-04 14:22:13

创建一台预付费（包年包月）或者按量付费的云主机实例。创建实例的同时，您需要自行确定实例的操作系统类型、磁盘容量和网络类型等配置。

##### 镜像

在创建实例时，必须要选择镜像，确定新创建实例的系统盘配置。基于镜像创建实例后，实例的系统盘即为此镜像的完全克隆。

  * 实例内存为512 MiB时不能使用除Windows Server 1709之外的Windows镜像。
  * 实例内存为4 GiB以上时不能使用32位操作系统的镜像。

##### 网络配置

  * 专有网络VPC类型实例只能在创建时指定，必须且只能属于一个交换机。
  * 指定 VSwitchId 时，SecurityGroupId 和 VSwitchId 要属于同一个VPC。
  * VSwitchId 和 PrivateIpAddress 同时指定时，PrivateIpAddress 要包含在交换机的CidrBlock之内。
  * PrivateIpAddress 依赖于 VSwitchId，不能单独指定 PrivateIpAddress。

##### 安全组

  * 安全组需要预先创建。
  * 可以在新创建实例时指定安全组。
  * 在同一个安全组内的实例内网可以相互访问。不同安全组之间默认隔离，不可相互访问，但是可以授权访问。
  * 同一个安全组内的实例数量不能超过1000台。

##### 存储

  * 不同类型云盘的最大容量不同：
  * 单块高效云盘（cloud_efficiency）容量最大不超过32 TiB（32768 GiB）。
  * 单块SSD云盘（cloud_ssd）容量最大不能超过32 TiB（32768 GiB）。
  * 创建实例时，我们根据您指定的镜像为实例分配一个相应大小的系统盘。系统盘容量必须大于或者等于max{20, ImageSize}。系统盘的种类有高效云盘（cloud_efficiency）、SSD云盘（cloud_ssd）。
  * 一个实例最多添加16块数据盘。数据盘挂载点由系统默认顺序分配，/dev/xvdb开始到/dev/xvdz。

# 请求路径

> `POST` /v1/vm/instance

# 请求参数 ([查看付费参数 __](https://developer.qiniu.com/qvm/8006/common-params))

名称 | 类型 | 位置 | 必须 | 描述  
---|---|---|---|---  
region_id | string | body | 是 |  地域 ID。 您可以调用 DescribeRegions 查看最新的七牛云地域列表。  
cost_charge_type | string | body | 是 |  付费方式: 

  * PostPaid: 按需计费
  * PrePaid: 预付费

  
cost_charge_mode | string | body | 是 |  计费方式, PayByInstance   
cost_period_unit | string | body | 是 |  计费单位   
cost_period | integer | body | 是 | 计费周期  
image_id | string | body | 是 |  镜像 ID，启动实例时选择的镜像资源。您可以通过 DescribeImages 查询您可以使用的镜像资源。  
instance_type | string | body | 是 |  实例的资源规格。具体可选规格请使用接口【查看可用资源列表】查询  
security_group_id | string | body | 否 |  指定新创建实例所属于的安全组 ID。同一个安全组内的实例之间可以互相访问，一个安全组能容纳的实例数量视安全组类型而定，具体请参见使用限制的安全组章节。   
如果指定了安全组 ID，则要求也指定该安全组所属的VPC ID。  
zone_id | string | body | 否 |  实例所属的可用区 ID，您可以调用 DescribeZones 获取可用区列表。默认值：系统随机选择。  
system_disk_category | string | body | 否 |  系统盘的云盘种类。取值范围：

  * cloud_efficiency：高效云盘
  * cloud_ssd：SSD 云盘
  * cloud：普通云盘
  * ephemeral_ssd：本地 SSD 盘

已停售的实例规格且非 I/O 优化实例默认值为 cloud，否则默认值为 cloud_efficiency。  
system_disk_size | integer | body | 否 |  系统盘大小，单位为 GiB。取值范围：20~500 该参数的取值必须大于或者等于 max{20, ImageSize}。 默认值：max{40, ImageSize}  
system_disk_name | string | body | 否 |  系统盘名称。长度为 2~128 个英文或中文字符。必须以大小字母或中文开头，不能以 http:// 和 https:// 开头。可以包含数字、半角冒号（:）、下划线（_）或者连字符（-）。  
system_disk_description | string | body | 否 |  系统盘描述。长度为 2~256 个英文或中文字符，不能以 http:// 和 https:// 开头。  
system_disk_performance_level | string | body | 否 |  创建 ESSD 云盘作为系统盘使用时，设置云盘的性能等级。 取值范围：

  * PL1（默认）：单盘最高随机读写 IOPS 5 万
  * PL2：单盘最高随机读写 IOPS 10 万
  * PL3：单盘最高随机读写 IOPS 100 万。

有关如何选择 ESSD 性能等级，请参见 ESSD 云盘。  
data_disk | object[] | body | 否 | 数据盘  
data_disk[n].category | string | body | 否 | 数据盘n的磁盘种类。取值范围：  
cloud_efficiency：高效云盘  
cloud_ssd：SSD 云盘  
  
默认值：cloud  
data_disk[n].size | integer | body | 否 | 第n个数据盘的容量大小，n的取值范围为[1, 16]，内存单位为 GiB。取值范围：  
cloud_efficiency：[20, 32768]  
cloud_ssd：[20, 32768]  
  
该参数的取值必须大于等于参数 SnapshotId 指定的快照的大小。  
data_disk[n].name | string | body | 否 | 数据盘名称。长度为 [2, 128] 个英文或中文字符。必须以大小字母或中文开头，不能以 http:// 和 https:// 开头。可以包含数字、半角冒号（:）、下划线（_）或者连字符（-）。  
默认值：空。  
data_disk[n].description | string | body | 否 | 数据盘描述。长度为 [2, 256] 个英文或中文字符，不能以 http:// 和 https:// 开头。  
默认值：空。  
data_disk[n].encrypted | boolean | body | 否 | 数据盘n是否加密。  
默认值：false  
data_disk[n].snapshot_id | string | body | 否 | 创建数据盘n使用的快照。 指定参数DataDisk.n.SnapshotId后，参数DataDisk.n.Size会被忽略，实际创建的磁盘大小为参数 SnapshotId 的大小。  
data_disk[n].delete_with_instance | boolean | body | 否 | 表示数据盘是否随实例释放。  
默认值：true  
data_disk[n].performance_level | string | body | 否 | ESSD云盘性能等级  
取值： PL1, PL2, PL3  
v_switch_id | string | body | 否 |  虚拟交换机 ID。如果您创建的是 VPC 类型 ECS 实例，必须指定虚拟交换机 ID，且安全组和虚拟交换机在同一个专有网络 VPC 中。  
instance_name | string | body | 否 |  实例的名称。长度为 2~128 个英文或中文字符。必须以大小字母或中文开头，不能以 http:// 和 https:// 开头。 可以包含数字、半角冒号（:）、下划线（_）、英文句号（.）或者连字符（-）。 如果没有指定该参数，默认值为实例的 InstanceId。  
host_name | string | body | 否 |  云服务器的主机名。

  * 英文句号（.）和短横线（-）不能作为首尾字符，更不能连续使用。
  * Windows 实例：字符长度为 2~15，不支持英文句号（.），不能全是数字。允许大小写英文字母、数字和短横线（-）。
  * 其他类型实例（Linux 等）：字符长度为 2~64，支持多个英文句号（.），英文句号之间为一段，每段允许大小写英文字母、数字和短横线（-）。

  
description | string | body | 否 |  实例的描述。长度为 2~256 个英文或中文字符，不能以 http:// 和 https:// 开头。  
password | string | body | 否 |  实例的密码。长度为 8 至 30 个字符，必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是：
    
    
    ()`~!@#$%^&*-_+=|{}[]:;'<>,.?/

其中，Windows 实例不能以斜线号（/）为密码首字符。 @GSE:NOTE: 如果传入 Password 参数，建议您使用 HTTPS
协议发送请求，避免密码泄露。  
password_inherit | boolean | body | 否 |  是否使用镜像预设的密码。使用该参数时，Password 参数必须为空，同时您需要确保使用的镜像已经设置了密码。  
key_pair_name | string | body | 否 |  密钥对名称。

  * Windows 实例，忽略该参数。默认为空。即使填写了该参数，仍旧只执行 Password 的内容。
  * Linux 实例的密码登录方式会被初始化成禁止。为提高实例安全性，强烈建议您使用密钥对的连接方式。

  
security_enhancement_strategy | string | body | 否 |  是否开启安全加固。取值范围：

  * Active：启用安全加固，只对系统镜像生效。
  * Deactive：不启用安全加固，对所有镜像类型生效。

  
vpc_id | string | body | 否 |  VPC ID  
client_token | string | body | 否 |  保证请求幂等性。从您的客户端生成一个参数值，确保不同请求间该参数值唯一。  
enable_assign_ipv6 | boolean | body | 否 |  是否免费分配 ipv6 地址,默认不分配，需要先检查实例是否支持 ipv6  
eip_info | object | body | 否 | 弹性公网 IP 信息  
购买主机时可同时申请弹性公网IP并绑定。当选择按带宽计费时，IP为包年包月计费；当选择按流量计费时，IP为按量计费（创建按量资源要求订单支付后账户余额>100元）。具体格式见请求参数示例  
eip_info.name | string | body | 否 | 弹性公网IP名称  
enable_auto_renew | boolean | body | 否 |  是否打开自动续费  
customized_release_time | string | body | 否 |  后付费定时删除的时间  
auto_release_time | string | body | 否 |  自动释放时间  
  
## 请求参数示例

    
    
    {
      "region_id": "cn-hongkong",
      "zone_id": "cn-hongkong-b",
      "image_id": "centos_8_2_x64_20G_alibase_20201120.vhd",
      "instance_type": "ecs.g6.xlarge",
      "security_group_id": "sg-j6ceb0xiipj4hvsbdzqa",
      "v_switch_id": "vsw-j6cy33sz3ao7tgw7hh31b",
      "vpc_id": "vpc-j6cvjra8txm22zxu7vixj",
      "enable_assign_ipv6": false,
      "client_token": "3405156817531265",
      "system_disk_category": "cloud_efficiency",
      "system_disk_size": 40,
      "system_disk_name": "ABCD_SD-p0fBq",
      "data_disk": null,
      "cost_charge_type": "PostPaid",
      "cost_charge_mode": "PayByInstance",
      "cost_period_unit": "Hour",
      "cost_period": 1,
      "enable_auto_renew": false,
      "eip_info": {
        "eip_name": "ABCD_E-vRv9f",
        "eip_bandwidth": "30",
        "cost_period": 1,
        "cost_charge_type": "PostPaid",
        "cost_period_unit": "Hour",
        "cost_charge_mode": "PayByTraffic"
      },
      "password": "39dkg8IKMYUi",
      "amount": 1,
      "instance_name": "ABCD"
    }
    

# 返回值

名称 | 类型 | 是否必须 | 描述  
---|---|---|---  
instance_id | string | 是 | 实例ID，是访问实例的唯一标识。  
order | string | 否 | 预付费创建返回订单号。  
  
## 返回示例

    
    
    {
      "data": {
        "instance_id": "i-j6cj2dtpmvcp8xgyie4z",
        "order": "1QW2F998-8642-2346-I2K3-0OKMNHY65TG4",
        "image_info": {
          "image_id": "centos_8_2_x64_20G_alibase_20201120.vhd",
          "description": "",
          "product_code": "",
          "os_type": "linux",
          "architecture": "x86_64",
          "os_name": "CentOS  8.2 64位",
          "image_owner_alias": "system",
          "progress": "100%",
          "usage": "instance",
          "image_version": "",
          "status": "Available",
          "image_name": "centos_8_2_x64_20G_alibase_20201120.vhd",
          "is_self_shared": "",
          "platform": "CentOS",
          "size": 20,
          "is_support_cloudinit": true,
          "is_support_io_optimized": true,
          "is_copied": false,
          "is_subscribed": false,
          "disk_device_mappings": {
            "disk_device_mapping": []
          },
          "snapshot_id": "",
          "min_disk_size": ""
        },
        "vlan_id": "",
        "zone_id": "cn-hongkong-b",
        "spot_strategy": "",
        "stopped_mode": "",
        "serial_number": "",
        "io_optimized": false,
        "memory": 0,
        "cpu": 0,
        "device_available": false,
        "sale_cycle": "",
        "spot_price_limit": 0,
        "auto_release_time": "",
        "instance_name": "I-fd6Zn",
        "description": "",
        "resource_group_id": "",
        "os_type": "",
        "os_name": "",
        "host_name": "",
        "instance_type": "ecs.g6.xlarge",
        "instance_type_family": "",
        "status": "Creating",
        "cluster_id": "",
        "recyclable": false,
        "region_id": "cn-hongkong",
        "gpu_spec": "",
        "gpu_amount": 0,
        "vnc_passwd": "",
        "key_pair_name": "",
        "instance_charge_type": "",
        "instance_network_type": "",
        "expired_time": "0001-01-01T00:00:00Z",
        "network_interfaces": {
          "network_interface": null
        },
        "vpc_attributes": {
          "nat_ip_address": "",
          "private_ip_address": {
            "ip_address": null
          },
          "v_switch_id": "",
          "vpc_id": "",
          "vpc_name": "",
          "v_switch_name": ""
        },
        "security_group_ids": {
          "security_group_id": [
            "sg-j6ceb0xiipj4hvsbdzqa"
          ],
          "security_group_name": null
        },
        "operation_locks": {
          "lock_reason": null
        },
        "inner_ip_address": {
          "ip_address": null
        },
        "eip_address": {
          "ip_address": "",
          "allocation_id": "",
          "internet_charge_type": "",
          "is_support_unassociate": false,
          "bandwidth": 0
        },
        "public_ip_address": {
          "ip_address": null
        },
        "enable_assign_ipv6": false,
        "tags": null,
        "auto_renew_info": null,
        "customized_expire_time": null,
        "cost_charge_type": "",
        "cost_charge_mode": "",
        "updated_at": "2020-12-17T10:56:25.936338842+08:00",
        "created_at": "2020-12-17T10:56:25.936338842+08:00"
      },
      "request_id": "ScKvESOFwCWJYVEW"
    }
    

以上内容是否对您有帮助？