Crie ligações HA VPN entre Google Cloud e o Azure

Este tutorial demonstra como criar ligações de rede privada virtual (VPN) de alta disponibilidade (HA) entre o Google Cloud e o Microsoft Azure. Pode usar estes serviços de VPN de HA para comunicação direta entre redes da nuvem virtual privada (VPC) no Google Cloud e gateways de rede virtual do Microsoft Azure.Google Cloud

Este documento pressupõe que está familiarizado com os conceitos básicos das redes VPC, do Border Gateway Protocol (BGP), das VPNs e dos túneis de Internet Protocol Security (IPsec).

Google Cloud oferece um serviço de VPN de alta disponibilidade (HA) para ligar a sua rede VPC a ambientes em execução fora do Google Cloud, como o Microsoft Azure, através de uma ligação VPN IPsec. Uma VPN de HA oferece um contrato de nível de serviço (SLA) de 99,99% de disponibilidade do serviço quando configurada com base nas práticas recomendadas da Google.

Vista geral da arquitetura

O diagrama seguinte mostra a arquitetura descrita neste documento.

Vista geral da arquitetura.

A arquitetura apresentada no diagrama 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 VPN de alta disponibilidade: um gateway de VPN gerido pela Google em execução no Google Cloud. Cada gateway de VPN de alta disponibilidade é um recurso regional que tem duas interfaces: a interface 0 e a interface 1. Cada uma destas interfaces tem o seu próprio endereço IP externo.
  • Túneis VPN: ligações do gateway de VPN de alta disponibilidade para Google Cloud o gateway de VPN de pares no Azure através do qual passa o tráfego encriptado.
  • Gateway de rede virtual: duas redes privadas definidas no serviço de nuvem do Azure.

Cada ligação do gateway de rede virtual inclui dois túneis pré-configurados para apontar para um único gateway do cliente, que, neste caso, é uma interface do gateway de VPN de alta disponibilidade em Google Cloud. Com esta configuração, o número mínimo de túneis de VPN do Google Cloud necessários para cumprir o SLA de disponibilidade do serviço de 99,99% é dois.

Moradas IP necessárias para os procedimentos

Para concluir os procedimentos neste documento, usa uma variedade de endereços IP no Google Cloud Google Cloud e no Azure. Alguns destes endereços IP são atribuídos automaticamente quando cria um recurso.

Para os endereços que não são atribuídos automaticamente, define estes endereços IP com base nos endereços IP que tem disponíveis e nas necessidades da sua organização.

Os recursos doGoogle Cloud requerem os seguintes endereços IP:

  • A criação de uma sub-rede para uma rede de nuvem privada virtual requer um intervalo de endereços IP definido pelo utilizador.
  • Depois de criar o gateway de VPN de HA, Google Cloud são atribuídos automaticamente dois endereços IP externos ao gateway de VPN de HA. A Google atribui um endereço IP a cada uma das duas interfaces da gateway. Precisa dos endereços IP destas interfaces para configurar os gateways de rede local no Azure.
  • Quando cria túneis de VPN de alta disponibilidade no Google Cloud, cada túnel precisa de uma interface BGP para o Cloud Router e uma interface BGP para o gateway de rede virtual ativo-ativo (gateway de VPN) no Azure. Para cada túnel, decida um par de endereços IPv4 de peering BGP locais de ligação num bloco /30 dos intervalos 169.254.21.* e 169.254.22.*. Estes intervalos são os intervalos válidos para endereços IPv4 de peering BGP APIPA do Azure. Tem de selecionar um total de quatro endereços IP.

    Os endereços IPv4 de peering BGP que selecionar têm de ser únicos entre todos os Cloud Routers em todas as regiões de uma rede de VPC.

Os recursos do Azure requerem os seguintes endereços IP:

  • Quando cria a rede virtual (VNet), a VNet requer um espaço de endereços IP para a rede e um espaço de endereços IP para a sub-rede da rede. Pode usar os espaços de endereços predefinidos ou introduzir espaços de endereços definidos pelo utilizador.
  • Quando cria o gateway de rede virtual ativo-ativo (gateway de VPN), o gateway requer um intervalo de endereços de sub-rede. Pode usar o intervalo predefinido ou introduzir um intervalo definido pelo utilizador.
  • Quando configura o BGP para o gateway de VPN ativo-ativo, o gateway requer dois endereços IP de peering BGP APIPA. Conforme mencionado anteriormente, os intervalos válidos para endereços IP de peering BGP APIPA do Azure são 169.254.21.* e 169.254.22.*.
  • Depois de criar um gateway de VPN ativo-ativo, o Azure atribui automaticamente um endereço IP externo a cada uma das interfaces do gateway. Precisa destes endereços IP para configurar o gateway de VPN de pares no Google Cloud.

Quando definir endereços IP, certifique-se de que usa um conjunto único de endereços IP para cada rede.

Objetivos

  • Crie uma rede virtual (VNet) do Azure e um gateway de rede virtual ativo-ativo (gateway de VPN).
  • Crie os componentes necessários em Google Cloud: uma rede VPC, um Cloud Router, um gateway de VPN de alta disponibilidade, um gateway de VPN de intercâmbio e dois túneis de VPN de alta disponibilidade com sessões BGP.
  • Crie dois gateways de rede local e duas ligações VPN no Azure. Verifique a configuração do Cloud Router e o estado dos túneis da HA VPN em Google Cloud.
  • Teste a ligação da Cloud VPN entre a rede da VPC no Google Cloud e a rede virtual (VNet) no Azure.

Custos

Os procedimentos neste documento usam componentes faturáveis do Google Cloud, incluindo o seguinte:

Para uma estimativa dos custos dos Google Cloud componentes, use a calculadora de preços do Google Cloud.

Os procedimentos neste documento usam componentes faturáveis dos serviços de nuvem do Microsoft Azure, incluindo o seguinte:

  • Gateways de VPN
  • Gateways de rede local

Para uma estimativa dos custos dos componentes do Azure, use a calculadora de preços do Azure.

Antes de começar

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  5. 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.

  6. Crie uma VNet e um gateway de VPN ativo-ativo no Azure

    No Azure, tem de configurar os seguintes componentes:

    • Uma rede virtual (VNet) do Azure que permite que os recursos do Azure comuniquem com a sua VPN do Google Cloud.
    • Um gateway de rede virtual ativo-ativo (gateway de VPN) que permite que ambas as instâncias das máquinas virtuais (MVs) do gateway estabeleçam túneis de VPN para a sua VPN do Google Cloud.

    Crie uma VNet

    Uma VNet permite que os recursos do Azure comuniquem em segurança entre si, com a Internet e com outras redes (como a Cloud VPN). Para mais informações sobre como criar uma VNet, consulte a documentação do Azure sobre como criar uma VNet.

    1. Inicie sessão no portal do Azure.
    2. Na caixa Pesquisar recursos, serviços e documentos (G+/), escreva virtual network.
    3. Na lista de resultados do Marketplace, selecione Rede virtual.
    4. Na página Rede virtual, selecione Criar.
    5. No separador Básico da página Criar rede virtual, configure as seguintes definições da VNet para Detalhes do projeto e Detalhes da instância:

      1. Na caixa Subscrição, verifique se a subscrição indicada é a correta. Para alterar a subscrição, selecione-a na lista .
      2. Para especificar o grupo de recursos, clique em Criar novo para criar um novo grupo e introduza um nome, como azure‑to‑google‑resgroup, para o nome do grupo de recursos.
      3. Na caixa Nome, introduza o nome da sua VNet, como azure‑to‑google‑network.
      4. Na caixa Região, selecione uma localização para a sua VNet.

        A localização que selecionar determina a localização de armazenamento dos recursos que implementar nesta rede virtual.

    6. No separador Endereços IP, na caixa Espaço de endereços IPv4, use o espaço de endereços e a sub-rede predefinidos criados pelo Azure.

    7. No separador Segurança, deixe os valores de BastionHost, DDos Protection Standard e Firewall definidos com o valor predefinido de Desativar.

    8. Para validar as definições da VNet, selecione Rever + criar.

    9. Depois de validar as definições, selecione Criar.

    Crie um gateway de VPN ativo-ativo

    Os procedimentos seguintes criam o gateway de VPN ativo-ativo:

    • O primeiro procedimento define os detalhes do projeto e da instância
    • O segundo procedimento especifica o endereço IP do gateway.

    Neste momento, só cria o gateway de VPN ativo-ativo. Tem de criar os seus componentes Google Cloud antes de poder configurar os túneis necessários no Azure. Para mais informações sobre a criação de um gateway de VPN ativo-ativo, consulte o tópico Configurar gateways de VPN ativo-ativos através do portal na documentação do Azure.

    Defina os detalhes do gateway

    1. Inicie sessão no portal do Azure.
    2. Em Pesquisar recursos, serviços e documentos (G+/), escreva virtual network gateway.
    3. Em Serviços nos resultados da pesquisa, localize e selecione Gateways de rede virtual.
    4. Na página Gateway de rede virtual, selecione Criar.
    5. No separador Básico da página Criar gateway de rede virtual, especifique os seguintes valores para as opções nas secções Detalhes do projeto e Detalhes da instância:

      1. Na lista Subscrição, selecione a subscrição que quer usar.
      2. Opcional: na caixa Intervalo de endereços da sub-rede do gateway, introduza o intervalo de endereços da sub-rede.
      3. Verifique se o grupo de recursos apresenta o grupo de recursos que corresponde à rede virtual que seleciona nesta página.
      4. Em Nome, introduza o nome da sua gateway, como azure‑to‑google‑gateway.
      5. Para Região, selecione a mesma região que usou quando criou a sua VNET.
      6. Para Tipo de gateway, selecione VPN.
      7. Para o Tipo de VPN, selecione o tipo de VPN Baseada em rotas.

      8. Na lista SKU, selecione o SKU da gateway que quer usar.

        Os números de referência dos produtos apresentados no menu pendente dependem do tipo de VPN que selecionar.

      9. Na lista Geração, selecione a geração que quer usar.

      10. Na lista Rede virtual, selecione a VNet que criou anteriormente

    6. Mantenha-se nesta página para o procedimento seguinte.

    Defina os endereços IP do gateway

    1. No separador Básico da página Criar gateway de rede virtual, siga os passos abaixo para criar os endereços IP externos usados pelo gateway de VPN ativo-ativo:

      1. Para Endereço IP público, selecione Criar novo.

        O Azure atribui automaticamente o endereço IP externo ao seu gateway de VPN ativo-ativo.

      2. Na caixa Nome do endereço IP público, escreva um nome para a instância de endereço IP externo, como azure‑to‑google‑network‑ip1.

      3. Para Ativar modo ativo-ativo, selecione Ativado.

      4. Opcional: se estiver disponível para a sua região, configure a zona de disponibilidade. Por exemplo, pode selecionar Redundância de zona.

      5. Para Segundo endereço IP público, selecione Criar novo.

      6. Na caixa Nome do endereço IP público, introduza o nome do segundo endereço IP externo, como azure‑to‑google‑network‑ip2.

      7. Para Configurar BGP, selecione Ativado.

      8. Para números de sistemas autónomos (ASN), defina o ASN para um valor permitido e válido.

        Usa este valor de ASN quando configura as sessões de BGP para os túneis em Google Cloud. Registe este valor como AZURE_ASN para se referir a este gateway de VPN ativo-ativo.

      9. Para Custom Azure APIPA BGP IP address, introduza o primeiro endereço IP APIPA BGP e registe o valor como AZURE_BGP_IP_0. Os intervalos válidos para endereços IP BGP APIPA do Azure são 169.254.21.* e 169.254.22.*.

      10. Para o Segundo endereço IP BGP APIPA personalizado do Azure, introduza o segundo endereço IP BGP APIPA e registe o valor como AZURE_BGP_IP_1. Vai usar estas variáveis quando configurar as sessões BGP no Google Cloud.

    2. Para executar a validação, selecione Rever + criar.

    3. Após a conclusão da validação, selecione Criar para implementar o gateway de VPN.

    Ver e registar os endereços IP externos do gateway de VPN ativo-ativo

    Precisa dos endereços IP externos que o Azure atribuiu automaticamente ao gateway de VPN ativo-ativo. Use estes endereços IP para criar o recurso de gateway de VPN par na Google Cloud.

    1. Na página Vista geral do gateway ativo-ativo que acabou de criar, localize os endereços IP externos do gateway.
    2. Registe os endereços IP que vê no ecrã:
      • Registe o primeiro endereço IP externo como AZURE_GW_IP_0.
      • Registe o segundo endereço IP externo como AZURE_GW_IP_1.

    Mais tarde, este documento refere-se a estes endereços IP como AZURE_GW_IP_0 e AZURE_GW_IP_1.

    Crie os seus Google Cloud componentes

    No Google Cloud, tem de configurar os seguintes componentes:

    • Uma rede VPC.
    • Um gateway de HA VPN.
    • Um Cloud Router.
    • Um gateway de VPN de intercâmbio.
    • Túneis de VPN de HA com sessões de BGP.

    Os procedimentos seguintes pressupõem que fez a configuração Google Cloud conforme descrito em Antes de começar. Se não tiver concluído esses passos, faça-o agora.

    Crie uma rede VPC, uma sub-rede, um gateway de VPN de alta disponibilidade e um Cloud Router no Google Cloud

    Em Google Cloud, cria uma rede VPC, cria um gateway de VPN de alta disponibilidade, cria um Cloud Router e, em seguida, configura as regras de firewall em Google Cloud.

    1. No Google Cloud Shell, certifique-se de que está a trabalhar no projeto do Google Cloud 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 projeto do Cloud.

    2. Crie uma rede VPC personalizada com uma única sub-rede:

      gcloud compute networks create NETWORK \
          --subnet-mode SUBNET_MODE \
          --bgp-routing-mode BGP_ROUTING_MODE

      Substitua o seguinte:

      • NETWORK: o nome da rede, como google‑to‑azure‑vpc.
      • SUBNET_MODE: o subnet mode foi definido como custom.
    3. BGP_ROUTING_MODE: O modo de encaminhamento BGP foi definido como global.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute networks create google-to-azure-vpc \
          --subnet-mode custom \
          --bgp-routing-mode global
    4. Crie uma sub-rede para alojar as VMs de teste:

      gcloud compute networks subnets create SUBNET_NAME \
          --network NETWORK \
          --region SUBNET_REGION \
          --range SUBNET_IP_ADDRESS_RANGE

      Substitua o seguinte:

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute networks subnets create subnet-central1  \
          --network google-to-azure-vpc \
          --region us-central1 \
          --range 10.1.1.0/24
      
    5. Crie o gateway de VPN de alta disponibilidade:

      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.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute vpn-gateways create ha-vpn-gw-a \
         --network google-to-azure-vpc \
         --region us-central1
      

      O gateway que criar deve ser semelhante ao seguinte exemplo de resultado:

      Created [https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
      NAME          INTERFACE0     INTERFACE1     NETWORK     REGION
      ha-vpn-gw-a   203.0.113.1   203.0.113.2   google-to-azure-vpc   us-central1
      

      O resultado apresenta os endereços IPv4 externos que foram atribuídos automaticamente a cada interface de gateway (INTERFACE0 e INTERFACE1). Precisa destes endereços IP quando configurar os gateways de rede local no Azure:

      • Registe o endereço IP de INTERFACE0 em HA_VPN_INT_0.
      • Registe o endereço IP de INTERFACE1 em HA_VPN_INT_1.
    6. Crie um Cloud Router:

      gcloud compute routers create ROUTER_NAME \
          --region REGION \
          --network NETWORK \
          --asn GOOGLE_ASN \

      Substitua o seguinte:

      • ROUTER_NAME: o nome do seu Cloud Router.
      • REGION: a região onde está a criar o gateway e os túneis de HA VPN.
      • GOOGLE_ASN: o número do sistema autónomo (ASN) privado do Cloud Router que está a criar. Pode ser qualquer ASN privado no intervalo 64512-65534 ou 4200000000-4294967294 que ainda não esteja a usar como um ASN de pares na mesma região e rede.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers create cloud-router \
          --region us-central1 \
          --network google-to-azure-vpc \
          --asn 65534
      

    Crie um gateway de VPN de intercâmbio para a VPN do Azure

    Nesta secção, cria um recurso de gateway de VPN externo que fornece informações ao Google Cloud sobre o seu gateway de VPN ativo-ativo no Azure. Google Cloud Cria um único gateway de VPN de pares que usa duas interfaces separadas, cada uma com o seu próprio endereço IP externo.

    Crie um único gateway de VPN de intercâmbio externo com duas interfaces:

    gcloud compute external-vpn-gateways create AZURE_GW_NAME \
         --interfaces 0=AZURE_GW_IP_0,1=AZURE_GW_IP_1

    Substitua o seguinte:

    • AZURE_GW_NAME: o nome do seu gateway de VPN ativo-ativo do Azure
    • AZURE_GW_IP_0: o endereço IP externo de uma interface do gateway de pares
    • AZURE_GW_IP_1: o endereço IP externo para outra interface do gateway de pares

    O recurso de gateway de VPN de pares que criou deve ser semelhante ao exemplo seguinte, em que AZURE_GW_IP_0 e AZURE_GW_IP_1 mostram os endereços IP externos reais das interfaces do gateway de pares:

    gcloud compute external-vpn-gateways create azure-peer-gw \
         --interfaces 0=203.0.113.1,1=203.0.113.2
    
    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME     INTERFACE0    INTERFACE1
    azure-peer-gw  203.0.113.1  203.0.113.2
    

    Crie túneis de VPN

    Tem de criar dois túneis de VPN: um túnel para cada interface no gateway de VPN paritário. Quando configurar túneis VPN para o Azure, use o protocolo de encriptação IKEv2.

    Para os comandos usados nesta secção, substitua o seguinte:

    • TUNNEL_NAME_IF0 e TUNNEL_NAME_IF1: um nome para o túnel; dar nomes aos túneis incluindo o nome da interface do gateway pode ajudar a identificar os túneis mais tarde.
    • AZURE_GW_NAME: o nome do gateway de pares externo criado anteriormente
    • AZURE_GW_INT_NUM_0 e AZURE_GW_INT_NUM_1: os números de interface configurados anteriormente no gateway de pares externo.
    • IKE_VERS: use 2 para IKEv2.
    • SHARED_SECRET: a sua chave pré-partilhada (segredo partilhado), que tem de corresponder à chave pré-partilhada que especifica quando configura ligações VPN no Azure. Para recomendações, consulte o artigo Gere uma chave pré-partilhada forte.
    • HA_VPN_GATEWAY_NAME: o nome do gateway de HA VPN.
    • INT_NUM_0: o número 0 para a primeira interface no gateway de VPN de HA que criou anteriormente.
    • INT_NUM_1: o número 1 para a segunda interface no gateway de VPN HA que criou anteriormente.

    Siga os passos seguintes para criar os túneis de VPN:

    1. Crie o túnel de VPN para a interface 0:

      gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
         --peer-external-gateway=AZURE_GW_NAME \
         --peer-external-gateway-interface=AZURE_GW_INT_NUM_0  \
         --region=REGION \
         --ike-version=IKE_VERS \
         --shared-secret=SHARED_SECRET \
         --router=ROUTER_NAME \
         --vpn-gateway=HA_VPN_GATEWAY_NAME \
         --interface=INT_NUM_0

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute vpn-tunnels create azure-tunnel-1 \
         --peer-external-gateway azure-peer-gw \
         --peer-external-gateway-interface 0  \
         --region us-central1  \
         --ike-version 2 \
         --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
         --router cloud-router \
         --vpn-gateway ha-vpn-gw-a \
         --interface 0
    2. Crie o túnel de VPN para a interface 1:

      gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
        --peer-external-gateway=AZURE_GW_NAME \
        --peer-external-gateway-interface=AZURE_GW_INT_NUM_1 \
        --region=REGION \
        --ike-version=IKE_VERS \
        --shared-secret=SHARED_SECRET \
        --router=ROUTER_NAME \
        --vpn-gateway=HA_VPN_GATEWAY_NAME \
        --interface=INT_NUM_1

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute vpn-tunnels create azure-tunnel-2 \
         --peer-external-gateway azure-peer-gw \
         --peer-external-gateway-interface 1  \
         --region us-central1  \
         --ike-version 2 \
         --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
         --router cloud-router \
         --vpn-gateway ha-vpn-gw-a \
         --interface 1

    Crie sessões de BGP

    Para o encaminhamento dinâmico, usa o Cloud Router para estabelecer sessões BGP entre o Google Cloud e o Azure. Recomendamos a utilização do encaminhamento dinâmico em vez do encaminhamento estático sempre que possível, conforme abordado na vista geral da Cloud VPN e no encaminhamento de rede e de túneis da Cloud VPN.

    Tem de criar uma sessão BGP para cada túnel de VPN. Cada sessão de BGP consiste numa interface de BGP para o Cloud Router e num par de BGP. Cria um par BGP para cada um dos dois túneis de VPN que acabou de criar.

    Para os comandos usados nesta secção, substitua o seguinte:

    • ROUTER_NAME: o nome que atribuiu ao Cloud Router.
    • ROUTER_INTERFACE_NAME_0 e ROUTER_INTERFACE_NAME_1: o nome da interface BGP do Cloud Router. Pode ser útil usar nomes relacionados com os nomes dos túneis configurados anteriormente.
    • MASK_LENGTH: especifique 30. Cada sessão BGP no mesmo Cloud Router tem de usar um /30CIDR único do bloco 169.254.0.0/16.
    • GOOGLE_BGP_IP_0 e GOOGLE_BGP_IP_1: os endereços IP de peering BGP para as interfaces do gateway de VPN de alta disponibilidade que configura; cada túnel usa uma interface do gateway diferente. Uma vez que os intervalos permitidos para endereços IP de peering BGP APIPA do Azure são 169.254.21.* e 169.254.22.*, tem de selecionar um endereço IP disponível no CIDR /30 desses intervalos para os endereços IP de peering BGP do Cloud Router.
    • AZURE_BGP_IP_0 e AZURE_BGP_IP_1: os endereços IP de peering BGP da APIPA que já configurou no gateway de VPN ativo-ativo do Azure; cada túnel usa um endereço diferente.
    • TUNNEL_NAME_IF0 e TUNNEL_NAME_IF1: os túneis associados à interface do gateway de VPN de alta disponibilidade que configurou.
    • AZURE_ASN: o ASN que configurou para o gateway de VPN de intercâmbio ativo-ativo no Azure.
    • BGP_PEER_NAME_1 e BGP_PEER_NAME_2 com nomes exclusivos para cada par BGP. Por exemplo, azure‑bgp‑peer‑1 e azure‑bgp‑peer‑2.

    Para criar sessões BGP para os túneis de VPN, siga estes passos:

    1. Para o primeiro túnel de VPN, adicione uma interface BGP ao Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0 \
         --mask-length=MASK_LENGTH \
         --vpn-tunnel=TUNNEL_NAME_IF0 \
         --ip-address=GOOGLE_BGP_IP_0 \
         --region=REGION

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers add-interface cloud-router \
         --interface-name azure-tunnel-1-int-0 \
         --mask-length 30 \
         --vpn-tunnel azure-tunnel-1 \
         --ip-address 169.254.21.2 \
         --region us-central1
      
    2. Para o primeiro túnel de VPN, adicione um par BGP à interface:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=BGP_PEER_NAME_1 \
         --peer-asn=AZURE_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --peer-ip-address=AZURE_BGP_IP_0 \
         --region=REGION

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers add-bgp-peer cloud-router \
         --peer-name azure-bgp-peer-1 \
         --peer-asn 65515 \
         --interface azure-tunnel-1-int-0 \
         --peer-ip-address 169.254.21.1 \
         --region us-central1
      
    3. Para o segundo túnel VPN, adicione uma interface BGP ao Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_1 \
         --mask-length=MASK_LENGTH \
         --vpn-tunnel=TUNNEL_NAME_IF1 \
         --ip-address=GOOGLE_BGP_IP_1 \
         --region=REGION

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers add-interface cloud-router \
         --interface-name azure-tunnel-2-int-1 \
         --mask-length 30 \
         --vpn-tunnel azure-tunnel-2 \
         --ip-address 169.254.22.2 \
         --region us-central1
      
    4. Para o segundo túnel VPN, adicione um par BGP à interface:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=BGP_PEER_NAME_2 \
         --peer-asn=AZURE_ASN \
         --interface=ROUTER_INTERFACE_NAME_1 \
         --peer-ip-address=AZURE_BGP_IP_1 \
         --region=REGION

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers add-bgp-peer cloud-router \
        --peer-name azure-bgp-peer-2 \
        --peer-asn 65515 \
        --interface azure-tunnel-2-int-1 \
        --peer-ip-address 169.254.22.1 \
        --region us-central1
      

    Crie gateways de rede local e ligações VPN no Azure

    Com os componentes Google Cloud criados e configurados, regressa ao ambiente do Azure para concluir a associação Google Cloud ao Azure. Para concluir esta associação, crie os seguintes componentes no Azure:

    • Dois gateways de rede local que representam a sua VPN do Google Cloud no Azure.
    • Duas ligações VPN que correspondem aos dois túneis de VPN de HA que configurou em Google Cloud.

    Crie dois gateways de rede local

    Um gateway de rede local é um objeto específico que representa a sua VPN do Google Cloud no Azure. Quando cria um gateway de rede local, especifica as seguintes informações:

    • Um nome para o gateway de rede local.
    • O endereço IP da interface da VPN de alta disponibilidade a usar na ligação.
    • O endereço IP do Google Cloud Router ao qual quer criar uma ligação.
    • Os prefixos de endereços IP encaminhados através do gateway de VPN para o Cloud Router. Os prefixos de endereço que especificar são os prefixos localizados na sua VPN na nuvem. Se a sua rede privada virtual do Google Cloud mudar ou tiver de alterar o endereço IP externo do Cloud Router, pode atualizar os valores mais tarde.

    Tem de criar dois gateways de rede local: um gateway que se ligue à interface do túnel de VPN de alta disponibilidade no Google Cloud e outro gateway que se ligue à interface do túnel de VPN de alta disponibilidade.

    Para mais informações, consulte a secção crie um gateway de rede local do tutorial Crie uma ligação VPN site a site no portal do Azure na documentação do Azure.

    Para criar o primeiro gateway de rede local, siga estes passos:

    1. Inicie sessão no portal do Azure.
    2. Em Pesquisar recursos, serviços e documentos (G+/), escreva gateway de rede local.
    3. Nos resultados da pesquisa em Marketplace, localize e selecione gateway de rede local.
    4. Clique em Criar.
    5. No separador Básico da página Criar gateway de rede local, especifique os seguintes valores para o gateway de rede local:

      1. Na lista Subscrição, verifique se está a ser apresentada a subscrição correta.
      2. Na lista Grupo de recursos, selecione o mesmo grupo de recursos que criou para a VNet anteriormente neste documento.
      3. Para Região, selecione a mesma localização em que a sua VNet reside.
      4. Em Nome, introduza um nome para a gateway de rede local, como azure-to-google-locgateway1.
      5. Para Ponto final, selecione Endereço IP.
      6. Na caixa Endereço IP, introduza o endereço IP de INTERFACE0 da sua VPN de HA (ou seja, introduza HA_VPN_INT_0).
      7. Para Espaço de endereços,introduza os intervalos de endereços da rede que esta rede local representa.

        Pode adicionar vários intervalos de espaço de endereços. Certifique-se de que os intervalos que especificar aqui não se sobrepõem aos intervalos de outras redes às quais quer estabelecer ligação.

    6. No separador Avançadas, configure as definições de BGP da seguinte forma:

      1. Para Configurar definições de BGP, selecione Sim.
      2. Para o Número do sistema autónomo (ASN), introduza o ASN do seu Cloud Router (ou seja, introduza GOOGLE_ASN).
      3. Para o endereço IP do par BGP, introduza o endereço IP do BGP para o Cloud Router no túnel 1 (ou seja, introduza GOOGLE_BGP_IP_0).
    7. Para validar a configuração do gateway de rede local, clique em Rever e criar na parte inferior da página.

    8. Depois de a validação ser bem-sucedida, clique em Criar para criar o gateway de rede local.

    Para criar o segundo gateway de rede local, siga estes passos:

    1. No portal do Azure, em Pesquisar recursos, serviços e documentos (G+/), escreva local network gateway.
    2. Em Marketplace, nos resultados da pesquisa, localize e selecione gateway de rede local.
    3. No separador Básico da página Criar gateway de rede local, especifique os seguintes valores para o gateway de rede local:

      1. Na lista Subscrição, verifique se a subscrição correta está a ser apresentada.
      2. Na lista Grupo de recursos, selecione o mesmo grupo de recursos que criou para a VNet anteriormente neste documento.
      3. Para Região, selecione a mesma região da sua VNet.
      4. Em Nome, introduza um nome para a gateway de rede local, como azure-to-google-locgateway2.
      5. Para Ponto final, selecione Endereço IP.
      6. Na caixa Endereço IP, introduza o endereço IP de INTERFACE1 da sua VPN de HA (ou seja, introduza HA_VPN_INT_1).
      7. Para Espaço de endereços,introduza os intervalos de endereços da rede que esta rede local representa.

      Pode adicionar vários intervalos de espaço de endereços. Certifique-se de que os intervalos que especificar aqui não se sobrepõem aos intervalos de outras redes às quais quer estabelecer ligação.

    4. No separador Avançadas, configure as definições de BGP da seguinte forma:

      1. Para Configurar definições de BGP, selecione Sim.
      2. Para o Número do sistema autónomo (ASN), introduza o ASN do seu Cloud Router (ou seja, introduza GOOGLE_ASN).
      3. Para o endereço IP do par BGP, introduza o endereço IP do BGP para o Cloud Router no túnel 1 (ou seja, introduza GOOGLE_BGP_IP_1).
    5. Para validar a configuração do gateway da rede local, clique em Rever e criar na parte inferior da página.

    6. Depois de a validação ser bem-sucedida, clique em Criar para criar o gateway de rede local.

    Crie duas ligações VPN

    Para criar as ligações VPN no Azure, precisa das chaves partilhadas previamente ou SHARED_SECRET que configurou quando configurou os túneis de VPN de alta disponibilidade no Google Cloud.

    1. No portal do Azure, localize o gateway de VPN ativo-ativo que criou em Criar um gateway de VPN ativo-ativo.
    2. Selecione Ligações.
    3. Na parte superior da página Associações, selecione + Adicionar.
    4. Na página Adicionar associação, especifique os seguintes valores para a primeira associação:
      1. Em Nome, introduza um nome para a associação, como azure-vnet-to-google1.
      2. Para Tipo de ligação, selecione Site a site (IPsec).
      3. Para Gateway de rede local, especifique o primeiro gateway de rede local que criou, como azure-to-google-locgateway1.
      4. Para Chave partilhada (PSK), especifique a chave partilhada que configurou para o primeiro túnel de VPN de alta disponibilidade.
      5. Selecione Ativar BGP.
      6. Para Protocolo IKE, selecione IKEv2.
      7. Clique em OK.
      8. Na página Associações, selecione +Adicionar para adicionar uma segunda associação com os seguintes valores:
      9. Em Nome, introduza um nome para a associação, como azure-vnet-to-google2.
      10. Para Tipo de ligação, selecione Site a site (IPsec).
      11. Para o gateway de rede local, especifique o segundo gateway de rede local que criou, como azure-to-google-locgateway2.
      12. Para Chave partilhada (PSK), especifique a chave partilhada que configurou para o segundo túnel de VPN de alta disponibilidade.
      13. Selecione Ativar BGP.
      14. Para Protocolo IKE, selecione IKEv2.
      15. Clique em OK.
    5. Na página Ligações, verifique se o estado de ambas as ligações está indicado como Ligado.

    Valide a configuração

    No Google Cloud, pode validar a configuração da VPN de alta disponibilidade examinando (listando) primeiro a configuração do Cloud Router e, em seguida, verificando o estado dos túneis da VPN de alta disponibilidade.

    1. No Cloud Shell, liste os endereços IP de peering BGP escolhidos pelo Cloud Router:

      gcloud compute routers get-status ROUTER_NAME \
         --region=REGION \
         --format='flattened(result.bgpPeerStatus[].name,
           result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute routers get-status cloud-router \
          --region us-central1 \
      --format='flattened(result.bgpPeerStatus[].name,result.bgpPeerStatus[].ipAddress,result.bgpPeerStatus[].peerIpAddress)'
      

      O resultado esperado para um Cloud Router que gere dois túneis de VPN de alta disponibilidade (índice 0 e índice 1) deve ser semelhante ao seguinte exemplo:

      result.bgpPeerStatus[0].ipAddress:     169.254.21.2
      result.bgpPeerStatus[0].name:          azure-bgp-peer-1
      result.bgpPeerStatus[0].peerIpAddress: 169.254.21.1
      result.bgpPeerStatus[1].ipAddress:     169.254.22.2
      result.bgpPeerStatus[1].name:          azure-bgp-peer-2
      result.bgpPeerStatus[1].peerIpAddress: 169.254.22.1
      
    2. No Cloud Shell, veja o estado do primeiro túnel de HA VPN:

      gcloud compute vpn-tunnels describe TUNNEL_NAME_IF0 \
         --region=REGION

      Substitua o seguinte:

      • TUNNEL_NAME_IF0: o túnel associado à primeira interface do gateway de HA VPN que configurou.
      • REGION: região onde implementou o gateway de HA VPN.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute vpn-tunnels describe azure-tunnel-1 -–region=us-central1
      

      O resultado esperado para o túnel deve ser semelhante ao seguinte exemplo:

      creationTimestamp: '2022-09-28T17:13:21.592-07:00'
      description: ''
      detailedStatus: Tunnel is up and running.
      id: '278561789474069966'
      ikeVersion: 2
      kind: compute#vpnTunnel
      localTrafficSelector:
      -   0.0.0.0/0
      name: azure-tunnel-1
      peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
      peerExternalGatewayInterface: 0
      peerIp: 203.0.113.1
      region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
      remoteTrafficSelector:
      -   0.0.0.0/0
      router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
      selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-1
      sharedSecret: '*************'
      sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9paz
      status: ESTABLISHED
      vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
      vpnGatewayInterface: 0
      
    3. No Cloud Shell, veja o estado do segundo túnel de VPN de alta disponibilidade:

      gcloud compute vpn-tunnels describe TUNNEL_NAME_IF1 \
         --region=REGION

      Substitua o seguinte:

      • TUNNEL_NAME_IF1: o túnel associado à segunda interface do gateway de HA VPN que configurou.
      • REGION: região onde implementou o gateway de HA VPN.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute vpn-tunnels describe azure-tunnel-2 --region=us-central1
      

      O resultado esperado para o túnel deve ser semelhante ao seguinte exemplo:

      creationTimestamp: '2022-09-28T17:13:21.592-07:00'
      description: ''
      detailedStatus: Tunnel is up and running.
      id: '5665972275117479944'
      ikeVersion: 2
      kind: compute#vpnTunnel
      localTrafficSelector:
      -   0.0.0.0/0
      name: azure-tunnel-2
      peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
      peerExternalGatewayInterface: 1
      peerIp: 203.0.113.2
      region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
      remoteTrafficSelector:
      -   0.0.0.0/0
      router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
      selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-2
      sharedSecret: '*************'
      sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9ddd
      

    Teste a conetividade

    Para testar as ligações VPN de HA, tem de criar VMs em cada lado do túnel.

    Em seguida, tem de se certificar de que tem regras de firewall definidas Google Cloud que permitem o tráfego ICMP de entrada das sub-redes da rede Azure. Com as VMs e as regras de firewall implementadas, pode testar a conetividade através do ping e testar a largura de banda através do iperf.

    1. Crie VMs de teste em cada lado dos túneis para testar pedidos de ping.

      Também tem de configurar a firewall de rede do Azure para permitir o tráfego de entrada dos prefixos de sub-rede usados na sua nuvem virtual privada.

    2. No Google Cloud, configure uma regra de firewall que permita o tráfego ICMP de entrada da sua VPN do Azure:

      gcloud compute firewall-rules create RULE_NAME \
          --network NETWORK \
          --direction ingress \
          --action allow \
          --source-ranges AZURE_VNET_RANGE \
          --rules icmp \

      Substitua AZURE_VNET_RANGE pelo intervalo de endereços IP atribuído à sua VNet do Azure.

      O comando deve ser semelhante ao seguinte exemplo:

      gcloud compute firewall-rules create allow-azure-icmp \
        --network google-to-azure-vpc \
        --direction ingress \
        --action allow \
        --source-ranges 10.0.0.0/16 \
        --rules icmp
      
    3. Teste a ligação através do comando ping.

    4. Meça a largura de banda entre as suas máquinas de teste com o iperf.

    Limpar

    Elimine os recursos do Google Cloud e do Azure 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:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Elimine o grupo de recursos do Azure

    Elimine o grupo de recursos do Azure Manager que criou quando criou a VNet. Neste tutorial, o nome do grupo de recursos de exemplo é azure-to-google-resgroup.

    Para mais informações, consulte o artigo Eliminação de recursos e grupos de recursos do Azure Resource Manager.

    O que se segue?