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-04-04 GMT+08:00

Creación de un gateway de VPN

Función

Esta API se utiliza para crear un gateway de VPN. Actualmente, solo se pueden crear los gateway de VPN de pago por uso.

URI

POST /v5/{project_id}/vpn-gateways
Tabla 1 Descripción del parámetro

Parámetro

Tipo

Obligatorio

Descripción

project_id

String

Especifica un ID de proyecto. Puede obtener el ID del proyecto haciendo referencia a Obtención del ID del proyecto.

Solicitud

  • Parámetros de solicitud
    Tabla 2 Parámetros de solicitud

    Parámetro

    Tipo

    Obligatorio

    Descripción

    vpn_gateway

    CreateVgwRequestBodyContent

    Especifica el objeto de gateway de VPN.

    Tabla 3 CreateVgwRequestBodyContent

    Parámetro

    Tipo

    Obligatorio

    Descripción

    name

    String

    No

    • Especifica el nombre de un gateway de VPN.
    • El valor es una cadena de 1 a 64 caracteres, que puede contener dígitos, letras, guiones bajos (_), y guiones (-).
    • Si no se especifica este parámetro, se genera automáticamente un nombre con el formato vpngw-****, por ejemplo, vpngw-a45b.

    network_type

    String

    No

    • Especifica el tipo de red del gateway de VPN. Un gateway de VPN público (public) utiliza las EIP para conectarse a un gateway de cliente. Un gateway de VPN privado (private) utiliza direcciones IP privados en una VPC para conectarse a un gateway de cliente.
    • El valor puede ser public o private.
    • El valor predeterminado es public.

    attachment_type

    String

    No

    • Especifica el modo de asociación.
    • El valor puede ser vpc or er.
    • El valor predeterminado es vpc.

    er_id

    String

    No

    • Especifica el ID de la instancia de router de empresa a la que se conecta al gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres. Establezca este parámetro solo cuando attachment_type se establezca en er.

    vpc_id

    String

    No

    • Descripción de la función:

      Cuando attachment_type se establece en vpc, vpc_id especifica el ID de la VPC de servicio asociada con el gateway de VPN.

      Cuando attachment_type se establece en er, vpc_id especifica el ID de la VPC de acceso utilizada por el gateway de VPN. En este caso, se puede usar cualquier ID de VPC.

    • El valor es un UUID que contiene 36 caracteres. Cuando attachment_type se establece en vpc, este parámetro es obligatorio. Cuando attachment_type se establece en er, este parámetro es opcional; si vpc_id y access_vpc_id se establecen, se utiliza el valor access_vpc_id.

    Puede obtener el ID de VPC haciendo referencia a Consultar VPC.

    local_subnets

    Array of String

    No

    • Especifica una subred local. Esta subred es una subred del lado de la nube que necesita comunicarse con una subred de cliente local a través de una VPN.

      Se puede especificar un máximo de 50 subredes locales para cada gateway de VPN. Por ejemplo, una subred local puede ser 192.168.52.0/24.

    • Establezca este parámetro solo cuando attachment_type se establezca en vpc.

    connect_subnet

    String

    No

    • Especifica el ID de la subred VPC utilizada por el gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres. Cuando attachment_type se establece en vpc, este parámetro es obligatorio. Cuando attachment_type se establece en er, este parámetro es opcional; si ambos connect_subnet y access_subnet_id se establecen, se utiliza el valor access_subnet_id.

      Cuando attachment_type se establece en er, la subred debe tener al menos dos direcciones IP inactivas.

      Cuando attachment_type se establece en vpc, la subred debe tener al menos cuatro direcciones IP inactivas si los valores de access_subnet_id y connect_subnet son iguales o debe tener al menos dos direcciones IP inactivas si los valores de access_subnet_id y connect_subnet son diferentes.

    bgp_asn

    Long

    No

    • Especifica el número BGP de AS del gateway de VPN.
    • El valor varía de 1 a 4294967295, excepto 100.
    • El valor predeterminado es 64512.

    flavor

    String

    No

    • Especifica las especificaciones del gateway de VPN.
    • Rango de valores:

      V1G: El ancho de banda máximo de reenvío es 1 Gbit/s.

      V300: El ancho de banda máximo de reenvío es 300 Mbit/s.

    • El valor predeterminado es V300.

    availability_zone_ids

    Array of String

    No

    • Especifica la AZ donde se va a desplegar el gateway de VPN. Si no se especifica este parámetro, se selecciona automáticamente una AZ para el gateway de VPN. Puede obtener la lista de AZ haciendo referencia a Consulta de las AZ de gateway de VPN.
    • Si se devuelven dos o más AZ al consultar la lista de AZ de gateway de VPN, ingrese dos AZ. Si solo se devuelve una AZ, ingrese esta AZ. Si no se devuelve la AZ, no se puede crear el gateway de VPN.

    enterprise_project_id

    String

    No

    • Especifica un ID de proyecto de empresa.
    • El valor es un UUID (36 caracteres) o 0.
    • El valor predeterminado es 0, que indica que el recurso pertenece al proyecto de empresa predeterminado.

    master_eip

    CreateRequestEip

    No

    • Especifica la EIP activa del gateway de VPN.
    • Establezca este parámetro solo cuando network_type se establezca en public.

    slave_eip

    CreateRequestEip

    No

    • Especifica la EIP en espera del gateway de VPN.
    • Establezca este parámetro solo cuando network_type se establezca en public.

    access_vpc_id

    String

    No

    • Especifica el ID de la VPC de acceso utilizada por el gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.
    • De forma predeterminada, el valor es el mismo que el valor de vpc_id.

    Puede obtener el ID de VPC haciendo referencia a Consultar VPC.

    access_subnet_id

    String

    No

    • Especifica el ID de la subred en la VPC de acceso utilizada por el gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.

      Cuando attachment_type se establece en er, la subred debe tener al menos dos direcciones IP inactivas.

      Cuando attachment_type se establece en vpc, la subred debe tener al menos cuatro direcciones IP inactivas si los valores de access_subnet_id y connect_subnet son iguales o debe tener al menos dos direcciones IP inactivas si los valores de access_subnet_id y connect_subnet son diferentes.

    • De forma predeterminada, el valor es el mismo que el valor de connect_subnet.
    Tabla 4 CreateRequestEip

    Parámetro

    Tipo

    Obligatorio

    Descripción

    id

    String

    No

    • Especifica un ID de EIP.
    • El valor es un UUID que contiene 36 caracteres.
    • Establezca este parámetro solo cuando se utilice una EIP existente. El valor no puede ser el ID de una EIP que utilice ancho de banda compartido o el ID de una EIP congelada.

    Puede obtener el ID de EIP haciendo referencia a Consultar EIP.

    type

    String

    No

    • Especifica el tipo de la EIP.
    • El valor es una cadena de 0 a 36 caracteres.

      Para el rango de valores, consulte el campo de type en la Tabla 4 en Asignar una EIP. Se prefiere el valor 5_bgp si se admite.

    • Establezca este parámetro solo cuando se utilice una nueva EIP.

      Para obtener más restricciones, consulte el campo de type en la Tabla 4 en Asignar una EIP.

    charge_mode

    String

    No

    • Especifica el modo de facturación del ancho de banda de una EIP.
    • Rango de valores:

      bandwidth: facturado por ancho de banda

      traffic: facturado por tráfico

    • Establezca este parámetro solo cuando se utilice una nueva EIP.

    bandwidth_size

    Integer

    No

    • Especifica el ancho de banda (Mbit/s) de una EIP. El ancho de banda máximo de EIP varía según las regiones y depende del servicio de EIP. Puede enviar un ticket de servicio para aumentar el ancho de banda máximo de EIP en su cuenta.
    • El valor puede ser 5, 10, 20, 50, 100, 200, 300, 500 o 1000.
    • Establezca este parámetro solo cuando se utilice una nueva EIP.

      Cuando flavor se establece en V300, el valor no puede ser mayor que 300. Cuando flavor se establece en V1G, el valor no puede ser mayor que 1000.

    bandwidth_name

    String

    No

    • Especifica el nombre de ancho de banda de una EIP.
    • El valor es una string de 1 a 64 caracteres, que puede contener dígitos, letras, guiones bajos (_), guiones (-) y puntos (.).
    • Establezca este parámetro solo cuando se utilice una nueva EIP.
    • Cuando se utiliza una nueva EIP y este parámetro no se establece, se genera automáticamente un nombre de ancho de banda de EIP en el formato de vpngw-bandwidth-****, por ejemplo, vpngw-bandwidth-e1fa.
  • Ejemplo de las solicitudes
    1. Cree un gateway de VPN que utilice las EIP existentes y esté asociado a una VPC.
    POST https://{Endpoint}/v5/{project_id}/vpn-gateways
    
    {
        "vpn_gateway": {
            "vpc_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "local_subnets": [
                "192.168.0.0/24", "192.168.1.0/24"
            ],
            "connect_subnet": "f5741286-****-****-****-2c82bd9ee114",
            "master_eip": {
                "id": "cff40e5e-****-****-****-7366077bf097"
            },
            "slave_eip": {
                "id": "d290f1ee-****-****-****-d701748f0851"
            }
        }
    }
    2. Cree un gateway VPN que utilice las nuevas EIP y esté asociado a un router empresarial.
    POST https://{Endpoint}/v5/{project_id}/vpn-gateways
    
    {
        "vpn_gateway": {
            "name": "vpngw-1234",
            "attachment_type": "er",
            "er_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "vpc_id": "584a238f-****-****-****-edca746f6277",
            "connect_subnet": "f5741286-****-****-****-2c82bd9ee114",
            "bgp_asn": 65533,
            "flavor": "V1G",
            "availability_zone_ids": [
                "cn-south-1f",
                "cn-south-1e"
            ],
            "master_eip": {
                "type": "5_bgp",
                "charge_mode": "bandwidth",
                "bandwidth_size": 1000,
                "bandwidth_name": "vpngw-bandwidth-1391"
            },
            "slave_eip": {
                "type": "5_bgp",
                "charge_mode": "bandwidth",
                "bandwidth_size": 1000,
                "bandwidth_name": "vpngw-bandwidth-1392"
            }
        }
    }

    3. Cree un gateway de VPN privado asociado a una VPC.

    POST https://{Endpoint}/v5/{project_id}/vpn-gateways
    
    {
        "vpn_gateway": {
            "vpc_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "local_subnets": [
                "192.168.0.0/24", "192.168.1.0/24"
            ],
            "connect_subnet": "f5741286-****-****-****-2c82bd9ee114",
            "network_type": "private"
        }
    }

Respuesta

  • Parámetros de respuesta

    Código de estado devuelto 201: operación exitosa

    Tabla 5 Parámetros en el cuerpo de respuesta

    Parámetro

    Tipo

    Descripción

    vpn_gateway

    ResponseVpnGateway

    Especifica el objeto de gateway de VPN.

    request_id

    String

    Especifica un ID de solicitud.

    Tabla 6 ResponseVpnGateway

    Parámetro

    Tipo

    Descripción

    id

    String

    • Especifica un ID de gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.

    name

    String

    • Especifica un nombre de gateway de VPN. Si no se especifica ningún nombre de gateway de VPN, el sistema genera uno automáticamente.
    • El valor es una cadena de 1 a 64 caracteres, que puede contener dígitos, letras, guiones bajos (_), y guiones (-).

    network_type

    String

    • Especifica el tipo de red del gateway de VPN.
    • El valor puede ser public o private.
    • El valor predeterminado es public.

    attachment_type

    String

    • Especifica el modo de asociación.
    • El valor puede ser vpc or er.

    er_id

    String

    Especifica el ID de la instancia de router de empresa a la que se conecta al gateway de VPN. Este parámetro solo está disponible cuando attachment_type está establecido en er.

    vpc_id

    String

    Cuando attachment_type se establece en vpc, vpc_id especifica el ID de la VPC de servicio asociada con el gateway de VPN.

    Cuando attachment_type se establece en er, vpc_id especifica el ID de la VPC de acceso utilizada por el gateway de VPN.

    local_subnets

    Array of String

    Especifica una subred local. Esta subred es una subred del lado de la nube que necesita comunicarse con una red local a través de una VPN. Por ejemplo, una subred local puede ser 192.168.52.0/24. Este parámetro solo está disponible cuando attachment_type está establecido en vpc.

    connect_subnet

    String

    Especifica el ID de la subred VPC utilizada por el gateway de VPN.

    bgp_asn

    Long

    Especifica el número BGP de AS del gateway de VPN.

    flavor

    String

    • Especifica las especificaciones del gateway de VPN.
    • Rango de valores:

      V1G: El ancho de banda máximo de reenvío es 1 Gbit/s.

      V300: El ancho de banda máximo de reenvío es 300 Mbit/s.

    connection_number

    Integer

    Especifica el número máximo de conexiones VPN admitidas para el gateway de VPN

    used_connection_number

    Integer

    Especifica el número de conexiones VPN que han utilizado el gateway de VPN.

    used_connection_group

    Integer

    Especifica el número de grupos de conexión VPN que ha utilizado el gateway de VPN. Un grupo de conexiones consta de dos conexiones entre un gateway de cliente y un gateway de VPN. Por defecto, se incluyen 10 grupos de conexiones VPN gratuitos en la compra de un gateway de VPN.

    enterprise_project_id

    String

    • Especifica un ID de proyecto de empresa.
    • El valor es un UUID (36 caracteres) o 0.

    access_vpc_id

    String

    • Especifica el ID de la VPC de acceso utilizada por el gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.

    access_subnet_id

    String

    • Especifica el ID de la subred en la VPC de acceso utilizada por el gateway de VPN.
    • El valor es un UUID que contiene 36 caracteres.
  • Ejemplo de las respuestas
    1. Respuesta a la solicitud de creación de una gateway de VPN que utiliza las EIP existentes y está asociada a una VPC
    {
        "vpn_gateway": {
            "id": "134f9fb1-****-****-****-2040a5c13325",
            "name": "vpngw-9f24",
            "network_type": "public",
            "attachment_type": "vpc",
            "vpc_id": "0cf79a3f-****-****-****-d7ace626b0fa",
            "local_subnets": ["192.168.0.0/24"],
            "connect_subnet": "f5741286-****-****-****-2c82bd9ee114",
            "bgp_asn": 64512,
            "flavor": "V300",
            "connection_number": 200,
            "used_connection_number": 0,
            "used_connection_group": 0,
            "enterprise_project_id": "0",
            "access_vpc_id": "0cf79a3f-****-****-****-d7ace626b0fa",
            "access_subnet_id": "f5741286-****-****-****-2c82bd9ee114"
        },
        "request_id": "7b37532a-d6e4-46b9-98dc-9169ec2ca58f"
    }
    2. Respuesta a la solicitud de creación de un gateway de VPN que utiliza las nuevas EIP y está asociada con un router empresarial
    {
        "vpn_gateway": {
            "id": "80ac167b-****-****-****-a9a2a23223b8",
            "name": "vpngw-1234",
            "network_type": "public",
            "attachment_type": "er",
            "er_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "bgp_asn": 65533,
            "flavor": "V1G",
            "connection_number": 200,
            "used_connection_number": 0,
            "used_connection_group": 0,
            "enterprise_project_id": "0",
            "access_vpc_id": "0cf79a3f-****-****-****-d7ace626b0fa",
            "access_subnet_id": "f5741286-****-****-****-2c82bd9ee114"
        },
        "request_id": "cd71cade-bfbd-410b-b672-4bfe46cfc311"
    }

    3. Respuesta a la solicitud de creación de un gateway de VPN privado asociado a una VPC

    {
        "vpn_gateway": {
            "id": "80ac167b-****-****-****-a9a2a23223b8",
            "name": "vpngw-1234",
            "network_type": "private"
            "attachment_type": "vpc",
            "vpc_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "local_subnets": ["192.168.0.0/24", "192.168.1.0/24"],
            "connect_subnet": "f5741286-****-****-****-2c82bd9ee114",
            "bgp_asn": 65533,
            "flavor": "V1G",
            "connection_number": 200,
            "used_connection_number": 0,
            "used_connection_group": 0,
            "enterprise_project_id": "0",
            "access_vpc_id": "cb4a631d-****-****-****-ca3fa348c36c",
            "access_subnet_id": "f5741286-****-****-****-2c82bd9ee114"
        },
        "request_id": "cd71cade-bfbd-410b-b672-4bfe46cfc311"
    }

Códigos de estado

Para obtener más información, véase Códigos de estado.