Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-08-04 GMT+08:00

Criação de um gateway de VPN

Função

Esta API é usada para criar um gateway de VPN. Atualmente, apenas gateways de VPN de pagamento por uso podem ser criados.

URI

POST /v5/{project_id}/vpn-gateways
Tabela 1 Descrição do parâmetro

Parâmetro

Tipo

Obrigatório

Descrição

project_id

String

Sim

Especifica um ID do projeto. Você pode obter o ID do projeto, referindo-se a Obtenção do ID do projeto.

Solicitação

  • Parâmetros de solicitação
    Tabela 2 Parâmetros de solicitação

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    vpn_gateway

    CreateVgwRequestBodyContent

    Sim

    Especifica o objeto de gateway de VPN.

    Tabela 3 CreateVgwRequestBodyContent

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    name

    String

    Não

    • Especifica o nome de um gateway de VPN.
    • O valor é uma cadeia de 1 a 64 caracteres, que pode conter dígitos, letras, sublinhados (_) e hifens (-).
    • Se este parâmetro não for especificado, um nome no formato vpngw-**** é gerado automaticamente, por exemplo, vpngw-a45b.

    network_type

    String

    Não

    • Especifica o tipo de rede do gateway de VPN. Um gateway de VPN público (public) usa EIPs para se conectar a um gateway de cliente. Um gateway de VPN privado (private) usa endereços IP privados em uma VPC para se conectar a um gateway de cliente.
    • O valor pode ser public ou private.
    • O valor padrão é public.

    attachment_type

    String

    Não

    • Especifica o modo de associação.
    • O valor pode ser vpc ou er.
    • O valor padrão é vpc.

    er_id

    String

    Não

    • Especifica o ID da instância do roteador empresarial à qual o gateway de VPN se conecta.
    • O valor é um UUID contendo 36 caracteres. Defina este parâmetro apenas quando attachment_type for definido como er.

    vpc_id

    String

    Não

    • Descrição da função:

      Quando attachment_type é definido como vpc, vpc_id especifica o ID do serviço VPC associado ao gateway de VPN.

      Quando attachment_type é definido como er, vpc_id especifica o ID da VPC de acesso usada pelo gateway de VPN. Nesse caso, qualquer ID da VPC pode ser usado.

    • O valor é um UUID contendo 36 caracteres. Quando attachment_type é definido como vpc, esse parâmetro é obrigatório. Quando attachment_type é definido como er, este parâmetro é opcional; se ambos vpc_id e access_vpc_id estiverem definidos, o valor de access_vpc_id é usado.

    Você pode obter o ID da VPC referindo-se a Consulta de VPCs.

    local_subnets

    Array of String

    Não

    • Especifica uma sub-rede local. Essa sub-rede é uma sub-rede do lado da nuvem que precisa se comunicar com uma sub-rede do cliente local por meio de uma VPN.

      Um máximo de 50 sub-redes locais podem ser especificadas para cada gateway de VPN. Por exemplo, uma sub-rede local pode ser 192.168.52.0/24.

    • Defina este parâmetro apenas quando attachment_type for definido como vpc.

    connect_subnet

    String

    Não

    • Especifica o ID da sub-rede da VPC usada pelo gateway de VPN.
    • O valor é um UUID contendo 36 caracteres. Quando attachment_type é definido como vpc, esse parâmetro é obrigatório. Quando attachment_type é definido como er, este parâmetro é opcional; se tanto connect_subnet quanto access_subnet_id estão definidos, o valor de access_subnet_id é usado.

      Quando attachment_type é definido como er, a sub-rede deve ter pelo menos dois endereços IP ociosos.

      Quando attachment_type é definido como vpc, a sub-rede deve ter pelo menos quatro endereços IP ociosos se os valores de access_subnet_id e connect_subnet forem os mesmos ou deve ter pelo menos dois endereços IP ociosos se os valores de access_subnet_id e connect_subnet são diferentes.

    bgp_asn

    Long

    Não

    • Especifica o número do sistema autônomo do BGP do gateway de VPN.
    • O valor varia de 1 a 4294967295, excluindo 100.
    • O valor padrão é 64512.

    flavor

    String

    Não

    • Especifica as especificações do gateway de VPN.
    • Intervalo de valores:

      V1G: a largura de banda máxima de encaminhamento é de 1 Gbit/s.

      V300: a largura de banda máxima de encaminhamento é de 300 Mbit/s.

    • O valor padrão é V300.

    availability_zone_ids

    Array of String

    Não

    • Especifica a AZ em que o gateway de VPN será implementado. Se este parâmetro não for especificado, uma AZ será selecionada automaticamente para o gateway de VPN. Você pode obter a lista de AZ consultando Consulta das AZs de gateways de VPN.
    • Se duas ou mais AZs forem retornadas quando você consultar a lista de AZ de gateways de VPN, insira duas AZs. Se somente uma AZ for retornada, insira essa AZ. Se nenhuma AZ for retornada, o gateway de VPN não poderá ser criado.

    enterprise_project_id

    String

    Não

    • Especifica um ID do projeto empresarial.
    • O valor é um UUID (36 caracteres) ou 0.
    • O valor padrão é 0, indicando que o recurso pertence ao projeto empresarial padrão.

    master_eip

    CreateRequestEip

    Não

    • Especifica o EIP ativo do gateway de VPN.
    • Defina este parâmetro apenas quando network_type estiver definido como public.

    slave_eip

    CreateRequestEip

    Não

    • Especifica o EIP em espera do gateway de VPN.
    • Defina este parâmetro apenas quando network_type estiver definido como public.

    access_vpc_id

    String

    Não

    • Especifica o ID da VPC de acesso usado pelo gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.
    • Por padrão, o valor é o mesmo que o valor de vpc_id.

    Você pode obter o ID da VPC referindo-se a Consulta de VPCs.

    access_subnet_id

    String

    Não

    • Especifica o ID da sub-rede na VPC de acesso usada pelo gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.

      Quando attachment_type é definido como er, a sub-rede deve ter pelo menos dois endereços IP ociosos.

      Quando attachment_type é definido como vpc, a sub-rede deve ter pelo menos quatro endereços IP ociosos se os valores de access_subnet_id e connect_subnet forem os mesmos ou deve ter pelo menos dois endereços IP ociosos se os valores de access_subnet_id e connect_subnet são diferentes.

    • Por padrão, o valor é o mesmo que o valor de connect_subnet.
    Tabela 4 CreateRequestEip

    Parâmetro

    Tipo

    Obrigatório

    Descrição

    id

    String

    Não

    • Especifica um ID do EIP.
    • O valor é um UUID contendo 36 caracteres.
    • Defina esse parâmetro apenas quando um EIP existente for usado. O valor não pode ser o ID de um EIP usando largura de banda compartilhada ou o ID de um EIP congelado.

    Você pode obter o ID do EIP referindo-se a Consulta de EIPs.

    type

    String

    Não

    • Especifica o tipo de EIP.
    • O valor é uma cadeia de 0 a 36 caracteres.

      Para o intervalo de valores, consulte o campo type na Tabela 4 em Atribuição de um EIP. O valor 5_bgp é preferido se for suportado.

    • Defina esse parâmetro somente quando um novo EIP for usado.

      Para obter mais restrições, consulte o campo type na Tabela 4 em Atribuição de um EIP.

    charge_mode

    String

    Não

    • Especifica o modo de cobrança de largura de banda de um EIP.
    • Intervalo de valores:

      bandwidth: cobrado pela largura de banda

      traffic: cobrado pelo tráfego

    • Defina esse parâmetro somente quando um novo EIP for usado.

    bandwidth_size

    Integer

    Não

    • Especifica a largura de banda (Mbit/s) de um EIP. A largura de banda máxima do EIP varia de acordo com as regiões e depende do serviço EIP. Você pode enviar um tíquete de serviço para aumentar a largura de banda máxima do EIP em sua conta.
    • O valor pode ser 5, 10, 20, 50, 100, 200, 300, 500 ou 1000.
    • Defina esse parâmetro somente quando um novo EIP for usado.

      Quando flavor é definido como V300, o valor não pode ser maior que 300. Quando flavor é definido como V1G, o valor não pode ser maior que 1000.

    bandwidth_name

    String

    Não

    • Especifica o nome da largura de banda de um EIP.
    • O valor é uma cadeia de 1 a 64 caracteres que pode conter dígitos, letras, sublinhados (_), hifens (-) e pontos (.).
    • Defina esse parâmetro somente quando um novo EIP for usado.
    • Quando um novo EIP é usado e este parâmetro não é definido, um nome de largura de banda EIP no formato de vpngw-bandwidth-**** é gerado automaticamente, por exemplo, vpngw-bandwidth-e1fa.
  • Exemplo de solicitações
    1. Criar um gateway de VPN que use EIPs existentes e esteja associado a uma 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. Criar um gateway de VPN que use novos EIPs e esteja associado a um roteador 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. Criar um gateway de VPN privado associado a uma 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"
        }
    }

Resposta

  • Parâmetros de resposta

    Código de status 201 retornado: operação bem-sucedida

    Tabela 5 Parâmetros no corpo da resposta

    Parâmetro

    Tipo

    Descrição

    vpn_gateway

    ResponseVpnGateway

    Especifica o objeto de gateway de VPN.

    request_id

    String

    Especifica um ID da solicitação.

    Tabela 6 ResponseVpnGateway

    Parâmetro

    Tipo

    Descrição

    id

    String

    • Especifica um ID de gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.

    name

    String

    • Especifica um nome de gateway de VPN. Se nenhum nome de gateway de VPN for especificado, o sistema gera um automaticamente.
    • O valor é uma cadeia de 1 a 64 caracteres, que pode conter dígitos, letras, sublinhados (_) e hifens (-).

    network_type

    String

    • Especifica o tipo de rede do gateway de VPN.
    • O valor pode ser public ou private.
    • O valor padrão é public.

    attachment_type

    String

    • Especifica o modo de associação.
    • O valor pode ser vpc ou er.

    er_id

    String

    Especifica o ID da instância do roteador empresarial à qual o gateway de VPN se conecta. Este parâmetro está disponível somente quando attachment_typeé definido como er.

    vpc_id

    String

    Quando attachment_type é definido como vpc, vpc_id especifica o ID do serviço VPC associado ao gateway de VPN.

    Quando attachment_type é definido como er, vpc_id especifica o ID da VPC de acesso usada pelo gateway de VPN.

    local_subnets

    Array of String

    Especifica uma sub-rede local. Essa sub-rede é uma sub-rede do lado da nuvem que precisa se comunicar com uma rede local por meio de uma VPN. Por exemplo, uma sub-rede local pode ser 192.168.52.0/24. Esse parâmetro está disponível somente quando attachment_type é definido como vpc.

    connect_subnet

    String

    Especifica o ID da sub-rede da VPC usada pelo gateway de VPN.

    bgp_asn

    Long

    Especifica o número do sistema autônomo do BGP do gateway de VPN.

    flavor

    String

    • Especifica as especificações do gateway de VPN.
    • Intervalo de valores:

      V1G: a largura de banda máxima de encaminhamento é de 1 Gbit/s.

      V300: a largura de banda máxima de encaminhamento é de 300 Mbit/s.

    connection_number

    Integer

    Especifica o número máximo de conexões de VPN suportadas para o gateway de VPN

    used_connection_number

    Integer

    Especifica o número de conexões de VPN que foram usadas pelo gateway de VPN.

    used_connection_group

    Integer

    Especifica o número de grupos de conexão de VPN que foram utilizados pelo gateway de VPN. Um grupo de conexão consiste em duas conexões entre um gateway de cliente e um gateway de VPN. Por padrão, 10 grupos de conexão de VPN são incluídos gratuitamente com a compra de um gateway de VPN.

    enterprise_project_id

    String

    • Especifica um ID do projeto empresarial.
    • O valor é um UUID (36 caracteres) ou 0.

    access_vpc_id

    String

    • Especifica o ID da VPC de acesso usado pelo gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.

    access_subnet_id

    String

    • Especifica o ID da sub-rede na VPC de acesso usada pelo gateway de VPN.
    • O valor é um UUID contendo 36 caracteres.
  • Exemplo de respostas
    1. Resposta à solicitação de criar um gateway de VPN que usa EIPs existentes e está associado a uma 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. Resposta à solicitação de criar um gateway de VPN que usa novos EIPs e está associado a um roteador 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. Resposta à solicitação de criar um gateway de VPN privado associado a uma 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 status

Para mais detalhes, consulte Códigos de status.