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 grupo de servidores backend

Función

Esta API se utiliza para crear un grupo de servidores backend.

Restricciones

Si se especifica session-persistence, cookie_name solo está disponible cuando type se establece en APP_COOKIE.

Si se especifica listener_id, el listener no debe tener ningún grupo de servidores backend asociado.

URI

POST /v3/{project_id}/elb/pools

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Especifica el ID del proyecto.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Especifica el token utilizado para la autenticación IAM.

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

pool

Yes

CreatePoolOption object

Especifica el cuerpo de la solicitud para crear un grupo de servidores backend.

Tabla 4 CreatePoolOption

Parámetro

Obligatorio

Tipo

Descripción

admin_state_up

No

Boolean

Especifica el estado administrativo del grupo de servidores backend. El valor solo se puede actualizar a true.

Este parámetro no es compatible. Por favor, no lo use.

description

No

String

Proporciona información adicional sobre el grupo de servidores backend.

Mínimo: 0

Máximo: 255

lb_algorithm

String

Especifica el algoritmo de equilibrio de carga utilizado por el equilibrador de carga para enrutar las solicitudes a los servidores backend del grupo de servidores backend asociado.

El valor puede ser uno de los siguientes:

  • ROUND_ROBIN: petirrojo redondo ponderado
  • LEAST_CONNECTIONS: conexiones mínimas ponderadas
  • SOURCE_IP: hash IP de origen
  • QUIC_CID: ID de conexión

Nota:

  • Si el valor es SOURCE_IP, el parámetro de weight no tendrá efecto para los servidores backend.
  • QUIC_CID solo se admite cuando el protocolo del grupo de servidores backend es QUIC.

El protocolo QUIC no se admite en la región eu-nl.

listener_id

No

String

Especifica el ID del listener al que está asociado el grupo de servidores backend. Especifique listener_id o loadbalancer_id, o ambos.

Especifique listener_id o loadbalancer_id para el balanceador de carga compartido.

Mínimo: 1

Máximo: 36

loadbalancer_id

No

String

Especifica el ID del equilibrador de carga al que está asociado el grupo de servidores backend. Especifique listener_id o loadbalancer_id, o ambos.

Mínimo: 1

Máximo: 36

name

No

String

Especifica el nombre del grupo del servidor backend.

Mínimo: 0

Máximo: 255

project_id

No

String

Especifica el ID de proyecto del grupo de servidores backend.

Mínimo: 32

Máximo: 32

protocol

String

Especifica el protocolo utilizado por el grupo de servidores backend para recibir solicitudes. El valor puede ser TCP, UDP, HTTP, HTTPS, o QUIC.

Nota:

  • Si el protocolo del oyente es UDP, el protocolo del grupo de servidores backend debe ser UDP o QUIC.
  • Si el protocolo del listener es TCP, el protocolo del grupo de servidores backend debe ser TCP.
  • Si el protocolo del listener es HTTP, el protocolo del grupo de servidores backend debe ser HTTP.
  • Si el protocolo del listener es HTTPS, el protocolo del grupo de servidores backend puede ser HTTP o HTTPS.
  • Si el protocolo del listener es TERMINATED_HTTPS, el protocolo del grupo de servidores backend debe ser HTTP.

El protocolo QUIC no se admite en la región eu-nl.

Mínimo: 1

Máximo: 255

session_persistence

No

CreatePoolSessionPersistenceOption object

Especifica la sesión adhesiva.

slow_start

No

CreatePoolSlowStartOption object

Especifica los detalles de inicio lento. Después de habilitar el inicio lento, los nuevos servidores backend agregados al grupo de servidores backend se calientan y el número de solicitudes que pueden recibir aumenta linealmente durante la duración de inicio lento configurada.

Este parámetro se puede utilizar cuando el protocolo del grupo de servidores backend es HTTP o HTTPS. Se devolverá un error si el protocolo no es HTTP o HTTPS. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

member_deletion_protection_enable

No

Boolean

Especifica si se habilita la protección de eliminación para el equilibrador de carga.

  • true: Habilitar la protección de eliminación.
  • false (predeterminado): Desactivar la protección de eliminación.
NOTA:

Desactive la protección de eliminación de todos sus recursos antes de eliminar su cuenta.

Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

vpc_id

No

String

Especifica el ID de la VPC donde funciona el grupo de servidores backend.

Nota:

  • El grupo de servidores backend debe estar asociado con la VPC.
  • Solo se pueden agregar servidores backend en los servidores backend de VPC o cross-VPC.
  • type se debe establecer como instance.

Si no se especifica vpc_id: vpc_id es determinado por la VPC donde funciona el servidor backend.

Mínimo: 0

Máximo: 36

type

No

String

Especifica el tipo del grupo de servidores backend.

Valores:

  • instance: Se puede agregar cualquier tipo de servidores backend. vpc_id es obligatorio.
  • ip: Solo se pueden agregar servidores backend entre VPC. No se puede especificar vpc_id.
  • "": Se puede agregar cualquier tipo de servidores backend.

Nota:

  • Si no se pasa este parámetro, se puede agregar cualquier tipo de servidores backend. type será devuelto como una cadena vacía.
  • Especifique uno de listener_id, loadbalancer_id, o type. Los balanceadores de carga compartidos solo pueden agregarse al grupo de servidores backend con loadbalancer_id o listener_id especificados.

Mínimo: 0

Máximo: 36

Tabla 5 CreatePoolSessionPersistenceOption

Parámetro

Obligatorio

Tipo

Descripción

cookie_name

No

String

Especifica el nombre de la cookie. El valor puede contener solo letras, dígitos, guiones (-) guiones bajos (_), y puntos (.). Nota: Este parámetro solo tendrá efecto cuando type se establece en APP_COOKIE. De lo contrario, se devolverá un error.

type

String

Especifica el tipo de sesión adhesiva. El valor puede ser SOURCE_IP, HTTP_COOKIE, o APP_COOKIE.Nota:

  • Si el protocolo del grupo de servidores backend es TCP o UDP, solo SOURCE_IP tiene efecto.
  • Para balanceadores de carga dedicados, si el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor solo puede ser HTTP_COOKIE.

persistence_timeout

No

Integer

Especifica la duración de la pegajosidad, en minutos. Este parámetro no tendrá efecto cuando type se establezca en APP_COOKIE.

  • Si el protocolo del grupo de servidores backend es TCP o UDP, el valor varía de 1 a 60, y el valor predeterminado es 1.
  • Si el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor varía de 1 a 1440, y el valor por defecto es 1440.
Tabla 6 CreatePoolSlowStartOption

Parámetro

Obligatorio

Tipo

Descripción

enable

No

Boolean

Especifica si se habilitará el inicio lento.

  • true: Activar el inicio lento.
  • false: Deshabilitar el inicio lento.

Predeterminado: false

duration

No

Integer

Especifica la duración de inicio lento, en segundos.

El valor oscila entre 30 y 1200, y el valor predeterminado es 30.

Mínimo: 30

Máximo: 1200

Predeterminado: 30

Parámetros de respuesta

Código de estado: 201

Tabla 7 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

request_id

String

Especifica el ID de la solicitud. El valor se genera automáticamente.

pool

Pool object

Especifica el grupo de servidores backend.

Tabla 8 Pool

Parámetro

Tipo

Descripción

admin_state_up

Boolean

Especifica el estado administrativo del grupo de servidores backend. El valor solo puede ser true.

Este parámetro no es compatible. Por favor, no lo use.

description

String

Proporciona información adicional sobre el grupo de servidores backend.

healthmonitor_id

String

Especifica el ID de la comprobación de estado configurada para el grupo de servidores backend.

id

String

Especifica el ID de grupo del servidor backend.

lb_algorithm

String

Especifica el algoritmo de equilibrio de carga utilizado por el equilibrador de carga para enrutar las solicitudes a los servidores backend del grupo de servidores backend asociado.

El valor puede ser uno de los siguientes:

  • ROUND_ROBIN: petirrojo redondo ponderado
  • LEAST_CONNECTIONS: conexiones mínimas ponderadas
  • SOURCE_IP: hash IP de origen
  • QUIC_CID: ID de conexión

Nota:

  • Si el valor es SOURCE_IP, el parámetro de weight no tendrá efecto para los servidores backend.
  • QUIC_CID solo se admite cuando el protocolo del grupo de servidores backend es QUIC.

El protocolo QUIC no se admite en la región eu-nl.

listeners

Array of ListenerRef objects

Especifica los identificadores de los listeners con los que está asociado el grupo de servidores backend.

loadbalancers

Array of LoadBalancerRef objects

Especifica los ID de los equilibradores de carga con los que está asociado el grupo de servidores backend.

members

Array of MemberRef objects

Especifica los ID de los servidores backend del grupo de servidores backend.

name

String

Especifica el nombre del grupo del servidor backend.

project_id

String

Especifica el ID del proyecto.

protocol

String

Especifica el protocolo utilizado por el grupo de servidores backend para recibir solicitudes. El valor puede ser TCP, UDP, HTTP, HTTPS, o QUIC.

  • Si el protocolo del listener es UDP, el protocolo del grupo de servidores backend debe ser UDP.
  • Si el protocolo del listener es TCP, el protocolo del grupo de servidores backend debe ser TCP.
  • Si el protocolo del listener es HTTP, el protocolo del grupo de servidores backend debe ser HTTP.
  • Si el protocolo del listener es HTTPS, el protocolo del grupo de servidores backend puede ser HTTP o HTTPS.
  • Si el protocolo del listener es TERMINATED_HTTPS, el protocolo del grupo de servidores backend debe ser HTTP.

El protocolo QUIC no se admite en la región eu-nl.

session_persistence

SessionPersistence object

Especifica la sesión adhesiva.

ip_version

String

Especifica la versión de la dirección IP admitida por el grupo de servidores backend.

IPv6 no es compatible. Solo se devolverá v4.

slow_start

SlowStart object

Especifica los detalles de inicio lento. Después de habilitar el inicio lento, los nuevos servidores backend agregados al grupo de servidores backend se calientan y el número de solicitudes que pueden recibir aumenta linealmente durante la duración de inicio lento configurada.

Este parámetro se puede utilizar cuando el protocolo del grupo de servidores backend es HTTP o HTTPS. Se devolverá un error si el protocolo no es HTTP o HTTPS. Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

member_deletion_protection_enable

Boolean

Especifica si se habilitará la protección de eliminación.

  • true: Habilitar la protección de eliminación.
  • false: Deshabilitar la protección de eliminación.
NOTA:

Desactive la protección de eliminación de todos sus recursos antes de eliminar su cuenta.

Este parámetro no está disponible en la región eu-nl. Por favor, no lo use.

created_at

String

Especifica la hora a la que se creó un grupo de servidores backend. El formato es yyyy-MM-dd'T'HH:mm:ss'Z' (hora UTC).

Este es un campo nuevo en esta versión, y no se devolverá para los recursos asociados con balanceadores de carga dedicados existentes y para los recursos asociados con balanceadores de carga compartidos existentes y nuevos.

updated_at

String

Especifica la hora a la que se actualizó un grupo de servidores backend. El formato es yyyy-MM-dd'T'HH:mm:ss'Z' (hora UTC).

Este es un campo nuevo en esta versión, y no se devolverá para los recursos asociados con balanceadores de carga dedicados existentes y para los recursos asociados con balanceadores de carga compartidos existentes y nuevos.

vpc_id

String

Especifica el ID de la VPC donde funciona el grupo de servidores backend.

type

String

Especifica el tipo del grupo de servidores backend.

Valores:

  • instance: Se puede agregar cualquier tipo de servidores backend. vpc_id es obligatorio.
  • ip: Solo se pueden agregar servidores backend entre VPC. No se puede especificar vpc_id.
  • "": Se puede agregar cualquier tipo de servidores backend.
Tabla 9 ListenerRef

Parámetro

Tipo

Descripción

id

String

Especifica el ID del listener.

Tabla 10 LoadBalancerRef

Parámetro

Tipo

Descripción

id

String

Especifica el ID del equilibrador de carga.

Tabla 11 MemberRef

Parámetro

Tipo

Descripción

id

String

Especifica el ID del servidor backend.

Tabla 12 SessionPersistence

Parámetro

Tipo

Descripción

cookie_name

String

Especifica el nombre de la cookie. El valor puede contener solo letras, dígitos, guiones (-) guiones bajos (_), y puntos (.). Nota: Este parámetro solo tendrá efecto cuando type se establece en APP_COOKIE.

type

String

Especifica el tipo de sesión adhesiva. El valor puede ser SOURCE_IP, HTTP_COOKIE, o APP_COOKIE.Nota:

  • Si el protocolo del grupo de servidores backend es TCP o UDP, solo SOURCE_IP tiene efecto.
  • Para balanceadores de carga dedicados, si el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor solo puede ser HTTP_COOKIE.

persistence_timeout

Integer

Especifica la duración de la pegajosidad, en minutos. Este parámetro no tendrá efecto cuando type se establezca en APP_COOKIE.

  • Si el protocolo del grupo de servidores backend es TCP, UDP o QUIC, el valor varía de 1 a 60, y el valor predeterminado es 1.
  • Si el protocolo del grupo de servidores backend es HTTP o HTTPS, el valor varía de 1 a 1440, y el valor por defecto es 1440. El protocolo QUIC no se admite en la región eu-nl.
Tabla 13 SlowStart

Parámetro

Tipo

Descripción

enable

Boolean

Especifica si se habilitará el inicio lento.

  • true: Activar el inicio lento.
  • false: Deshabilitar el inicio lento.

Predeterminado: false

duration

Integer

Especifica la duración de inicio lento, en segundos.

El valor oscila entre 30 y 1200, y el valor predeterminado es 30.

Mínimo: 30

Máximo: 1200

Predeterminado: 30

Solicitudes de ejemplo

  • POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools
    
    {
      "pool" : {
        "name" : "My pool",
        "lb_algorithm" : "LEAST_CONNECTIONS",
        "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193",
        "protocol" : "TCP",
        "member_deletion_protection_enable" : false
      }
    }
  • POST https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/pools
    
    {
      "pool" : {
        "name" : "My pool",
        "lb_algorithm" : "LEAST_CONNECTIONS",
        "listener_id" : "0b11747a-b139-492f-9692-2df0b1c87193",
        "protocol" : "HTTP",
        "slow_start" : {
          "enable" : true,
          "duration" : 50
        },
        "member_deletion_protection_enable" : false
      }
    }

Ejemplo de respuestas

Código de estado: 201

Respuesta normal a las solicitudes POST.

{
  "pool" : {
    "type" : "",
    "vpc_id" : "",
    "lb_algorithm" : "LEAST_CONNECTIONS",
    "protocol" : "TCP",
    "description" : "",
    "admin_state_up" : true,
    "member_deletion_protection_enable" : false,
    "loadbalancers" : [ {
      "id" : "098b2f68-af1c-41a9-8efd-69958722af62"
    } ],
    "project_id" : "99a3fff0d03c428eac3678da6a7d0f24",
    "session_persistence" : null,
    "healthmonitor_id" : null,
    "listeners" : [ {
      "id" : "0b11747a-b139-492f-9692-2df0b1c87193"
    } ],
    "members" : [ ],
    "id" : "36ce7086-a496-4666-9064-5ba0e6840c75",
    "name" : "My pool",
    "ip_version" : "v4",
    "slow_start" : null
  },
  "request_id" : "2d974978-0733-404d-a21a-b29204f4803a"
}

Códigos de estado

Código de estado

Descripción

201

Respuesta normal a las solicitudes POST.

Códigos de error

Consulte Códigos de error.