> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/zlb/load-balancer-instance/createloadbalancer.md).

# CreateLoadBalancer

## 1. 接口描述

本接口(CreateLoadBalancer)用于创建负载均衡器实例。

{% hint style="info" %}
**注意事项**

* 可以通过调用 [DescribeLoadBalancerRegions](/api-reference/cn/zlb/location/describeloadbalancerregions.md) 查看支持购买负载均衡的地域。
* 本接口为异步接口，接口成功返回后，可调用 [DescribeLoadBalancers](/api-reference/cn/zlb/load-balancer-instance/describeloadbalancers.md) 查询负载均衡实例的状态。其中状态为`RUNNING`则代表创建成功。
* 当前只支持为ZEC服务器创建负载均衡实例。
* 只支持后付费负载均衡实例创建。
* 创建负载均衡实例时，请确保该VPC下存在满足`ipStackType`要求的子网，并且子网内至少有2个可用地址供分配。
* 通过`eipIds`指定已有EIP时，EIP在负载均衡实例创建完成（状态变为`RUNNING`）后才完成绑定，绑定结果可通过 [DescribeEips](/api-reference/cn/zec/elastic-ip/describeeips.md) 查询。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称                  | 必选 | 类型                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------------------- | -- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| regionId              | 是  | String                                                                                    | <p>区域节点ID。</p><p>可通过调用 <a href="/api-reference/cn/zec/location/describeregions.md">DescribeRegions</a> 获取。</p>                                                                                                                                                                                                                                                                                                                                                                                       |
| loadBalancerName      | 是  | String                                                                                    | <p>负载均衡实例名称。</p><p>长度为1～64个字符。</p><p>可选值范围：\[1.0, +)</p>                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| vpcId                 | 否  | String                                                                                    | <p>负载均衡后端服务器所属的VPC网络ID。</p><p><code>vpcId</code>和<code>subnetId</code>至少指定一个。</p><p>仅指定<code>subnetId</code>时，取该子网所属的VPC。</p><p>可通过调用 <a href="/api-reference/cn/zec/vpc-network/describevpcs.md">DescribeVpcs</a> 获取。</p>                                                                                                                                                                                                                                                                           |
| subnetId              | 否  | String                                                                                    | <p>子网ID。</p><p>可以通过调用 <a href="/api-reference/cn/zec/vpc-network/describesubnets.md">DescribeSubnets</a> 获取。</p><p><code>vpcId</code>和<code>subnetId</code>至少指定一个。</p><p>该子网需与<code>regionId</code>同区域，同时指定<code>vpcId</code>时还须属于该VPC。</p><p><code>ipStackType</code>为<code>IPv4</code>时该子网需支持IPv4，此参数可不指定（由系统在该VPC内选择）；为<code>IPv6</code>时该子网需含公网IPv6网段（内网IPv6不满足），且<strong>此参数必填</strong>——公网IPv6 VIP与健康检查段都从该子网分配，不指定将返回<code>MISSING\_PARAMETER</code>。</p>                                     |
| healthCheckPrivateIps | 否  | Array of String                                                                           | <p>健康检查内网源IP地址，数量必须为2。</p><p>指定<code>subnetId</code>时，不填则从该子网中随机分配2个可用的内网IPv4地址作为健康检查源IP，每个负载均衡实例占用2个地址，该子网剩余可用内网IPv4地址不足时将返回<code>INVALID\_SUBNET\_IPV4\_INSUFFICIENT</code>，分配结果可调用 <a href="/api-reference/cn/zlb/load-balancer-instance/describeloadbalancers.md">DescribeLoadBalancers</a> 查询。</p><p>不指定<code>subnetId</code>时，此参数无效。</p><p>仅<code>ipStackType</code>为<code>IPv4</code>时可指定：为<code>IPv6</code>时健康检查段由系统从该子网的公网IPv6网段自动分配，指定本参数将返回<code>INVALID\_PARAMETER\_CONFLICT</code>。</p> |
| ipStackType           | 否  | [LoadBalancerIpStackType](/api-reference/cn/zlb/datastructure.md#loadbalanceripstacktype) | <p>IP堆栈类型。</p><p>负载均衡实例只支持单栈，即<code>IPv4</code>或<code>IPv6</code>，不支持双栈。</p><p>指定为<code>IPv6</code>时不支持配置公网网络参数（<code>internetChargeType</code>、<code>networkLineType</code>、<code>bandwidthMbps</code>、<code>trafficPackageSize</code>、<code>bandwidthClusterId</code>），也不能指定<code>eipIds</code>——EIP均为IPv4，IPv6负载均衡的公网地址通过 <a href="/api-reference/cn/zlb/load-balancer-instance/assignloadbalanceripv6.md">AssignLoadBalancerIpv6</a> 接口单独分配。</p><p>默认值：IPv4</p>                                  |
| eipIds                | 否  | Array of String                                                                           | <p>指定绑定到新建负载均衡实例的已有弹性公网IP的ID列表。</p><p>支持单IP（掩码<code>/32</code>）与网段类型的EIP，可调用 <a href="/api-reference/cn/zec/elastic-ip/describeeips.md">DescribeEips</a> 查询。</p><p>所有EIP需与<code>regionId</code>同区域且处于未绑定状态。</p><p>指定此参数时，<code>internetChargeType</code>、<code>networkLineType</code>、<code>bandwidthMbps</code>、<code>trafficPackageSize</code>、<code>bandwidthClusterId</code>均不生效，系统不再为该实例新建EIP，且<code>number</code>只能为1。</p><p>仅<code>ipStackType</code>为<code>IPv4</code>时可指定。</p>              |
| internetChargeType    | 否  | [InternetChargeType](/api-reference/cn/zlb/datastructure.md#internetchargetype)           | <p>IP网络计费模式。</p><p>指定<code>eipIds</code>时该参数不生效。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ipNetworkType \[已废弃]  | 否  | [EipNetworkType](/api-reference/cn/zlb/datastructure.md#eipnetworktype)                   | <p>IP的网络类型。</p><p>已废弃，请使用<code>networkLineType</code>。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| networkLineType       | 否  | [NetworkLineType](/api-reference/cn/zlb/datastructure.md#networklinetype)                 | IP的网络类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| bandwidthMbps         | 否  | Integer                                                                                   | <p>EIP的最大出带宽。单位为Mbps。最大限制通常为10000，如果有额外要求，请联系Support。当<code>internetChargeType</code>为<code>ByBandwidth</code>时，此参数必填。</p><p>可选值范围：\[1, +)</p>                                                                                                                                                                                                                                                                                                                                                       |
| trafficPackageSize    | 否  | Float                                                                                     | <p>流量包大小。</p><p>指定此参数时，IP网络计费模式(<code>internetChargeType</code>)需为<code>ByTrafficPackage</code>，否则该参数不生效。</p><p>仅当计费周期为月时支持设置，小时计费不支持。</p><p>可选值范围：\[0.0, 999999.0]</p>                                                                                                                                                                                                                                                                                                                              |
| bandwidthClusterId    | 否  | String                                                                                    | <p>共享带宽包ID。</p><p>指定此参数时，IP网络计费模式(<code>internetChargeType</code>)需为<code>BandwidthCluster</code>，否则该参数不生效。</p>                                                                                                                                                                                                                                                                                                                                                                                      |
| resourceGroupId       | 否  | String                                                                                    | <p>资源组ID。</p><p>如果不指定，则会创建在默认资源组。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| number                | 否  | Integer                                                                                   | <p>创建负载均衡的个数。</p><p>默认值：1</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| marketingOptions      | 否  | [MarketingInfo](/api-reference/cn/zlb/datastructure.md#marketinginfo)                     | 市场活动的相关信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| tags                  | 否  | [TagAssociation](/api-reference/cn/zlb/datastructure.md#tagassociation)                   | <p>创建负载均衡时关联的标签。</p><p>注意：·关联<code>标签键</code>不能重复。</p>                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| securityGroupId       | 否  | String                                                                                    | <p>负载均衡实例绑定的安全组ID。</p><p>可以通过调用 <a href="/api-reference/cn/zec/security-group/describesecuritygroups.md">DescribeSecurityGroups</a> 获取。</p>                                                                                                                                                                                                                                                                                                                                                          |

## 3. 响应结果

| 参数名称            | 类型              | 描述                                                       |
| --------------- | --------------- | -------------------------------------------------------- |
| requestId       | String          | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| orderNumber     | String          | 下单编号。                                                    |
| loadBalancerIds | Array of String | 由负载均衡实例唯一ID组成的集合。                                        |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 创建一个公网负载均衡实例。IP计费方式为固定带宽。**

```json
POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateLoadBalancer
<Common Request Params>

Request：
{
  "regionId" : "asia-east-1",
  "vpcId" : "<vpcId>",
  "securityGroupId" : "<securityGroupId>",
  "loadBalancerName" : "sample",
  "internetChargeType" : "ByBandwidth",
  "networkLineType" : "PremiumBGP",
  "bandwidthMbps" : 2,
  "trafficPackageSize" : null,
  "bandwidthClusterId" : "",
  "number" : 1
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "<orderNumber>",
    "loadBalancerIds": ["<loadBalancerId>"]
  }
}
```

**2. 不指定`vpcId`，仅指定`subnetId`：负载均衡实例归属该子网所属的VPC，并从该子网中随机分配2个内网IPv4地址作为健康检查源IP。**

```json
POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateLoadBalancer
<Common Request Params>

Request：
{
  "regionId" : "asia-east-1",
  "subnetId" : "<subnetId>",
  "loadBalancerName" : "sample",
  "internetChargeType" : "ByBandwidth",
  "networkLineType" : "PremiumBGP",
  "bandwidthMbps" : 2,
  "number" : 1
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "<orderNumber>",
    "loadBalancerIds": ["<loadBalancerId>"]
  }
}
```

**3. 指定已有的弹性公网IP（EIP）创建负载均衡实例，不再新建EIP。**

```json
POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateLoadBalancer
<Common Request Params>

Request：
{
  "regionId" : "asia-east-1",
  "vpcId" : "<vpcId>",
  "loadBalancerName" : "sample",
  "eipIds" : ["<eipId1>", "<eipId2>"],
  "number" : 1
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "<orderNumber>",
    "loadBalancerIds": ["<loadBalancerId>"]
  }
}
```

**4. 创建负载均衡实例，并使用POC代金券。如果系统不存在POC代金券，创建流程会失败。**

```json
POST /api/v2/zlb HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: CreateLoadBalancer
<Common Request Params>

Request：
{
  "regionId" : "asia-east-1",
  "vpcId" : "<vpcId>",
  "securityGroupId" : "<securityGroupId>",
  "loadBalancerName" : "sample",
  "internetChargeType" : "ByBandwidth",
  "networkLineType" : "PremiumBGP",
  "bandwidthMbps" : 2,
  "number" : 1,
  "marketingOptions" : {
    "usePocVoucher" : true
  }
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "<orderNumber>",
    "loadBalancerIds": ["<loadBalancerId>"]
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                                                   | 说明                                      |
| ------- | --------------------------------------------------------------------- | --------------------------------------- |
| 404     | INVALID\_EIP\_NOT\_FOUND                                              | EIP不存在。                                 |
| 400     | INVALID\_IP\_BROADCAST\_ADDRESS                                       | IP为广播地址不可用。                             |
| 400     | INVALID\_IP\_FIRST\_ADDRESS                                           | IP为网关地址不可用。                             |
| 400     | INVALID\_IP\_NETWORK\_ADDRESS                                         | IP为网络地址不可用。                             |
| 400     | INVALID\_IP\_OUT\_OF\_RANGE                                           | IP地址不合法，不属于CIDR范围。                      |
| 400     | INVALID\_REGION\_MISMATCH                                             | EIP与目标资源不在同一区域。                         |
| 404     | INVALID\_REGION\_NOT\_FOUND                                           | 区域不存在。                                  |
| 404     | INVALID\_SECURITY\_GROUP\_NOT\_FOUND                                  | 安全组不存在。                                 |
| 409     | INVALID\_SUBNET\_IPV4\_INSUFFICIENT                                   | Subnet下可用的IPv4数量不足。                     |
| 409     | INVALID\_SUBNET\_IPV6\_INSUFFICIENT                                   | Subnet下可用的IPv6数量不足。                     |
| 400     | INVALID\_SUBNET\_NOT\_BELONG\_TO\_VPC                                 | 指定的子网不属于VPC。                            |
| 404     | INVALID\_SUBNET\_NOT\_FOUND                                           | 子网不存在。                                  |
| 409     | INVALID\_SUBNET\_PRIVATE\_IPV4\_IN\_USED                              | 内定的内网IP已经被使用。                           |
| 404     | INVALID\_VPC\_NOT\_FOUND                                              | VPC不存在。                                 |
| 400     | OPERATION\_DENIED\_EIP\_ASSIGNED\_LIMIT\_EXCEEDED                     | EIP绑定超过数量限制。                            |
| 400     | OPERATION\_DENIED\_EIP\_INSUFFICIENT                                  | 公网IP的库存不足，无法操作。                         |
| 400     | OPERATION\_DENIED\_EIP\_IS\_DEFAULT                                   | 默认公网IP无法解绑。                             |
| 400     | OPERATION\_DENIED\_EIP\_IS\_NOT\_UN\_ASSIGN                           | EIP已被占用（非未绑定状态），无法绑定。                   |
| 400     | OPERATION\_DENIED\_EIP\_QUOTA\_LIMIT\_EXCEEDED                        | EIP数量超过配额限制。                            |
| 500     | OPERATION\_DENIED\_EIP\_STATUS\_NOT\_SUPPORT                          | EIP状态不支持此操作。                            |
| 400     | OPERATION\_DENIED\_SUBNET\_TYPE\_NOT\_SUPPORT                         | 子网堆栈类型不支持。                              |
| 400     | OPERATION\_DENIED\_SUBNET\_TYPE\_NOT\_SUPPORT\_IPV4                   | 子网堆栈类型不包括IPv4。                          |
| 400     | OPERATION\_DENIED\_SUBNET\_NOT\_SUPPORT\_PUBLIC\_IPV6                 | 子网没有公网IPv6网段。                           |
| 409     | OPERATION\_DENIED\_NO\_AVAILABLE\_SUBNET                              | VPC下不存在有效子网，无法操作。                       |
| 400     | INVALID\_PARAMETER\_FLOW\_PACKAGE\_NOT\_SUPPORTED\_FOR\_PATH\_BASED   | PathBasedBandwidthIP不支持自定义流量包大小，需传0或不传。 |
| 400     | OPERATION\_DENIED\_FIXED\_BANDWIDTH\_NOT\_SUPPORTED\_FOR\_PATH\_BASED | PathBasedBandwidthIP不支持固定带宽计费。          |
| 400     | OPERATION\_DENIED\_FLOW\_PACKAGE\_NOT\_SUPPORTED\_HOUR\_PERIOD        | 当前产品周期为小时计费，不支持设置保底流量包大小。               |
