Visão geral do encaminhamento de protocolo

O encaminhamento de protocolo usa uma regra de encaminhamento regional para entregar pacotes de um protocolo específico para uma única instância de máquina virtual (VM). A regra de encaminhamento pode ter um endereço IP interno ou externo. O encaminhamento de protocolo entrega pacotes enquanto preserva o endereço IP de destino da regra de encaminhamento. A regra de encaminhamento faz referência a um objeto chamado instância de destino, que, por sua vez, referencia uma única instância de VM.

Você pode usar o encaminhamento de protocolo para fazer o seguinte:

  • Fornecer um endereço IP que possa ser passado de uma instância para outra alterando a VM referenciada pelo objeto de instância de destino ou pela instância de destino referenciada pela regra de encaminhamento.
  • Encaminhar pacotes para VMs diferentes com base no protocolo e na porta. Duas regras de encaminhamento podem compartilhar o mesmo endereço IP, desde que as informações de porta e de protocolo sejam exclusivas.
  • (Somente encaminhamento de protocolo externo) Defina outros endereços IP externos para uma determinada interface de rede. Ao contrário de uma interface de rede com uma configuração NAT 1:1 para o endereço IPv4 externo, o encaminhamento de protocolo preserva o endereço IP de destino da regra de encaminhamento.
  • Enviar pacotes com endereços IP de origem que correspondem ao endereço IP da regra de encaminhamento.

O encaminhamento de protocolo é diferente de um balanceador de carga de passagem das seguintes maneiras:

  • Sem balanceamento de carga. Uma instância de destino só distribui pacotes para uma única VM.
  • Nenhuma verificação de integridade. Ao contrário de um serviço de back-end, uma instância de destino não é compatível com uma verificação de integridade. Use outros meios para garantir que o software necessário esteja em execução e seja operacional na VM referenciada pela instância de destino.

Arquitetura

O encaminhamento de protocolo usa regras de encaminhamento externo regional ou interno regional e um objeto de instância de destino por zona. A instância de destino e a VM que ela faz referência precisam estar localizadas em uma zona na região da regra de encaminhamento.

  • Encaminhamento de protocolo externo. É possível configurar várias regras de encaminhamento para apontar para uma única instância de destino, o que permite usar vários endereços IP externos com uma instância de VM. Isso pode ser usado nos cenários em que você pode querer exibir dados de apenas uma instância de VM, mas por meio de endereços IP externos diferentes ou de protocolos e portas diferentes. Esse recurso é útil principalmente na configuração da hospedagem virtual SSL. O encaminhamento de protocolo externo pode lidar com conexões de clientes IPv6.

    O encaminhamento de protocolo externo é compatível com os seguintes protocolos: AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP

    O diagrama a seguir mostra um exemplo de arquitetura de encaminhamento de protocolo externo. Para saber como fazer isso, consulte Configurar o encaminhamento de protocolo externo.

    Arquitetura de encaminhamento de protocolo externo.
    Arquitetura de encaminhamento de protocolo externo
  • Encaminhamento de protocolo interno. O encaminhamento de protocolo interno usa um endereço IPv4 interno regional (do intervalo de endereços IPv4 principal de uma sub-rede) ou um endereço IPv6 interno regional (do intervalo de endereços IPv6 de uma sub-rede).

    O encaminhamento de protocolo interno é compatível com os protocolos TCP e UDP.

    O diagrama a seguir mostra um exemplo de arquitetura de encaminhamento de protocolo interno. Para saber como fazer isso, consulte Configurar o encaminhamento de protocolo interno.

    Arquitetura do encaminhamento de protocolo interno.
    Arquitetura do encaminhamento de protocolo interno

    Com o encaminhamento de protocolo interno, é possível alterar o destino de uma regra de encaminhamento para alternar entre uma instância de destino e um serviço de back-end de um balanceador de carga de passagem. Para mais detalhes, consulte Alternar entre uma instância de destino e um serviço de back-end.

Regras de encaminhamento

Cada regra de encaminhamento corresponde a um endereço IP, protocolo e, opcionalmente, informações sobre a porta (se especificadas e se o protocolo for compatível com portas). Quando uma regra de encaminhamento faz referência a uma instância de destino, o Google Cloud encaminha pacotes que correspondem ao endereço, protocolo e especificação de porta da regra de encaminhamento para a VM referenciada pela instância de destino.

  • Encaminhamento de protocolos internos:

    • Suporte ao endereço IPv4: um endereço IPv4 interno regional (reservado estático ou temporário) do intervalo IPv4 principal de uma sub-rede.

    • Suporte a endereços IPv6: a regra de encaminhamento faz referência a um intervalo /96 de endereços IP do intervalo de endereços IPv6 interno /64 da sub-rede. A sub-rede precisa ser uma sub-rede de pilha dupla com o ipv6-access-type definido como INTERNAL. Os endereços IPv6 externos estão disponíveis apenas no nível Premium. A reserva de um endereço IPv6 interno regional é compatível apenas com instâncias. Portanto, use um endereço IPv6 temporário para a regra de encaminhamento.

    • Opções de protocolo: TCP (padrão) e UDP.

    • Opções de especificação de portas: uma lista de até cinco portas contíguas ou não contíguas ou todas as portas.

  • Encaminhamento de protocolo externo:

    • Suporte a endereços IPv4: a regra de encaminhamento faz referência a um único endereço IPv4 externo regional. Os endereços IPv4 externos regionais vêm de um pool exclusivo para cada região do Google Cloud. O endereço IP pode ser um endereço estático reservado ou um endereço temporário.

    • Suporte a endereços IPv6: a regra de encaminhamento faz referência a um intervalo /96 de endereços IP do intervalo de endereços IPv6 externos do /64 da sub-rede. A sub-rede precisa ser uma sub-rede de pilha dupla com o ipv6-access-type definido como EXTERNAL. Os endereços IPv6 externos estão disponíveis apenas no nível Premium. O intervalo de endereços IPv6 pode ser um endereço estático reservado ou um endereço temporário.

    • Opções de protocolo: AH, ESP, ICMP, SCTP e TCP (padrão), UDP e L3_DEFAULT:

      • A configuração do protocolo de regra de encaminhamento L3_DEFAULT pode ser usada para exibir todo o tráfego do protocolo IP.
      • As regras de encaminhamento de IPv6 não são compatíveis com a configuração de protocolo ICMP porque o protocolo ICMP é compatível apenas com endereços IPv4. Para atender ao tráfego ICMPv6 e GRE, defina o protocolo da regra de encaminhamento como L3_DEFAULT.
    • Opções de especificação de porta: um intervalo de portas contíguas ou todas as portas

Considere os seguintes pontos ao trabalhar com regras de encaminhamento:

  • Para encaminhamento de protocolo, uma regra de encaminhamento pode fazer referência apenas a uma única instância de destino.

  • Para balanceadores de carga de rede de passagem interna e de back-end com base em serviço de back-end, uma regra de encaminhamento só pode referenciar um único serviço de back-end.

  • É possível alternar entre o encaminhamento de protocolo interno e um balanceador de carga de rede de passagem interno sem excluir e recriar a regra de encaminhamento. Para alternar entre o encaminhamento de protocolo externo e um balanceador de carga de rede de passagem externo baseado em serviço de back-end, é necessário excluir e recriar a regra de encaminhamento. Para mais detalhes, consulte Alternar entre uma instância de destino e um serviço de back-end.

  • As informações da porta só podem ser especificadas para protocolos que tenham um conceito de porta: TCP, UDP ou SCTP.

  • A opção de protocolo L3_DEFAULT encaminha todos os protocolos AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP. Para os protocolos TCP, UDP e SCTP, L3_DEFAULT encaminha todas as portas.

  • Se você espera pacotes UDP fragmentados, realize uma das ações a seguir para garantir que todos os fragmentos, incluindo aqueles sem informações de porta, sejam entregues à instância:

    • Use uma regra de encaminhamento L3_DEFAULT ou
    • Use uma única regra de encaminhamento UDP configurada para encaminhar todas as portas.

Instâncias de destino

Uma instância de destino é um recurso zonal que faz referência a uma instância de VM na mesma zona. A regra de encaminhamento que faz referência à instância de destino precisa estar na região que contém a zona da instância de destino. Como uma instância de destino não tem uma política do Cloud NAT aplicada a ela, ela pode ser usada para o tráfego IPsec que não pode transferir NAT.

Suporte a várias NICs

Uma instância de destino oferece suporte à especificação da interface de rede (NIC, na sigla em inglês) da instância de VM a que ela faz referência. Use a sinalização --network para especificar o nome de uma rede VPC em que a VM referenciada tem uma NIC:

  • Se você omitir a sinalização --network, a instância de destino vai entregar pacotes à interface nic0 da VM a que ela se refere.
  • Se você usar a sinalização --network, a VM a que a instância de destino faz referência precisará ter uma NIC nessa rede VPC.
  • Para o encaminhamento de protocolo interno, a sub-rede usada pela regra de encaminhamento precisa estar localizada na rede VPC usada pela interface de rede da instância de destino.

Suporte ao IPv6

Para que a implantação de encaminhamento de protocolo externo ofereça suporte ao tráfego IPv6, a instância de VM precisa ser configurada em uma sub-rede de pilha dupla que esteja na mesma região da regra de encaminhamento IPv6. É possível usar uma sub-rede com ipv6-access-type definido como EXTERNAL ou INTERNAL para a instância de VM. Para usar uma sub-rede com ipv6-access-type definido como INTERNAL, é necessário usar uma sub-rede de pilha dupla separada, com ipv6-access-type definido como EXTERNAL para a regra de encaminhamento externa. Para ver instruções, consulte Adicionar uma sub-rede de pilha dupla.

Além disso, a própria instância de VM precisa ser uma instância de pilha dupla. Defina o stack-type da VM como IPv4_IPv6. A VM herda a configuração ipv6-access-type (EXTERNAL ou INTERNAL) da sub-rede. Para instruções, consulte Criar uma VM e ativar o IPv6. Se você quiser usar uma VM existente, atualize-a para ser uma pilha dupla usando o comando gcloud compute instances network-interfaces update.

Endereços IP para pacotes de solicitação e retorno

Quando uma instância de destino recebe um pacote de um cliente, os endereços IP de origem e destino do pacote de solicitação são mostrados nesta tabela.

Tabela 1. Endereços IP de origem e destino para pacotes de solicitação
Tipo de encaminhamento de protocolo Endereço IP de origem Endereço IP de destino
encaminhamento de protocolo externo O endereço IP externo associado a uma VM do Google Cloud ou um endereço IP externo de um cliente na Internet. O endereço IP da regra de encaminhamento.
Encaminhamento de protocolos internos O endereço IP interno de um cliente; para clientes do Google Cloud, o endereço IPv4 interno principal ou um endereço IPv6 de um intervalo de IP de alias de uma interface de rede de uma VM. O endereço IP da regra de encaminhamento.

O software em execução nas VMs da instância de destino precisa ser configurado para fazer o seguinte:

  • Detectar (vincular) o endereço IP da regra de encaminhamento ou qualquer endereço IP (0.0.0.0 ou ::).
  • Se o protocolo da regra de encaminhamento for compatível com portas, detectar (vincular) uma porta incluída na regra de encaminhamento.

Os pacotes de retorno são enviados diretamente da instância de destino para o cliente. Os endereços IP de origem e de destino do pacote de retorno dependem do protocolo:

  • O TCP é orientado por conexão. As instâncias de destino precisam responder com pacotes que tenham endereços IP de origem que correspondam ao endereço IP da regra de encaminhamento. Isso garante que o cliente possa associar os pacotes de resposta à conexão TCP adequada.
  • AH, ESP, GRE, ICMP, ICMPv6 e UDP não têm conexão. As instâncias de destino podem enviar pacotes de resposta com endereços IP de origem que correspondam ao endereço IP da regra de encaminhamento ou a qualquer endereço IP atribuído à NIC da VM na mesma rede VPC que a regra de encaminhamento. Na prática, a maioria dos clientes espera que a resposta seja do mesmo endereço IP que enviou os pacotes.

Nesta tabela, há um resumo das origens e dos destinos dos pacotes de resposta:

Tabela 2. Endereços IP de origem e destino para pacotes de retorno
Tipo de tráfego Endereço IP de origem Endereço IP de destino
TCP O endereço IP da regra de encaminhamento. O endereço IP de origem do pacote de solicitação.
AH, ESP, GRE, ICMP, ICMPv6 e UDP* Na maioria dos casos de uso, o endereço IP da regra de encaminhamento. O endereço IP de origem do pacote de solicitação.

* AH, ESP, GRE, ICMP e ICMPv6 são compatíveis apenas com o encaminhamento de protocolo externo.

Com o encaminhamento de protocolo interno, é possível definir a origem do pacote de resposta como o endereço IPv4 principal interno da NIC da VM ou um endereço IPv6 ou um intervalo de endereços IP do alias. Se a VM estiver com o encaminhamento de IP ativado, origens de endereço IP arbitrárias também poderão ser usadas. Não usar o endereço IP da regra de encaminhamento como uma origem é um cenário avançado, porque o cliente recebe um pacote de resposta de um endereço IP interno que não corresponde ao endereço IP a que ele enviou um pacote de solicitação.

Conectividade de saída com a Internet de instâncias de destino

As instâncias de VM referenciadas por instâncias de destino podem iniciar conexões com a Internet usando o endereço IP da regra de encaminhamento associada como o endereço IP de origem da conexão de saída.

Geralmente, uma instância de VM sempre usa o próprio endereço IP externo ou o Cloud NAT para iniciar conexões. Você usa o endereço IP da regra de encaminhamento para iniciar conexões de instâncias de destino apenas em cenários especiais, como quando você precisa que instâncias de VM originem e recebam conexões no mesmo endereço IP externo.

Os pacotes de saída enviados de VMs de instância de destino diretamente para a Internet não têm restrições em relação a protocolos e portas de tráfego. Mesmo que um pacote de saída esteja usando o endereço IP da regra de encaminhamento como origem, o protocolo e a porta de origem do pacote não precisam corresponder ao protocolo e à especificação da porta da regra de encaminhamento. No entanto, os pacotes de resposta de entrada precisam corresponder ao endereço IP, ao protocolo e à porta de destino da regra de encaminhamento. Para mais informações, consulte Caminhos para balanceadores de carga de rede de passagem externa e encaminhamento de protocolo externo.

Esse caminho para a conectividade de Internet de uma VM de instância de destino é o comportamento padrão pretendido de acordo com as regras implícitas de firewall do Google Cloud. No entanto, se você tiver preocupações de segurança sobre deixar esse caminho aberto, use regras de firewall de saída direcionadas para bloquear o tráfego de saída não solicitado para a Internet.

Limitações

  • Uma regra de encaminhamento não pode apontar para mais de uma instância de destino.
  • As verificações de integridade não são compatíveis com instâncias de destino. Verifique se o software necessário está em execução e operacional na VM referenciada pela instância de destino.
  • O encaminhamento de protocolo interno para o tráfego IPv6 tem as seguintes limitações:
    • O protocolo L3_DEFAULT não é suportado. Use TCP ou UDP.
    • Não há suporte para várias NICs.

Referência da API e da gcloud

Para regras de encaminhamento, consulte:

Para instâncias de destino, consulte:

Preços

A taxa de encaminhamento do protocolo é cobrada da mesma forma que o balanceamento de carga. Há uma cobrança para a regra de encaminhamento e outra para os dados de entrada processados pela instância de destino.

Para todas as informações de preços, consulte Preços.

Cotas e limites

Para ver as cotas de regras de encaminhamento de encaminhamento de protocolos, consulte Cotas e limites: regras de encaminhamento.

A seguir