Configure o encaminhamento para interfaces do Private Service Connect

Esta página descreve como configurar o encaminhamento para interfaces do Private Service Connect virtuais e dinâmicas.

Encaminhe o tráfego através de uma interface do Private Service Connect

Depois de criar uma interface do Private Service Connect, tem de encaminhar o tráfego através da interface configurando o sistema operativo convidado (SO convidado) na VM da interface.

Permita a conetividade SSH

Certifique-se de que as regras de firewall estão configuradas para permitir ligações SSH de entrada à VM da interface do Private Service Connect.

Encontre o Google Cloud nome da sua interface do Private Service Connect

Para configurar o encaminhamento, tem de saber o Google Cloud nome da sua interface do Private Service Connect.

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

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM:

    Aceder às instâncias de VM

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

  3. Na secção Interfaces de rede, encontre e tome nota do nome da sua interface do Private Service Connect virtual. Por exemplo, nic1.

gcloud

  1. Use o comando gcloud compute instances describe.

    gcloud compute instances describe VM_NAME \
        --zone=ZONE
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM que tem a sua interface do Private Service Connect
    • ZONE: a zona da VM
  2. Na saída do comando, encontre e anote o Google Cloud nome 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.

Configure a gestão automática de interfaces dinâmicas do Private Service Connect

Se estiver a configurar o encaminhamento para uma interface do Private Service Connect dinâmica, ative a gestão automática de interfaces de rede dinâmicas. Só tem de fazer isto uma vez por MV.

Encontre o nome do SO convidado da sua interface do Private Service Connect

Para configurar o encaminhamento, tem de saber o nome do SO convidado da sua interface do Private Service Connect, que é diferente do nome da interface em Google Cloud.

Para encontrar o nome da interface numa VM Debian, faça o seguinte. Para VMs com outros sistemas operativos, consulte a documentação pública do sistema operativo.

  1. Estabeleça ligação à VM da interface do Private Service Connect.
  2. Execute o seguinte comando:

    ip address
    

    Na lista de interfaces de rede, encontre e anote o nome da interface associada ao endereço IP da interface do Private Service Connect. Por exemplo, se o agente convidado do Linux gerir as interfaces de rede da sua VM, os nomes têm 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.

Encontre o endereço IP do gateway da sua interface do Private Service Connect

Para configurar o encaminhamento, tem de saber o endereço IP do gateway predefinido da interface do Private Service Connect.

  1. Estabeleça ligação à VM da interface do Private Service Connect.
  2. Envie um pedido GET a partir da VM da sua interface para o servidor de metadados associado.

    • Para interfaces virtuais do Private Service Connect, envie o seguinte pedido:

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

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

    • Para interfaces dinâmicas do Private Service Connect, envie o seguinte pedido:

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

      Substitua o seguinte:

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

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

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

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

    O resultado do pedido apresenta o endereço IP do gateway.

Adicione rotas para sub-redes de consumidor

Tem de adicionar uma rota ao gateway predefinido da interface do Private Service Connect para cada sub-rede do consumidor que se ligue à interface do Private Service Connect. Isto permite que o tráfego destinado à rede do consumidor flua através da interface do Private Service Connect.

Os passos seguintes descrevem como atualizar temporariamente a tabela de encaminhamento para uma VM que usa o sistema operativo Debian. Para atualizar a tabela permanentemente ou atualizar a rota num sistema operativo diferente, consulte a documentação pública do sistema operativo.

  1. Estabeleça ligação à VM da interface do Private Service Connect.

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

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Substitua o seguinte:

  3. Execute o seguinte comando para remover todas as entradas da tabela de rotas da cache. Isto pode ser necessário se estiver a usar uma instância existente com tabelas de rotas configuradas anteriormente.

    sudo ip route flush cache
    

Use uma interface do Private Service Connect com os VPC Service Controls

Pode usar interfaces do Private Service Connect com os VPC Service Controls. Isto permite que uma rede de VPC do produtor aceda às APIs e aos serviços Google através de uma rede de VPC do consumidor, enquanto a organização do consumidor pode aplicar as vantagens de segurança dos VPC Service Controls.

Pode implementar esta configuração através de uma das seguintes abordagens, descritas nas secções seguintes:

  • Configure o encaminhamento do SO convidado
  • Isolar a interface do Private Service Connect com espaços de nomes de rede ou VRF e, em seguida, configurar o encaminhamento

Configure o encaminhamento do SO convidado

Para usar uma interface do Private Service Connect com os controlos de serviço da VPC, configure o encaminhamento no SO convidado da VM da interface. Direcionar o tráfego destinado a APIs e serviços Google através da sua interface do Private Service Connect.

Os passos seguintes descrevem como atualizar temporariamente a tabela de encaminhamento para uma VM que usa o sistema operativo Debian. Para atualizar a tabela permanentemente ou atualizar a rota num sistema operativo diferente, consulte a documentação pública do sistema operativo.

Para configurar o encaminhamento, faça o seguinte:

  1. Permita a conetividade SSH à VM da interface do Private Service Connect.
  2. Estabeleça ligação à 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 para as APIs e os serviços Google. Por exemplo, para adicionar uma rota para o tráfego para o restricted.googleapis.com IP virtual (VIP), use o seguinte comando, 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 sua interface do Private Service Connect, por exemplo, ens5 ou gcp.ens5.10

  5. Para adicionar uma regra de encaminhamento que usa a tabela de rotas personalizada para pacotes que têm origem na 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 sua interface do Private Service Connect. Pode encontrar o endereço IP da interface descrevendo a VM da interface.

  6. Execute o seguinte comando para remover todas as entradas da tabela de rotas da cache. Isto pode ser necessário se estiver a usar uma instância existente com tabelas de rotas configuradas anteriormente.

    sudo ip route flush cache
    

Isole as interfaces do Private Service Connect com espaços de nomes ou VRF

Em alternativa, pode configurar a VM para usar espaços de nomes de rede ou encaminhamento e reencaminhamento virtuais (VRF) para isolar a interface Private Service Connect. Esta abordagem é útil para cargas de trabalho contentorizadas, como as que são executadas em pods do Google Kubernetes Engine.

Configure o encaminhamento com o mesmo contexto que usou para isolar a interface e certifique-se de que as cargas de trabalho que usam a sua interface do Private Service Connect existem neste mesmo contexto.