Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-17 GMT+08:00

Creación de un balanceador de carga

Función

Esta API se utiliza para crear un balanceador de carga de red privada. Después de crear el balanceador de carga, se devuelven los detalles, como el ID del balanceador de carga, la dirección IP y el ID de subred.

Para crear un balanceador de carga de red pública, también debe llamar a la API para asignar un EIP y asociar esta dirección IP al puerto vinculado a la dirección IP del balanceador de carga de red privada.

URI

POST /v2.0/lbaas/loadbalancers

Solicitud

Tabla 1 Descripción del parámetro

Parámetro

Obligatorio

Tipo

Descripción

loadbalancer

Object

Especifica el balanceador de carga. Para más detalles, consulte Tabla 2.

Tabla 2 Descripción de parámetro loadbalancer

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Especifica el nombre del balanceador de carga.

El valor contiene un máximo de 255 caracteres.

description

No

String

Proporciona información adicional sobre el balanceador de carga.

El valor contiene un máximo de 255 caracteres.

tenant_id

No

String

Especifica el ID del proyecto en el que se utiliza el balanceador de carga.

El valor contiene un máximo de 255 caracteres.

El valor debe ser el mismo que el valor de project_id en el token.

project_id

No

String

Especifica el ID del proyecto al que pertenece el balanceador de carga. Este parámetro tiene el mismo significado que tenant_id.

El valor debe ser el mismo que el valor de project_id en el token.

vip_subnet_id

String

Especifica el ID de red IPv4 de la subred en la que funciona el balanceador de carga. Puede obtener el valor llamando a la API para consultar subredes ({VPC endpoint}/v2.0/subnets) mediante el método GET.

La dirección IP privada del balanceador de carga se encuentra en esta subred.

Sólo se admiten subredes IPv4.

provider

No

String

Especifica el proveedor del balanceador de carga.

El valor solo puede ser vlb.

vip_address

No

String

Especifica la dirección IP privada del balanceador de carga.

Esta dirección IP debe ser la de la subred especificada por vip_subnet_id. Si no se especifica este parámetro, se asigna automáticamente una dirección IP al balanceador de carga desde la subred especificada por vip_subnet_id.

El valor incluye un máximo de 64 caracteres.

admin_state_up

No

Boolean

Especifica el estado administrativo del balanceador de carga.

Este parámetro está reservado y el valor predeterminado es true.

Respuesta

Tabla 3 Parámetros de respuesta

Parámetro

Tipo

Descripción

loadbalancer

Object

Especifica el balanceador de carga. Para más detalles, consulte Tabla 4.

Tabla 4 Descripción de parámetro loadbalancer

Parámetro

Tipo

Descripción

id

String

Especifica el ID del balanceador de carga.

project_id

String

Especifica el ID del proyecto al que pertenece el balanceador de carga. Este parámetro tiene el mismo significado que tenant_id.

tenant_id

String

Especifica el ID del proyecto en el que se utiliza el balanceador de carga.

El valor contiene un máximo de 255 caracteres.

name

String

Especifica el nombre del balanceador de carga.

El valor contiene un máximo de 255 caracteres.

description

String

Proporciona información adicional sobre el balanceador de carga.

El valor contiene un máximo de 255 caracteres.

vip_subnet_id

String

Especifica el ID de red IPv4 de la subred en la que funciona el balanceador de carga.

vip_port_id

String

Especifica el ID del puerto enlazado a la dirección IP privada del balanceador de carga.

Cuando se crea un balanceador de carga, el sistema crea automáticamente un puerto y lo asocia a un grupo de seguridad. Sin embargo, el grupo de seguridad no tendrá efecto.

provider

String

Especifica el proveedor del balanceador de carga.

vip_address

String

Especifica la dirección IP privada del balanceador de carga.

El valor incluye un máximo de 64 caracteres.

listeners

Array

Muestra los ID de oyentes agregados al balanceador de carga. Para más detalles, consulte Tabla 5.

pools

Array

Muestra los ID de los grupos de servidores backend asociados con el balanceador de carga. Para más detalles, consulte Tabla 6.

operating_status

String

Este parámetro está reservado, y su valor puede ser ONLINE o FROZEN.

Especifica el estado de funcionamiento del balanceador de carga.

provisioning_status

String

Este parámetro está reservado y su valor sólo puede ser ACTIVE.

Especifica el estado de aprovisionamiento del balanceador de carga.

admin_state_up

Boolean

Especifica el estado administrativo del balanceador de carga.

Este parámetro está reservado. El valor puede ser true o false.

  • true: habilitar
  • false: deshabilitar

tags

Array

Enumera las etiquetas de balanceador de carga.

created_at

String

Especifica la hora en que se creó el balanceador de carga.

La hora UTC está en formato AAAA-MM-DDTHH:MM:SS.

El valor contiene un máximo de 19 caracteres.

updated_at

String

Especifica la hora a la que se actualizó el balanceador de carga.

La hora UTC está en formato AAAA-MM-DDTHH:MM:SS.

El valor contiene un máximo de 19 caracteres.

Tabla 5 Descripción del parámetro listeners

Parámetro

Tipo

Descripción

id

String

Especifica el ID del oyente asociado.

Tabla 6 Descripción del parámetro pools

Parámetro

Tipo

Descripción

id

String

Especifica el ID del grupo de servidores backend asociado.

Ejemplo de la solicitud

  • Ejemplo de solicitud 1: Creación de un balanceador de carga de red privada
    POST https://{Endpoint}/v2.0/lbaas/loadbalancers 
    
    { 
        "loadbalancer": { 
            "name": "loadbalancer1", 
            "description": "simple lb", 
            "tenant_id": "1867112d054b427e808cc6096d8193a1", 
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b", 
            "vip_address": "192.168.0.100", 
            "admin_state_up": true 
        } 
    }
  • Ejemplo de solicitud 2

    Vincule un EIP al puerto que se ha vinculado a la dirección IP privada del balanceador de carga. Para obtener más información sobre los parámetros, consulte Tabla 7.

    Tabla 7 Parámetros de solicitud

    Parámetro

    Obligatorio

    Tipo

    Descripción

    publicip

    Object

    Especifica el EIP. Para más detalles, consulte Tabla 8.

    bandwidth

    Object

    Especifica el ancho de banda. Para más detalles, consulte Tabla 9.

    enterprise_project_id

    No

    String

    • Especifica el ID del proyecto de empresa. El valor es 0 o un UUID que puede contener un máximo de 36 caracteres, incluyendo guiones (-).
    • Al asignar un EIP, debe vincular un ID de proyecto de empresa al EIP.
    • Si no se especifica este parámetro, el valor predeterminado es 0.
    NOTA:

    Para obtener más información acerca de los proyectos de empresa y cómo obtener los ID de proyecto de empresa, consulte Guía del usuario de Enterprise Management.

    Tabla 8 Descripción de parámetro publicip

    Parámetro

    Obligatorio

    Tipo

    Descripción

    type

    String

    • Especifica el tipo de EIP.
    • El valor puede ser 5_telcom, 5_union, 5_bgp, or 5_sbgp.
      • CN South-Guangzhou: 5_bgp y 5_sbgp
      • CN East-Shanghai2: 5_bgp y 5_sbgp
      • CN North-Beijing1: 5_bgp y 5_sbgp
      • CN-Hong Kong: 5_bgp
      • CN Southwest-Guiyang1: 5_bgp y 5_sbgp
      • CN North-Beijing4: 5_bgp y 5_sbgp
    • Nota:
      • El valor configurado debe ser compatible con el sistema.
      • publicip_id es un puerto IPv4. Si no se especifica publicip_type, el valor predeterminado es 5_bgp.

    ip_version

    No

    Integer

    • Especifica la versión de EIP.
    • El valor puede ser 4 y 6. 4 indica una dirección IPv4, y 6 indica una dirección IPv6.
    • Nota:
      • El valor configurado debe ser compatible con el sistema.
      • Si este parámetro se deja en blanco o es una string vacía, se asigna una dirección IPv4 de forma predeterminada.

    ip_address

    No

    String

    • Especifica el EIP que se va a asignar. El sistema asigna automáticamente un EIP si no lo especifica.
    • El valor debe ser una dirección IPv4 válida en el intervalo de direcciones IP disponible.
    Tabla 9 Descripción del parámetro bandwidth

    Parámetro

    Obligatorio

    Tipo

    Descripción

    name

    No

    String

    • Especifica el nombre del ancho de banda.
    • El valor puede contener de 1 a 64 caracteres que pueden contener letras, dígitos, guiones bajos (_), guiones (-) y puntos (.).
    • Este parámetro es obligatorio cuando share_type se establece en PER. Este parámetro se ignorará cuando share_type se establezca en WHOLE con un ID especificado.

    size

    No

    Integer

    • Especifica el ancho de banda (Mbit/s).
    • El valor varía de 1 a 300 de forma predeterminada. (El rango puede variar dependiendo de la configuración en cada región. Puede ver el rango de ancho de banda de cada región en la consola de gestión.)
    • Este parámetro es obligatorio cuando share_type se establece en PER. Este parámetro se ignorará cuando share_type se establezca en WHOLE con un ID especificado.
    • La unidad mínima para el ajuste de ancho de banda varía dependiendo del rango de ancho de banda. Dichos aspectos se detallan a continuación:
      • El incremento mínimo es de 1 Mbit/s si el ancho de banda permitido varía de 0 a 300 Mbit/s.
      • El incremento mínimo es de 50 Mbit/s si el ancho de banda permitido varía de 301 Mbit/s a 1000 Mbit/s.
      • El incremento mínimo es de 500 Mbit/s si el ancho de banda permitido es mayor de 1,000 Mbit/s.

    id

    No

    String

    • Especifica el ID de ancho de banda. Puede especificar un ancho de banda compartido existente al asignar un EIP.
    • El valor puede ser el ID del ancho de banda compartido cuyo tipo se establece en WHOLE.

    share_type

    String

    • Especifica el tipo de ancho de banda.
    • Opciones de valor:
      • PER: indica ancho de banda dedicado.
      • WHOLE: ancho de banda compartido indicado.

    charge_mode

    No

    String

    • El valor predeterminado es traffic. Actualmente, solo se admite la facturación por tráfico.
    • Paso 1: Solicitar una EIP.
      POST https://{VPCEndpoint}/v1/8b7e35ad379141fc9df3e178bd64f55c/publicips
      
      {
          "publicip": {
              "type": "5_bgp",
              "ip_version": 4
          },
          "bandwidth": {
              "name": "bandwidth123",
              "size": 10,
              "share_type": "PER"
          }
      }
    • Ejemplo de la respuesta
      {
          "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
              
          }
      }
    • Paso 2: Vincular el EIP. (El valor de public_id es el mismo que en el ▪ Ejemplo de respuesta, y el valor de port_id es el mismo que el de vip_port_id en el Ejemplo de respuesta 1.)
      PUT /v1/8b7e35ad379141fc9df3e178bd64f55c/publicips/f588ccfa-8750-4d7c-bf5d-2ede24414706
      
      {
          "publicip": {
              "port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7"
          }
      }
    • Ejemplo de la respuesta
      {
        "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
        }
      }
    • Una vez completadas las etapas anteriores, el balanceador de carga tiene la capacidad de acceder a la red pública. Puede acceder al balanceador de carga usando 139.9.204.183, el valor del parámetro public_ip_address.

Ejemplo de la respuesta

  • Ejemplo de respuesta 1
    {
        "loadbalancer": {
            "description": "simple lb",
            "provisioning_status": "ACTIVE",
            "tenant_id": "1867112d054b427e808cc6096d8193a1",
            "project_id": "1867112d054b427e808cc6096d8193a1",
            "created_at": "2019-01-19T05:32:56",
            "admin_state_up": true,
            "updated_at": "2019-01-19T05:32:57",
            "id": "ea2843da-4026-49ec-8338-8fa015b067fc",
            "pools": [],
            "listeners": [],
            "vip_port_id": "a7ecbdb5-5a63-41dd-a830-e16c0a7e04a7",
            "operating_status": "ONLINE",
            "vip_address": "192.168.0.100",
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b",
            "provider": "vlb",
            "tags": [],
            "name": "loadbalancer1"
        }
    }
  • Ejemplo de respuesta 2
    POST https://{Endpoint}/v2.0/lbaas/loadbalancers 
    
    { 
        "loadbalancer": { 
            "name": "loadbalancer1", 
            "description": "simple lb", 
            "tenant_id": "1867112d054b427e808cc6096d8193a1", 
            "vip_subnet_id": "58077bdb-d470-424b-8c45-2e3c65060a5b", 
            "vip_address": "192.168.0.100", 
            "admin_state_up": true 
        } 
    }

Una vez completadas las etapas anteriores, el balanceador de carga tiene la capacidad de acceder a la red pública. Puede acceder al balanceador de carga usando 139.9.204.183, el valor del parámetro public_ip_address.

Código de estado

Para más detalles, consulte Códigos de estado.