Configurar o roteamento para interfaces do Private Service Connect

Nesta página, descrevemos como configurar o roteamento para interfaces virtuais e dinâmicas do Private Service Connect.

Rotear o tráfego por uma interface do Private Service Connect

Depois de criar uma interface do Private Service Connect, é necessário rotear o tráfego por ela configurando o sistema operacional convidado (SO convidado) na VM da interface.

Permitir conectividade SSH

Verifique se as regras de firewall estão configuradas para permitir conexões SSH de entrada com a VM da interface do Private Service Connect.

Encontrar o nome Google Cloud da interface do Private Service Connect

Para configurar o roteamento, você precisa saber o nome Google Cloud da sua interface do Private Service Connect.

Para encontrar o nome Google Cloud de uma interface dinâmica do Private Service Connect, use a Google Cloud CLI.

Console

  1. No Google Cloud console, acesse a página Instâncias de VM:

    Acessar instâncias de VM

  2. Clique no nome da VM que tem a interface do Private Service Connect.

  3. Na seção Interfaces de rede, encontre e anote o nome da interface virtual do Private Service Connect, por exemplo, nic1.

gcloud

  1. Use o comando gcloud compute instances describe.

    gcloud compute instances describe VM_NAME \
        --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da VM com a interface do Private Service Connect.
    • ZONE: a zona da VM
  2. Na saída do comando, localize e anote o nome Google Cloud da sua interface do Private Service Connect.

    • Para interfaces virtuais do Private Service Connect, o nome tem o formato nic[interface_number]. Por exemplo, nic0 ou nic1.
    • Para interfaces dinâmicas do Private Service Connect, o nome tem o formato nic[parent_interface_number.VLAN_ID]. Por exemplo, nic0.10 ou nic1.42.

Configurar o gerenciamento automático de interfaces dinâmicas do Private Service Connect

Se você estiver configurando o roteamento para uma interface dinâmica do Private Service Connect, ative o gerenciamento automático de interfaces de rede dinâmicas. Você só precisa fazer isso uma vez por VM.

Encontrar o nome do SO convidado da interface do Private Service Connect

Para configurar o roteamento, você precisa saber o nome do SO convidado da interface do Private Service Connect, que é diferente do nome da interface em Google Cloud.

Para encontrar o nome da interface em uma VM do Debian, siga as etapas abaixo. Para VMs com outros sistemas operacionais, consulte a documentação pública do sistema operacional.

  1. Conecte-se à VM da interface do Private Service Connect.
  2. Execute este comando:

    ip address
    

    Na lista de interfaces de rede, localize e anote o nome da interface associado ao endereço IP da interface do Private Service Connect. Por exemplo, se o agente convidado do Linux gerenciar as interfaces de rede da VM, os nomes terão os seguintes formatos:

    • Interfaces virtuais do Private Service Connect: ens[number], por exemplo, ens5.
    • Interfaces dinâmicas do Private Service Connect: gcp.ens[parent_interface_number].[VLAN_ID], por exemplo, gcp.ens5.10.

Encontrar o endereço IP do gateway da interface do Private Service Connect

Para configurar o roteamento, você precisa saber o endereço IP do gateway padrão da interface do Private Service Connect.

  1. Conecte-se à VM da interface do Private Service Connect.
  2. Envie uma solicitação GET da VM da interface para o servidor de metadados associado.

    • Para interfaces virtuais do Private Service Connect, envie a seguinte solicitação:

      curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
      

      Substitua INTERFACE_NUMBER pelo índice da interface. Por exemplo, se o Google Cloud nome da interface do Private Service Connect for nic1, use um valor de 1.

    • Para interfaces dinâmicas do Private Service Connect, envie a seguinte solicitação:

      curl http://metadata.google.internal/computeMetadata/v1/instance/vlan-network-interfaces/PARENT_INTERFACE_NUMBER/VLAN_ID/gateway -H "Metadata-Flavor: Google" && echo
      

      Substitua:

      • PARENT_INTERFACE_NUMBER: o índice da vNIC principal da interface dinâmica do Private Service Connect

        Por exemplo, se o Google Cloud nome da interface do Private Service Connect for nic1.5, use um valor de 1.

      • VLAN_ID: o ID da VLAN da sua interface dinâmica do Private Service Connect.

        Por exemplo, se o nome Google Cloud da sua interface do Private Service Connect for nic1.5, use um valor de 5.

    A saída da solicitação mostra o endereço IP do gateway.

Adicionar rotas para sub-redes de consumidores

É necessário adicionar uma rota ao gateway padrão da interface do Private Service Connect para cada sub-rede do consumidor que se conecta à interface do Private Service Connect. Isso permite que o tráfego vinculado à rede do consumidor flua pela interface do Private Service Connect.

As etapas a seguir descrevem como atualizar temporariamente a tabela de roteamento de uma VM que usa o sistema operacional Debian. Para atualizar a tabela permanentemente ou para atualizar a rota em um sistema operacional diferente, consulte a documentação pública do sistema operacional.

  1. Conecte-se à VM da interface do Private Service Connect.

  2. Execute o seguinte comando para cada sub-rede de consumidor que se conecta à interface do Private Service Connect:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Substitua:

  3. Execute o comando a seguir para remover todas as entradas da tabela de rotas do cache. Isso pode ser necessário se você estiver usando uma instância atual com tabelas de rotas configuradas anteriormente.

    sudo ip route flush cache
    

Usar uma interface do Private Service Connect com o VPC Service Controls

É possível usar as interfaces do Private Service Connect com o VPC Service Controls. Isso permite que uma rede VPC do produtor acesse APIs e serviços do Google por meio de uma rede VPC do consumidor, enquanto a organização do consumidor pode aplicar os benefícios de segurança do VPC Service Controls.

É possível implementar essa configuração usando uma das seguintes abordagens, que são descritas nas seções a seguir:

  • Configurar o roteamento do SO convidado
  • Isole a interface do Private Service Connect com namespaces de rede ou VRF e configure o roteamento.

Configurar o roteamento do SO convidado

Para usar uma interface do Private Service Connect com o VPC Service Controls, configure o roteamento no SO convidado da VM da interface. Direcione o tráfego destinado às APIs e aos serviços do Google pela interface do Private Service Connect.

As etapas a seguir descrevem como atualizar temporariamente a tabela de roteamento de uma VM que usa o sistema operacional Debian. Para atualizar a tabela permanentemente ou para atualizar a rota em um sistema operacional diferente, consulte a documentação pública do sistema operacional.

Para configurar o roteamento, faça o seguinte:

  1. Permita a conectividade SSH com a VM da interface do Private Service Connect.
  2. Conecte-se à VM.
  3. Para criar uma tabela de rotas personalizada para a interface do Private Service Connect, execute o seguinte comando:

    echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
    

    Substitua ROUTE_TABLE_NAME por um nome para a tabela de rotas.

  4. Adicione uma rota à sua tabela de rotas para o tráfego de APIs e serviços do Google. Por exemplo, para adicionar uma rota para o tráfego ao IP virtual (VIP) restricted.googleapis.com, use o comando a seguir, que especifica o intervalo de endereços IPv4 para restricted.googleapis.com:

    sudo ip route add 199.36.153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME
    

    Substitua OS_INTERFACE_NAME pelo nome do SO convidado da interface do Private Service Connect, por exemplo, ens5 ou gcp.ens5.10.

  5. Para adicionar uma regra de roteamento que usa a tabela de rotas personalizada para pacotes originados da sua interface do Private Service Connect, use o seguinte comando:

    sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
    

    Substitua INTERFACE_IP pelo endereço IP da interface do Private Service Connect. É possível encontrar o endereço IP da interface descrevendo a VM da interface.

  6. Execute o comando a seguir para remover todas as entradas da tabela de rotas do cache. Isso pode ser necessário se você estiver usando uma instância atual com tabelas de rotas configuradas anteriormente.

    sudo ip route flush cache
    

Isolar interfaces do Private Service Connect com namespaces ou VRF

Como alternativa, configure a VM para usar namespaces de rede ou roteamento e encaminhamento virtual (VRF) para isolar a interface do Private Service Connect. Essa abordagem é útil para cargas de trabalho conteinerizadas, como as executadas em pods do Google Kubernetes Engine.

Configure o roteamento usando o mesmo contexto que você usou para isolar a interface e verifique se as cargas de trabalho que usam sua interface do Private Service Connect existem nesse mesmo contexto.