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.
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.
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 oipv6-access-type
definido comoINTERNAL
. 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) eUDP
.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 oipv6-access-type
definido comoEXTERNAL
. 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
eTCP
(padrão),UDP
eL3_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 comoL3_DEFAULT
.
- A configuração do protocolo de regra de encaminhamento
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
ouSCTP
.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.
- Use uma regra de encaminhamento
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 à interfacenic0
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.
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:
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.
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. UseTCP
ouUDP
. - Não há suporte para várias NICs.
- O protocolo
Referência da API e da gcloud
Para regras de encaminhamento, consulte:
- gcloud compute forwarding-rules (em inglês)
- Recurso REST: forwardingRules (em inglês)
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.