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
No Google Cloud console, acesse a página Instâncias de VM:
Clique no nome da VM que tem a interface do Private Service Connect.
Na seção Interfaces de rede, encontre e anote o nome da interface virtual do Private Service Connect, por exemplo,
nic1
.
gcloud
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
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
ounic1
. - Para interfaces dinâmicas do Private Service Connect, o nome tem o formato
nic[parent_interface_number.VLAN_ID]
. Por exemplo,nic0.10
ounic1.42
.
- Para interfaces virtuais do Private Service Connect, o nome tem o formato
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.
- Conecte-se à VM da interface do Private Service Connect.
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
.
- Interfaces virtuais do Private Service Connect:
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.
- Conecte-se à VM da interface do Private Service Connect.
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 fornic1
, use um valor de1
.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 ConnectPor exemplo, se o Google Cloud nome da interface do Private Service Connect for
nic1.5
, use um valor de1
.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 de5
.
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.
Conecte-se à VM da interface do Private Service Connect.
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:
CONSUMER_SUBNET_RANGE
: o intervalo de endereços IP da sub-rede do consumidor.GATEWAY_IP
: o endereço IP do gateway padrão para a sub-rede da interface.OS_INTERFACE_NAME
: o nome do SO convidado da interface do Private Service Connect. Por exemplo,ens5
ougcp.ens5.10
.
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:
- Permita a conectividade SSH com a VM da interface do Private Service Connect.
- Conecte-se à VM.
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.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
ougcp.ens5.10
.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.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.