Este tutorial pressupõe que está familiarizado com os conceitos básicos das redes da nuvem virtual privada (VPC), do protocolo de gateway de fronteira (BGP), das redes privadas virtuais (VPNs) e dos túneis IPsec.
OGoogle Cloud oferece um serviço de VPN de alta disponibilidade altamente disponível para ligar a sua rede VPC a ambientes em execução fora do Google Cloud, como no local ou na AWS, através de uma ligação VPN IPsec. A VPN de alta disponibilidade oferece um SLA de disponibilidade do serviço de 99,99% quando configurada com base nas práticas recomendadas da Google. Para mais informações, consulte o Contrato de Nível de Serviço (SLA) do Cloud VPN.
Vista geral da arquitetura
A arquitetura descrita nesta página inclui os seguintes componentes:
- Cloud Router: um serviço totalmente distribuído e gerido Google Cloud para fornecer encaminhamento dinâmico através do BGP para as suas redes VPC.
- Gateway de HA VPN: um gateway de VPN gerido pela Google em execução em Google Cloud. Cada gateway de VPN de HA é um recurso regional que tem duas interfaces, cada uma com os seus próprios endereços IP externos: interface 0 e 1.
- Túneis VPN: ligações do gateway de VPN de alta disponibilidade ao gateway de VPN de pares na AWS através do qual passa o tráfego encriptado.
- Gateway de VPN de intercâmbio: dois pontos finais de VPN site a site da AWS, que podem ser de um gateway privado virtual da AWS ou de um gateway de trânsito da AWS. Para mais informações, consulte o artigo O que é a VPN site-to-site da AWS?
Cada uma das ligações de gateway de VPN de pares inclui dois túneis pré-configurados para apontar para um único gateway do cliente, que, neste caso, é umaGoogle Cloud interface de VPN de HA. Com esta configuração, o número mínimo de túneis para cumprir o SLA de disponibilidade do serviço de 99,99% é quatro.
As opções de encaminhamento e a largura de banda combinada nos túneis de VPN variam consoante a opção de VPN de site a site usada no lado da AWS:
Gateway de trânsito: se criar o gateway de trânsito da AWS sem preferência de BGP, o ECMP distribui igualmente o tráfego pelos túneis ativos.
Para usar a conetividade VPN em várias redes da nuvem virtual privada da Google, use uma rede VPC de conetividade para dimensionar uma arquitetura de hub e raios com várias redes VPC.
Para mais informações sobre gateways de trânsito da AWS, consulte o artigo O que são gateways de trânsito da Amazon VPC?.
Gateway privado virtual: se usar um gateway privado virtual da AWS, é selecionado apenas um túnel em todas as ligações no gateway. Para usar mais do que um túnel, use um gateway de trânsito da AWS para que o caminho múltiplo de custo igual (ECMP) esteja disponível.
Para ver detalhes sobre a prioridade de encaminhamento da VPN com a AWS, consulte as opções de encaminhamento da VPN Site-to-Site.
Para mais informações sobre gateways privados virtuais da AWS, consulte o artigo Opções de túnel para a sua ligação VPN site a site.
O diagrama seguinte mostra a arquitetura.
Objetivos
- Crie uma rede de VPC no Google Cloud.
- Crie um gateway de VPN de alta disponibilidade e um Cloud Router em Google Cloud.
- Crie gateways de clientes na AWS.
- Crie uma ligação VPN com encaminhamento dinâmico na AWS.
- Crie um gateway de VPN externo e túneis de VPN em Google Cloud.
- Valide e teste a ligação VPN entre redes VPC no Google Cloud e na AWS.
- Use o Cloud Location Finder para identificar as regiões Google Cloud mais próximas.
Exemplo de módulo do Terraform
Pode usar o módulo gcp-to-aws-ha-vpn-terraform-module
para aprovisionar a VPN de HA entre o Google Cloud e a AWS.
Custos
Este tutorial usa componentes faturáveis do Google Cloud, incluindo o seguinte:
Para uma estimativa dos custos dos Google Cloud componentes, use a Google Cloud calculadora de preços.
Este tutorial usa componentes faturáveis dos Amazon Web Services, incluindo o seguinte:
- AWS Transit Gateway
- VPN site a site da AWS
Para uma estimativa dos custos dos componentes da AWS, use a calculadora de preços da AWS.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, activate Cloud Shell.
-
Certifique-se de que tem as funções administrativas necessárias para configurar os componentes de rede:
- Administrador da rede:
compute.networkAdmin
- Administrador de segurança:
compute.securityAdmin
- Administrador de computação:
compute.admin
Para mais informações sobre as finalidades destas funções, consulte o artigo Funções de IAM para funções de trabalho relacionadas com redes.
- Administrador da rede:
No Cloud Shell, certifique-se de que está a trabalhar no Google Cloud projeto que criou ou selecionou.
gcloud config set project YOUR_PROJECT_ID export PROJECT_ID=`gcloud config list --format="value(core.project)"`
Substitua
YOUR_PROJECT_ID
pelo ID do seu projeto.Google CloudPara criar uma rede VPC personalizada com uma única sub-rede, use o comando
gcloud compute networks create
:gcloud compute networks create NETWORK \ --subnet-mode SUBNET_MODE \ --bgp-routing-mode BGP_ROUTING_MODE
Substitua o seguinte:
NETWORK
: o nome da redeSUBNET_MODE
: O modo de sub-redeBGP_ROUTING_MODE
: O modo de encaminhamento BGP
Por exemplo, o comando seguinte cria uma rede VPC personalizada denominada
gc-vpc
com uma única sub-rede:gcloud compute networks create gc-vpc \ --subnet-mode custom \ --bgp-routing-mode global
Para criar uma sub-rede para alojar as VMs de teste, use o comando
gcloud compute networks subnets create
:gcloud compute networks subnets create SUBNET_NAME \ --network NETWORK \ --region SUBNET_REGION \ --range IP_ADDRESS_RANGE
Substitua o seguinte:
SUBNET_NAME
: O nome da sub-redeSUBNET_REGION
: a região na qual criar a sub-redeIP_ADDRESS_RANGE
: o intervalo de endereços IP para a sub-redePor exemplo, o comando seguinte cria uma sub-rede denominada
subnet-east4
na rede de VPCgc-vpc
.
gcloud compute networks subnets create subnet-east4 \ --network gc-vpc \ --region us-east4 \ --range 10.1.1.0/24
Para criar um gateway de VPN de HA, use o comando
gcloud compute vpn-gateways create
:gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \ --network NETWORK \ --region REGION
Substitua
HA_VPN_GATEWAY_NAME
pelo nome do gateway de VPN de HA.Para criar um Cloud Router, use o comando
gcloud compute routers create
:gcloud compute routers create ROUTER_NAME \ --region REGION \ --network NETWORK \ --asn GOOGLE_ASN \ --advertisement-mode custom \ --set-advertisement-groups all_subnets
Substitua o seguinte:
ROUTER_NAME
: o nome do seu Cloud RouterGOOGLE_ASN
: o ASN privado (número do sistema autónomo) para o Cloud Router que está a criar. Pode ser qualquer ASN privado no intervalo64512-65534
ou4200000000-4294967294
que ainda não esteja a usar como um ASN de pares na mesma região e rede.
Por exemplo, o comando seguinte cria um Cloud Router com o nome
cloud-router
.gcloud compute routers create cloud-router \ --region us-east4 \ --network gc-vpc \ --asn 65534 \ --advertisement-mode custom \ --set-advertisement-groups all_subnets
Para criar dois gateways de clientes através do seguinte comando da AWS, use o
create-customer-gateway
comando da CLI da AWS:aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_0_IP_ADDRESS --bgp-asn GOOGLE_ASN aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_1_IP_ADDRESS --bgp-asn GOOGLE_ASN
Substitua
INTERFACE_0_IP_ADDRESS
eINTERFACE_1_IP_ADDRESS
pelos endereços IP externos do passo final na secção anterior.Para criar um gateway de destino e anexá-lo à sua Amazon VPC, faça o seguinte:
O gateway de destino pode ser um gateway privado virtual ou um gateway de trânsito. Para mais informações, consulte o artigo Crie um gateway de destino.
Gateway privado virtual
Crie um gateway privado virtual com um ASN específico do lado da AWS através do
create-vpn-gateway
comando da CLI da AWS:aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn AWS_SIDE_ASN
Substitua
AWS_SIDE_ASN
pelo ASN do lado da AWS.Este comando deve ser semelhante ao seguinte exemplo:
aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
Anexe o gateway privado virtual à sua rede VPC através do
attach-vpn-gateway
comando da CLI da AWS:aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
Gateway de trânsito
Crie uma gateway de trânsito através do comando da CLI da AWS
create-transit-gateway
:aws ec2 create-transit-gateway --description TRANSIT_GATEWAY_DESCRIPTION \ --options=AmazonSideAsn=65001,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable,VpnEcmpSupport=enable,DnsSupport=enable
Substitua
TRANSIT_GATEWAY_DESCRIPTION
por uma descrição da sua gateway de trânsito.Anexe a sua rede VPC à gateway de trânsito através do
create-transit-gateway-vpc-attachment
comando da CLI da AWS:aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --vpc-id VPC_ID \ --subnet-ids "SUBNET_ID"
Substitua o seguinte:
TRANSIT_GATEWAY_ID
: o ID do gateway de trânsitoVPC_ID
: o ID da VPCSUBNET_ID
: os IDs de uma ou mais sub-redes
Para criar uma ligação VPN com encaminhamento dinâmico, faça o seguinte:
O método de criação de uma ligação VPN com encaminhamento dinâmico difere consoante o gateway de destino seja um gateway privado virtual ou um gateway de trânsito. Para mais informações, consulte o artigo Crie uma ligação VPN.
Gateway privado virtual
Crie uma ligação VPN com encaminhamento dinâmico entre o gateway privado virtual e os gateways do cliente e aplique etiquetas à ligação VPN:
aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_1 \ --vpn-gateway-id VPN_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]' aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_2 \ --vpn-gateway-id VPN_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
Substitua o seguinte:
CUSTOMER_GATEWAY_1
: gateway da VPN do Google Cloud, interface 0CUSTOMER_GATEWAY_2
: gateway da VPN do Google Cloud, interface 1AWS_T1_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 1AWS_T2_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 2AWS_T3_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 1AWS_T4_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 2SHARED_SECRET_1
: chave pré-partilhada para a ligação 1, túnel 1SHARED_SECRET_2
: chave pré-partilhada para a ligação 1, túnel 2SHARED_SECRET_3
: Chave pré-partilhada para a ligação 2, túnel 1SHARED_SECRET_4
: chave pré-partilhada para a ligação 2, túnel 2
Gateway de trânsito
Crie uma ligação VPN com encaminhamento dinâmico entre o gateway de trânsito e os gateways do cliente:
aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_1 \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]' aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_2 \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
Substitua o seguinte:
CUSTOMER_GATEWAY_1
: gateway da VPN do Google Cloud, interface 0CUSTOMER_GATEWAY_2
: gateway da VPN do Google Cloud, interface 1TRANSIT_GATEWAY_ID
: O ID do gateway de trânsito associado à ligação VPNAWS_T1_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 1AWS_T2_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 2AWS_T3_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 1AWS_T4_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 2SHARED_SECRET_1
: chave pré-partilhada para a ligação 1, túnel 1SHARED_SECRET_2
: chave pré-partilhada para a ligação 1, túnel 2SHARED_SECRET_3
: Chave pré-partilhada para a ligação 2, túnel 1SHARED_SECRET_4
: chave pré-partilhada para a ligação 2, túnel 2CUSTOMER_GATEWAY_1
: gateway da VPN do Google Cloud, interface 0CUSTOMER_GATEWAY_2
: gateway da VPN do Google Cloud, interface 1TRANSIT_GATEWAY_ID
: O ID do gateway de trânsito associado à ligação VPNAWS_T1_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 1AWS_T2_IP
: endereço IP interno para o gateway privado virtual para a ligação 1, túnel 2AWS_T3_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 1AWS_T4_IP
: endereço IP interno para o gateway privado virtual para a ligação 2, túnel 2SHARED_SECRET_1
: chave pré-partilhada para a ligação 1, túnel 1SHARED_SECRET_2
: chave pré-partilhada para a ligação 1, túnel 2SHARED_SECRET_3
: Chave pré-partilhada para a ligação 2, túnel 1SHARED_SECRET_4
: chave pré-partilhada para a ligação 2, túnel 2
A AWS reserva alguns intervalos de CIDR, pelo que não pode usar valores nestes intervalos como endereços IP internos (
AWS_T1_IP
,AWS_T2_IP
,AWS_T3_IP
eAWS_T4_IP
). Para obter informações sobre os blocos de CIDR que a AWS reserva, consulte Opções de túnel para a sua ligação VPN site a site.Cria quatro túneis Google Cloud com estes comandos.
Transfira o ficheiro de configuração para as duas ligações VPN.
Nos passos seguintes, usa valores do ficheiro de configuração que transferiu para criar e configurar recursos no lado Google Cloud do servidor.
No Cloud Shell, crie um gateway de VPN externo com quatro interfaces para os endereços IP externos da AWS.
Antes de criar o gateway de VPN externo, verifique se os endereços IP externos da AWS correspondem aos valores no ficheiro de configuração que transferiu. Não pode modificar estes endereços IP depois de criar o gateway de VPN externo. Se os endereços não corresponderem, não é possível estabelecer a ligação do túnel de VPN de HA.
gcloud compute external-vpn-gateways create PEER_GATEWAY_NAME --interfaces \ 0=AWS_GW_IP_1,1=AWS_GW_IP_2,2=AWS_GW_IP_3,3=AWS_GW_IP_4
Substitua o seguinte:
AWS_GW_IP_1
: endereço IP externo para o gateway privado virtual para a ligação 1, túnel 1AWS_GW_IP_2
: endereço IP externo para o gateway privado virtual para a ligação 1, túnel 2AWS_GW_IP_3
: endereço IP externo para o gateway privado virtual para a ligação 2, túnel 1AWS_GW_IP_4
: Endereço IP externo para o gateway privado virtual para a ligação 2, túnel 2
Crie quatro túneis de VPN.
Túnel 1:
gcloud compute vpn-tunnels create tunnel-1 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 0 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_1 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 0
Túnel 2:
gcloud compute vpn-tunnels create tunnel-2 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 1 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_2 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 0
Túnel 3:
gcloud compute vpn-tunnels create tunnel-3 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 2 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_3 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 1
Túnel 4:
gcloud compute vpn-tunnels create tunnel-4 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 3 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_4 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 1
Substitua o seguinte:
PEER_GATEWAY_NAME
: um nome do gateway de pares externo que criou no passo 1REGION
: a Google Cloud região onde cria o túnelSHARED_SECRET
: a sua chave pré-partilhada (PSK), que tem de corresponder à chave pré-partilhada do túnel de parceiros que cria no seu gateway de pares; para gerar uma chave pré-partilhada forte, consulte o artigo Gere uma chave pré-partilhada forteROUTER_NAME
: o nome do gateway do Cloud Router que criou na secção Crie o gateway de VPN de alta disponibilidade e o Cloud Router em Google Cloud.HA_VPN_GATEWAY_NAME
: o nome do gateway de HA VPN que criou na secção Crie o gateway de HA VPN e o Cloud Router em Google Cloud.
Crie quatro interfaces do Cloud Router.
Nos comandos seguintes, substitua cada marcador de posição
GOOGLE_BGP_IP_TUNNEL
pelo endereço IP interno do túnel no lado Google Cloud . Pode encontrar os valores nos ficheiros de configuração da VPN da AWS como o endereço do gateway do cliente para cada túnel. Cada um destes endereços tem de estar no intervalo CIDR/30
dentro do intervalo de rede169.254.0.0/16
.Interface 1 do Cloud Router:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-1 \ --vpn-tunnel tunnel-1 \ --ip-address GOOGLE_BGP_IP_TUNNEL_1 \ --mask-length 30 \ --region REGION
Interface do Cloud Router 2:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-2 \ --vpn-tunnel tunnel-2 \ --ip-address GOOGLE_BGP_IP_TUNNEL_2 \ --mask-length 30 \ --region REGION
Interface do Cloud Router 3:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-3 \ --vpn-tunnel tunnel-3 \ --ip-address GOOGLE_BGP_IP_TUNNEL_3 \ --mask-length 30 \ --region REGION
Interface do Cloud Router 4:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-4 \ --vpn-tunnel tunnel-4 \ --ip-address GOOGLE_BGP_IP_TUNNEL_4 \ --mask-length 30 \ --region REGION
Adicione pares BGP.
Nos comandos seguintes, substitua
PEER_ASN
pelo ASN do lado da AWS da sessão BGP.Ligação AWS 1, túnel 1:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn1-tunn1 \ --peer-asn PEER_ASN \ --interface int-1 \ --peer-ip-address AWS_T1_IP \ --region REGION
Ligação AWS 1, túnel 2:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn1-tunn2 \ --peer-asn PEER_ASN \ --interface int-2 \ --peer-ip-address AWS_T2_IP \ --region REGION
Ligação AWS 2, túnel 1:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn2-tunn1 \ --peer-asn PEER_ASN \ --interface int-3 \ --peer-ip-address AWS_T3_IP \ --region REGION
Ligação AWS 2, túnel 2:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn2-tunn2 \ --peer-asn PEER_ASN \ --interface int-4 \ --peer-ip-address AWS_T4_IP \ --region REGION
No Cloud Shell, verifique o estado do Cloud Router:
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format='flattened(result.bgpPeerStatus[].name, result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
O resultado é semelhante ao seguinte:
result.bgpPeerStatus[].peerIpAddress)' result.bgpPeerStatus[0].ipAddress: 169.254.171.18 result.bgpPeerStatus[0].name: aws-conn1-tunn1 result.bgpPeerStatus[0].peerIpAddress: 169.254.171.17 result.bgpPeerStatus[1].ipAddress: 169.254.156.154 result.bgpPeerStatus[1].name: aws-conn1-tunn2 result.bgpPeerStatus[1].peerIpAddress: 169.254.156.153 result.bgpPeerStatus[2].ipAddress: 169.254.123.38 result.bgpPeerStatus[2].name: aws-conn2-tunn1 result.bgpPeerStatus[2].peerIpAddress: 169.254.123.37 result.bgpPeerStatus[3].ipAddress: 169.254.48.186 result.bgpPeerStatus[3].name: aws-conn2-tunn2 result.bgpPeerStatus[3].peerIpAddress: 169.254.48.185
Apresentar todos os túneis:
gcloud compute vpn-tunnels list
O resultado é semelhante ao seguinte:
NAME REGION GATEWAY PEER_ADDRESS tunnel-1 us-east4 ha-vpn-gw 34.205.x.x tunnel-2 us-east4 ha-vpn-gw 52.203.x.x tunnel-3 us-east4 ha-vpn-gw 3.208.x.x tunnel-4 us-east4 ha-vpn-gw 52.204.x.x
Verifique o estado do túnel:
gcloud compute vpn-tunnels describe tunnel-1 \ --region REGION \ --format='flattened(status,detailedStatus)'
O resultado é semelhante ao seguinte:
detailed_status: Tunnel is up and running. status: ESTABLISHED
Apresentar trajetos dinâmicos aprendidos pelo Cloud Router:
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format="flattened(result.bestRoutes)"
O resultado é semelhante ao seguinte:
result.bestRoutes[0].creationTimestamp: 2021-01-19T20:42:07.366-08:00 result.bestRoutes[0].destRange: 10.2.2.0/24 result.bestRoutes[0].kind: compute#route result.bestRoutes[0].nextHopIp: 169.254.171.17 result.bestRoutes[0].priority: 100 result.bestRoutes[1].creationTimestamp: 2021-01-19T20:42:07.366-08:00 result.bestRoutes[1].destRange: 10.2.2.0/24 result.bestRoutes[1].kind: compute#route result.bestRoutes[1].nextHopIp: 169.254.156.153 result.bestRoutes[1].priority: 100 result.bestRoutes[2].creationTimestamp: 2021-01-19T20:56:26.588-08:00 result.bestRoutes[2].destRange: 10.2.2.0/24 result.bestRoutes[2].kind: compute#route result.bestRoutes[2].nextHopIp: 169.254.123.37 result.bestRoutes[2].priority: 100 result.bestRoutes[3].creationTimestamp: 2021-01-19T20:56:26.588-08:00 result.bestRoutes[3].destRange: 10.2.2.0/24 result.bestRoutes[3].kind: compute#route result.bestRoutes[3].nextHopIp: 169.254.48.185 result.bestRoutes[3].priority: 100
Crie VMs de teste em cada lado dos túneis para testar pedidos de ping.
Certifique-se de que tem regras de firewall da VPC para permitir o tráfego ICMP.
Para ver instruções sobre como criar VMs do Compute Engine, consulte o artigo Crie e inicie uma instância do Compute Engine.
Para ver instruções sobre como criar instâncias EC2 na AWS, consulte o artigo Inicie uma instância do Amazon EC2.
Teste a ligação através do
ping
comando.- Se o teste
ping
falhar, veja os registos em Google Cloud e os registos da VPN site a site da AWS. As mensagens de erro nos registos podem ajudar a identificar o problema. Para saber como resolver problemas com a ligação VPN, consulte os seguintes recursos:
- Se o teste
Meça a largura de banda entre as suas máquinas de teste através do iperf.
Lado do servidor:
iperf3 -s
Lado do cliente:
iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Saiba mais sobre a VPN do Google Cloud.
- Saiba mais sobre as práticas recomendadas e as arquiteturas de referência para o design de VPC.
Crie o gateway de VPN de alta disponibilidade e o Cloud Router em Google Cloud
Nesta secção, cria uma rede VPC, um gateway de VPN de alta disponibilidade e um Cloud Router no Google Cloud.
Para criar um gateway de VPN com duas interfaces, tome nota dos endereços IP externos. Precisa destas moradas quando configurar o seu ambiente no lado da AWS.
Crie gateways e ligações VPN na AWS
Nesta secção, cria gateways de clientes, um gateway de destino e ligações VPN com encaminhamento dinâmico.
Executa comandos da AWS através da interface de linhas de comando da AWS.
Crie túneis de VPN e interfaces do Cloud Router em Google Cloud
Nesta secção, usa as informações da ligação VPN da AWS que criou na secção anterior para criar um gateway de VPN externo, túneis VPN e interfaces do Cloud Router no Google Cloud.
Quando configura túneis de VPN na nuvem para a AWS, tem de usar o protocolo IKEv2 e selecionar apenas um conjunto de cifras IKE para ajudar a garantir o estabelecimento bem-sucedido do túnel. Por exemplo, selecione um algoritmo de encriptação da fase 1 e um da fase 2, um algoritmo de integridade e um grupo Diffie-Hellman (DH). As definições de transformação da AWS predefinidas criam uma grande carga útil de associação de segurança (SA), o que pode causar a fragmentação de IP de pacotes IKE. A VPN na nuvem não suporta pacotes IKE fragmentados.
Valide a configuração
Teste a ligação VPN
Limpar
Elimine os recursos do Google Cloud Google Cloud e da AWS que criou durante este tutorial.
Elimine o Google Cloud projeto
Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados neste tutorial, pode eliminar o seu projeto: