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
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
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
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
Não
- Especifica o EIP ativo do gateway de VPN.
- Defina este parâmetro apenas quando network_type estiver definido como public.
slave_eip
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
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
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
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.