更新时间:2022-01-25 GMT+08:00

创建负载均衡器

功能介绍

创建私网类型的负载均衡器。创建成功后,该接口会返回创建的负载均衡器的ID、所属子网ID、负载均衡器内网IP等详细信息。

若要创建公网类型的负载均衡器,还需调用创建浮动IP的接口,将浮动IP与私网负载均衡器的vip_port_id绑定。

可以通过设置enterprise_project_id字段,对资源进行细粒度授权。

URI

POST /v2/{project_id}/elb/loadbalancers

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

操作用户的项目ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

loadbalancer

Object

负载均衡器对象。详见表3

表3 loadbalancer字段说明

参数

是否必选

参数类型

描述

name

String

负载均衡器名称。

支持的最大字符长度:255

description

String

负载均衡器的描述信息。

支持的最大字符长度:255

tenant_id

String

负载均衡器所在的项目ID。

支持的最大字符长度:255

需要和token中的project_id一致。

vip_subnet_id

String

负载均衡器所在的子网ID。可通过查询子网列表获取。vip_address将从该子网中产生。

只支持指定IPv4的子网ID。暂不支持IPv6。

provider

String

负载均衡器的生产者。

取值范围:vlb。

vip_address

String

负载均衡器的内网IP。

该IP必须为vip_subnet_id字段指定的子网网段中的IP。若不指定,自动从vip_subnet_id字段指定的子网网段中生成一个IP地址。

支持的最大字符长度:64

admin_state_up

Boolean

负载均衡器的管理状态。

该字段为预留字段,暂未启用。默认为true。

enterprise_project_id

String

企业项目ID。创建负载均衡器时,给负载均衡器绑定企业项目ID。

取值范围:带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。

默认值:"0"。

响应消息

表4 响应参数

参数

参数类型

描述

loadbalancer

Object

负载均衡器对象。详见表5

表5 loadbalancer字段说明

参数

参数类型

描述

id

String

负载均衡器ID。

tenant_id

String

负载均衡器所在项目的ID。

支持的最大字符长度:255

name

String

负载均衡器名称。

支持的最大字符长度:255

description

String

负载均衡器的描述信息。

支持的最大字符长度:255

vip_subnet_id

String

负载均衡器所在子网的ID。

vip_port_id

String

负载均衡器内网IP对应的端口ID。

provider

String

负载均衡器的生产者名称。

vip_address

String

负载均衡器的内网IP。

支持的最大字符长度:64

listeners

Array

负载均衡器关联监听器ID的列表。详见表6

pools

Array

负载均衡器关联后端服务器组ID的列表。详见表7

operating_status

String

负载均衡器的操作状态。

取值范围:可以为ONLINE、OFFLINE、DEGRADED、DISABLED或NO_MONITOR。

该字段为预留字段,暂未启用。默认为ONLINE。

支持的最大字符长度:16

provisioning_status

String

负载均衡器的配置状态。

取值范围:可以为ACTIVE、PENDING_CREATE 或者ERROR。

该字段为预留字段,暂未启用。默认为ACTIVE。

支持的最大字符长度:16

admin_state_up

Boolean

负载均衡器的管理状态。

该字段为预留字段,暂未启用。默认为true。

tags

Array

负载均衡器的标签列表。

created_at

String

负载均衡器的创建时间。

格式为UTC时间:YYYY-MM-DDTHH:MM:SS

支持的最大字符长度:19

updated_at

String

负载均衡器的更新时间。

格式为UTC时间:YYYY-MM-DDTHH:MM:SS

支持的最大字符长度:19

enterprise_project_id

String

企业项目ID。创建负载均衡器时,给负载均衡器绑定企业项目ID。

取值范围:带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。

表6 listeners字段说明

参数

参数类型

描述

id

String

关联的监听器id

表7 pools字段说明

参数

参数类型

描述

id

String

关联的后端服务器组id

请求示例

  • 请求样例1 创建私网负载均衡器
    POST https://{Endpoint}/v2/1867112d054b427e808cc6096d8193a1/elb/loadbalancers
    
    {
        "loadbalancer": {
            "name": "loadbalancer1",
            "description": "simple lb",
            "tenant_id": "1867112d054b427e808cc6096d8193a1",
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b",
            "vip_address": "10.0.0.4",
            "admin_state_up": true,
            "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" 
        }
    }
  • 请求样例2 创建公网负载均衡器

    •请求样例1 创建私网负载均衡器的基础上,为私网负载均衡器的vip_port绑定弹性IP,具体参数说明参考表8

    表8 请求参数说明

    参数

    是否必选

    参数类型

    描述

    publicip

    Object

    弹性IP对象,请参见表9

    bandwidth

    Object

    带宽对象,请参见表10

    enterprise_project_id

    String

    • 企业项目ID。最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。
    • 创建弹性IP时,给弹性公网IP绑定企业项目ID。
    • 不指定该参数时,默认值是 0
    说明:

    关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。

    表9 publicip参数说明

    参数

    是否必选

    参数类型

    描述

    type

    String

    • 功能说明:弹性IP的类型
    • 约束:
      • 必须是系统具体支持的类型
      • publicip_id为IPv4端口,所以"publicip_type"字段未给定时,默认为5_bgp。

    ip_version

    Integer

    • 功能说明:弹性IP的版本
    • 取值范围:4、6,分别表示创建ipv4和ipv6
    • 约束:
      • 必须是系统具体支持的类型
      • 不填或空字符串时,默认创建ipv4

    ip_address

    String

    • 功能说明:希望申请到的弹性IP的地址,不指定时由系统自动分配
    • 约束:必须为IPv4地址格式,且必须在可用地址池范围内
    表10 bandwidth字段说明

    参数

    是否必选

    参数类型

    描述

    name

    String

    • 功能说明:带宽名称
    • 取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)
    • 如果share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。

    size

    Integer

    • 功能说明:带宽大小
    • 取值范围:默认1Mbit/s~300Mbit/s(具体范围以各区域配置为准,请参见控制台对应页面显示)。
    • 约束:share_type是PER,该参数必须带,如果share_type是WHOLE并且id有值,该参数会忽略。
    • 注意:调整带宽时的最小单位会根据带宽范围不同存在差异。
      • 小于等于300Mbit/s:默认最小单位为1Mbit/s。
      • 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。
      • 大于1000Mbit/s:默认最小单位为500Mbit/s。

    id

    String

    • 功能说明:带宽ID,创建弹性IP时可以指定已有的共享带宽
    • 取值范围:共享(WHOLE类型)带宽ID

    share_type

    String

    • 功能说明:带宽类型
    • 取值为PER,表示独享带宽

    charge_mode

    String

    • 取值为traffic,表示流量计费。
    • step1 请求样例 申请弹性IP。
      POST https://{VPCEndpoint}/v1/8b7e35ad379141fc9df3e178bd64f55c/publicips
      
      {
          "publicip": {
              "type": "5_bgp",
              "ip_version": 4
          },
          "bandwidth": {
              "name": "bandwidth123",
              "size": 10,
              "share_type": "PER"
          }
      }
    • step1 响应样例
      {
          "publicip": {
              "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
              "status": "PENDING_CREATE",
              "type": "5_bgp",
              "public_ip_address": "139.9.204.183",
              "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
              "ip_version": 4,
              "create_time": "2019-06-29 06:45:32",
              "bandwidth_size": 1
              
          }
      }
    • step2 请求样例 绑定弹性IP,public_id为▪step1 响应样例中的publicip id,port_id为•响应样例1的vip_port_id。
      PUT /v1/8b7e35ad379141fc9df3e178bd64f55c/publicips/f588ccfa-8750-4d7c-bf5d-2ede24414706
      
      {
          "publicip": {
              "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7"
          }
      }
    • step2 响应样例
      {
        "publicip": {
          "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
          "status": "ACTIVE",
          "type": "5_bgp",
          "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7",
          "public_ip_address": "139.9.204.183",
          "private_ip_address": "192.168.1.131",
          "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
          "create_time": "2019-06-29 07:33:18",
          "bandwidth_size": 1,
          "ip_version": 4
        }
      }
    • 完成以上步骤,负载均衡器已具备公网访问的能力,可通过响应体中的public_ip_address:139.9.204.183来访问负载均衡器。

响应示例

  • 响应样例1
    {
        "loadbalancer": {
            "description": "",
            "admin_state_up": true,
            "tenant_id": "1867112d054b427e808cc6096d8193a1",
     
            "provisioning_status": "ACTIVE",
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b",
            "listeners": [],
            "vip_address": "10.0.0.4",
            "vip_port_id": "519f6af5-74aa-4347-9dba-84c440192877",
            "provider": "vlb",
            "pools": [],
            "tags": [],
            "id": "b0657373-0c68-41d1-980f-1a44d9e3ff01",
            "operating_status": "ONLINE",
            "name": "loadbalancer1",
            "created_at": "2018-07-25T01:54:13", 
            "updated_at": "2018-07-25T01:54:14",
            "enterprise_project_id": "0aad99bc-f5f6-4f78-8404-c598d76b0ed2" 
        }
    }
  • 响应样例2
    {
      "publicip": {
        "id": "f588ccfa-8750-4d7c-bf5d-2ede24414706",
        "status": "ACTIVE",
        "type": "5_bgp",
        "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7",
        "public_ip_address": "139.9.204.183",
        "private_ip_address": "192.168.1.131",
        "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
        "create_time": "2019-06-29 07:33:18",
        "bandwidth_size": 1,
        "ip_version": 4
      }
    }

    完成以上步骤,负载均衡器已具备公网访问的能力,可通过响应体中的public_ip_address:139.9.204.183来访问负载均衡器。

返回码

请参见负载均衡返回码说明