Exemplo 1: criação de um gateway de VPN
Cenário
Esta seção descreve como criar um gateway de VPN chamando APIs.
Pré-requisitos
Você criou uma VPC. Para obter detalhes, consulte Criação de uma VPC.
Você determinou a região onde o gateway de VPN deve ser implementado e obteve o ponto de extremidade para chamar APIs com base na região.
Você obteve um token de usuário se precisar usar a autenticação de token. Além disso, você precisa adicionar X-Auth-Token ao cabeçalho da solicitação ao chamar uma API. Para obter detalhes sobre autenticação de token, consulte Autenticação.
O token obtido pelo IAM é válido por apenas 24 horas. Ao usar um token para autenticação, armazene-o em cache para evitar chamadas frequentes.
Preparação de dados
Parâmetro |
Descrição |
Exemplo de valor |
---|---|---|
vpc_id |
Especifica o ID da VPC à qual o gateway de VPN se conecta. |
cb4a631d-****-****-****-ca3fa348c36c |
local_subnets |
Especifica uma sub-rede local. |
192.168.0.0/24,192.168.1.0/24 |
connect_subnet |
Especifica o ID da sub-rede da VPC usada pelo gateway de VPN. |
f5741286-****-****-****-2c82bd9ee114 |
master_eip.id |
Especifica o ID do EIP ativo usado pelo gateway de VPN. |
cff40e5e-****-****-****-7366077bf097 |
slave_eip.id |
Especifica o ID do EIP em espera usado pelo gateway de VPN. |
d290f1ee-****-****-****-d701748f0851 |
Procedimento
- Crie um gateway de VPN associado a uma VPC.
- Envie POST https://{endpoint}/v5/{project_id}/vpn-gateways.
- Adicione X-Auth-Token ao cabeçalho da solicitação.
- Especifique os seguintes parâmetros no corpo da solicitação:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ "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" } } }
- Verifique a resposta.
- A solicitação será bem-sucedida se a seguinte resposta for exibida. Na resposta, id indica um ID de gateway de VPN.
{ "vpn_gateway": { "id": "620d99b8-****-****-****-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "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": 64512, "access_vpc_id": "cb4a631d-****-****-****-ca3fa348c36c", "access_subnet_id": "f5741286-****-****-****-2c82bd9ee114", "flavor": "V300", "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0" }, "request_id": "4a739f5c-edb7-4122-b31f-b77fb1b94857" }
- A solicitação será bem-sucedida se a seguinte resposta for exibida. Na resposta, id indica um ID de gateway de VPN.
- Consulte detalhes sobre o gateway de VPN.
- Enviar GET https://{endpoint}/v5/{project_id}/vpn-gateways/{vgw_id}.
- Adicione X-Auth-Token ao cabeçalho da solicitação.
- Verifique a resposta.
- A solicitação será bem-sucedida se a seguinte resposta for exibida. Na resposta, id indica um ID de gateway de VPN.
{ "vpn_gateway": { "id": "620d99b8-****-****-****-200b868f2d7d", "name": "vpngw-3caf", "network_type": "public", "status": "ACTIVE", "attachment_type": "vpc", "vpc_id": "cb4a631d-****-****-****-ca3fa348c36c", "local_subnets": [ "192.168.0.0/24", "192.168.1.0/24" ], "connect_subnet": "f5741286-****-****-****-2c82bd9ee114", "access_vpc_id": "cb4a631d-****-****-****-ca3fa348c36c", "access_subnet_id": "f5741286-****-****-****-2c82bd9ee114", "bgp_asn": 64512, "flavor": "V300", "availability_zone_ids": [ "cn-south-1f", "cn-south-1e" ], "used_connection_number": 0, "used_connection_group": 0, "enterprise_project_id": "0", "master_eip": { "id": "cff40e5e-****-****-****-7366077bf097", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.8", "charge_mode": "bandwidth", "bandwidth_id": "593a1a79-****-****-****-64ec45fb23f6", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1391" }, "slave_eip": { "id": "d290f1ee-****-****-****-d701748f0851", "ip_version": 4, "type": "5_bgp", "ip_address": "88.***.***.6", "charge_mode": "bandwidth", "bandwidth_id": "0abb9d55-****-****-****-b7500ac2a338", "bandwidth_size": 300, "bandwidth_name": "vpngw-bandwidth-1392" }, "create_time": "2022-09-15T08:56:09.386Z", "update_time": "2022-09-15T11:13:13.677Z" }, "request_id": "d099a7dc-ea71-45a6-a75b-dccbfe17d438" }
- A solicitação será bem-sucedida se a seguinte resposta for exibida. Na resposta, id indica um ID de gateway de VPN.