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 2023-03-29 GMT+08:00

Creación de un canal de VPC

Función

Esta API se utiliza para crear un canal de VPC desde APIG a sus recursos de VPC privados. Después, al crear una API, puede configurar su servicio de backend para usar este canal de VPC para que APIG pueda acceder directamente a sus recursos privados de VPC.

Puede crear un máximo de 30 canales de VPC.

URI

La siguiente tabla muestra el método de solicitud HTTP/HTTPS y el URI de la API.

Tabla 1 Método de solicitud de HTTP/HTTPS y URI

Método de solicitud

URI

POST

/v1.0/apigw/vpc-channels

Solicitud

Tabla 2 Descripción de parámetro

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del canal de VPC

Un nombre de canal de VPC consta de 3 a 64 caracteres, comenzando con una letra. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

type

Integer

Tipo de canal VPC, que puede ser:

  • 2: canal rápido con la función de balanceo de carga

member_type

Obligatorio si type es 2

String

Tipo de miembro del canal VPC, que puede ser:

  • ip (no soportado actualmente)
  • instance

Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2. El valor predeterminado es instance.

port

Obligatorio si type es 2

Integer

Puerto de host del canal de VPC

Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2. El intervalo de valores es de 1 a 65535.

balance_strategy

Obligatorio si type es 2

Integer

Algoritmo de distribución, que puede ser:

  • 1: WRR
  • 2: WLC
  • 3: SH
  • 4: URI hashing

Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2. El valor predeterminado es 1.

vpc_health_config

Obligatorio si type es 2

Dictionary

Detalles de la comprabación de salud. Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2.

Tabla 3 Detalles de la comprobación de estado

Parámetro

Obligatorio

Tipo

Descripción

protocol

String

Protocolo para realizar comprobaciones de estado en servidores en la nube en el canal VPC. El valor puede ser:
  • TCP
  • HTTP
  • HTTPS

path

Requerido cuando protocol se establece en http.

String

Ruta de destino para las comprobaciones de estado

NOTA:

El valor de este parámetro debe cumplir con las especificaciones de URI.

port

No

Integer

Puerto de destino para las comprobaciones de estado. De forma predeterminada, se utiliza el puerto de host del canal VPC.

Alcance: 1 a 65535

threshold_normal

Integer

Umbral de control de buen funcionamiento

Se refiere al número (x) de comprobaciones consecutivas correctas necesarias para que un servidor en la nube se marque como saludable.

Alcance: 2 a 10

threshold_abnormal

Integer

Umbral de control de mal funcionamiento

Se refiere al número (x) de comprobaciones consecutivas fallidas necesarias para que un servidor en la nube se marque como no saludable.

Alcance: 2 a 10

time_out

Integer

Tiempo de espera para determinar si una comprobación de estado falla. Unidad: s. El valor debe ser menor que el valor de time_interval.

Alcance: 2 a 30

time_interval

Integer

Intervalo entre comprobaciones consecutivas. Unidad: s. El valor debe ser mayor que el valor de time_out.

Alcance: 5 a 300

http_code

Requerido cuando protocol se establece en http.

String

Códigos de respuesta de HTTP para determinar una respuesta de HTTP correcta

El valor puede ser cualquier entero dentro de 100 a 599 en uno de los siguientes formatos:

  • Múltiples valores, por ejemplo 200,201,202
  • Rango, por ejemplo, 200-299
  • Múltiples valores e intervalos, por ejemplo, 201,202,210-299
Tabla 4 Lista de instancias de backend

Parámetro

Obligatorio

Tipo

Descripción

instance_name

String

Nombre de instancia de backend

El nombre debe contener 1 a 64 caracteres. Solo se permiten letras, dígitos, puntos (.), guiones (-) y guiones bajos (_).

instance_id

String

ID de instancia de backend

El ID debe contener 1 a 64 caracteres. Solo se permiten letras, dígitos, guiones (-) y guiones bajos (_).

weight

Obligatorio si type es 2

Integer

Ponderación del servidor en la nube

Cuanto mayor sea el peso, más solicitudes se reenvían a la instancia de backend.

Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2. El intervalo de valores es de 1 a 100.

Ejemplo de solicitud:

{
  "balance_strategy": 1,
  "name": "vpc_001",
  "port": 15565,
  "type": 2,
  "member_type": "instance",
  "vpc_health_config": {
    "http_code": "205",
    "path": "/hc",
    "port": 15563,
    "protocol": "http",
    "threshold_abnormal": 5,
    "threshold_normal": 5,
    "time_interval": 200,
    "time_out": 30
  },
  "vpc_instances": [
    {
      "instance_id": "instance01",
      "instance_name": "instance_name01",
      "weight": 10
    }
  ]
}

Respuesta

Tabla 5 Descripción de parámetro

Parámetro

Tipo

Descripción

id

String

ID de canal de VPC

name

String

Nombre del canal de VPC

type

Integer

Tipo de canal VPC, que puede ser:

  • 2: canal rápido con la función de balanceo de carga

member_type

String

Tipo de miembro del canal VPC, que puede ser:

  • ip (no soportado actualmente)
  • instance

Este parámetro es válido sólo cuando el tipo de canal de VPC se establece en 2.

status

Integer

Estado del canal de VPC, que puede ser:

  • 1: normal
  • 2: anormal

port

Integer

Puerto de host del canal de VPC

balance_strategy

Integer

Algoritmo de distribución, que puede ser:

  • 1: WRR
  • 2: WLC
  • 3: SH
  • 4: URI hashing

create_time

Timestamp

Hora en que se crea el canal de VPC

Ejemplo de respuesta:

{
  "name": "vpc_001",
  "type": 2,
  "member_type": "instance",
  "port": 15565,
  "balance_strategy": 1,
  "id": "c3e6a7d85d9e47be89dfcc3cd37405d7",
  "create_time": "2018-07-27T12:30:48.027484Z",
  "status": 1
}

Códigos de estado

Tabla 6 Códigos de estado

Código de estado

Descripción

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Internal Error