O encaminhamento de protocolos usa uma regra de encaminhamento regional para entregar pacotes de um protocolo específico a 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 protocolos envia pacotes preservando o endereço IP de destino da regra de encaminhamento. A regra de encaminhamento faz referência a um objeto denominado instância de destino, que, por sua vez, faz referência a uma única instância de VM.
Pode usar o encaminhamento de protocolos para fazer o seguinte:
- Forneça um endereço IP que possa ser movido de uma instância para outra através da alteração da VM referenciada pelo objeto de instância de destino ou da alteração da 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 partilhar o mesmo endereço IP, desde que as respetivas informações de porta e protocolo sejam únicas.
- (Apenas encaminhamento de protocolos externos) Defina endereços IP externos adicionais para uma determinada interface de rede. Ao contrário de uma interface de rede com uma configuração de NAT 1:1 para o respetivo endereço IPv4 externo, o encaminhamento de protocolos preserva o endereço IP de destino da regra de encaminhamento.
- Enviar pacotes cujos endereços IP de origem correspondam ao endereço IP da regra de encaminhamento.
O encaminhamento de protocolos é diferente de um equilibrador de carga de passagem das seguintes formas:
- Sem balanceamento de carga. Uma instância de destino só distribui pacotes a uma única VM.
- Sem verificação de funcionamento. Ao contrário de um serviço de back-end, uma instância de destino não suporta uma verificação de estado. Tem de usar outros meios para garantir que o software necessário está em execução e operacional na VM referenciada pela instância de destino.
Arquitetura
O encaminhamento de protocolos usa regras de encaminhamento externas regionais ou internas regionais e um objeto de instância de destino zonal. A instância de destino e a VM à qual faz referência têm de estar localizadas numa zona na região da regra de encaminhamento.
Encaminhamento de protocolo externo. Pode configurar várias regras de encaminhamento para apontar para uma única instância de destino, o que lhe permite usar vários endereços IP externos com uma instância de VM. Pode usar esta opção em cenários em que queira publicar dados a partir de apenas uma instância de VM, mas através de diferentes endereços IP externos ou diferentes protocolos e portas. Isto é especialmente útil para configurar o alojamento virtual SSL. O encaminhamento de protocolos externos pode processar ligações de clientes IPv6.
O encaminhamento de protocolos externos suporta os seguintes protocolos: AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP
O diagrama seguinte mostra um exemplo de uma arquitetura de encaminhamento de protocolos externos. Para saber como configurar esta opção, consulte o artigo Configure o encaminhamento de protocolo externo.
Arquitetura de encaminhamento de protocolos externos (clique para aumentar). Encaminhamento de protocolos internos. O encaminhamento de protocolos interno usa um endereço IPv4 interno regional (do intervalo de endereços IPv4 principal de uma sub-rede) ou um intervalo de endereços IPv6 interno regional (do intervalo de endereços IPv6 de uma sub-rede).
O encaminhamento de protocolos internos suporta os protocolos TCP e UDP.
O diagrama seguinte mostra um exemplo de uma arquitetura de encaminhamento de protocolos internos. Para saber como configurar esta opção, consulte o artigo Configure o encaminhamento de protocolo interno.
Arquitetura de encaminhamento de protocolos internos (clique para aumentar). Com o encaminhamento de protocolos interno, pode 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 equilibrador de carga de passagem. Para ver detalhes, consulte o artigo Alternar entre uma instância de destino e um serviço de back-end.
Regras de encaminhamento
Cada regra de encaminhamento estabelece correspondência com um endereço IP, um protocolo e, opcionalmente, informações de porta (se especificadas e se o protocolo suportar portas). Quando uma regra de encaminhamento faz referência a uma instância de destino, Google Cloud encaminha pacotes que correspondem à especificação de endereço, protocolo e porta da regra de encaminhamento para a VM referenciada pela instância de destino.
Encaminhamento de protocolos internos:
Suporte de endereços IPv4. Um endereço IPv4 interno regional (estático reservado ou efémero) do intervalo IPv4 principal de uma sub-rede.
Suporte de endereços IPv6. A regra de encaminhamento faz referência a um intervalo de endereços IP do intervalo de endereços IPv6 internos da sub-rede.
/96
/64
A sub-rede tem de ser uma das seguintes opções:- Uma sub-rede de pilha dupla (IPv4 e IPv6)
- Uma sub-rede de pilha única (apenas IPv6)
A definição
ipv6-access-type
da sub-rede tem de estar definida comoINTERNAL
.Os endereços IPv6 internos só estão disponíveis no nível Premium. O intervalo de endereços IPv6 pode ser um endereço estático reservado ou um endereço efémero.
Opções de protocolo.
TCP
(predefiniçã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 protocolos externos:
Suporte de endereços IPv4. A regra de encaminhamento faz referência a um único endereço IPv4 externo regional. Os endereços IPv4 externos regionais provêm de um conjunto exclusivo de cada Google Cloud região. O endereço IP pode ser um endereço estático reservado ou um endereço efémero.
Suporte de endereços IPv6. A regra de encaminhamento faz referência a um intervalo de endereços IP do intervalo de endereços IPv6 externos da sub-rede.
/96
/64
A sub-rede tem de ser uma das seguintes opções:- Uma sub-rede de pilha dupla (IPv4 e IPv6)
- Uma sub-rede de pilha única (apenas IPv6)
A sub-rede
ipv6-access-type
tem de ser definida comoEXTERNAL
.Os endereços IPv6 externos só estão disponíveis no nível Premium. O intervalo de endereços IPv6 pode ser um endereço estático reservado ou um endereço efémero.
Opções de protocolo.
AH
,ESP
,ICMP
,SCTP
,TCP
(predefinição),UDP
eL3_DEFAULT
:- A opção de protocolo da regra de encaminhamento
L3_DEFAULT
encaminha todo o tráfego AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP e UDP. Para os protocolos TCP, UDP e SCTP, oL3_DEFAULT
também encaminha todas as portas. - As regras de encaminhamento IPv6 não suportam a definição do protocolo
ICMP
porque o protocolo ICMP só suporta endereços IPv4. Para publicar tráfego ICMPv6 e GRE, defina o protocolo da regra de encaminhamento comoL3_DEFAULT
.
- A opção de protocolo da regra de encaminhamento
Opções de especificação de portas. Um intervalo de portas contíguo ou todas as portas.
Tenha em atenção os seguintes pontos quando trabalhar com regras de encaminhamento:
Para o encaminhamento de protocolos, uma regra de encaminhamento só pode fazer referência a uma única instância de destino.
Para balanceadores de carga de rede de encaminhamento interno e balanceadores de carga de rede de encaminhamento externo baseados em serviços de back-end, uma regra de encaminhamento só pode fazer referência a um único serviço de back-end.
Pode alternar entre o encaminhamento de protocolos interno e um Network Load Balancer de passagem interno sem eliminar e recriar a regra de encaminhamento. Para alternar entre o encaminhamento de protocolos externos e um Network Load Balancer de passagem externo baseado num serviço de back-end, tem de eliminar e recriar a regra de encaminhamento. Para mais detalhes, consulte o artigo Alterne 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
.Se esperar pacotes UDP fragmentados, faça uma das seguintes ações para garantir que todos os fragmentos (incluindo os que não têm informações de porta) são entregues à instância:
- Use uma única regra de reencaminhamento
L3_DEFAULT
ou - Use uma única regra de encaminhamento
UDP
configurada para encaminhar todas as portas.
- Use uma única regra de reencaminhamento
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 tem de estar na região que contém a zona da instância de destino. Uma vez que não tem uma política de Cloud NAT aplicada, uma instância de destino pode ser usada para tráfego IPsec que não pode atravessar a NAT.
Suporte de várias NICs
O encaminhamento de protocolos que usa instâncias de destino suporta instâncias de VM com interfaces de rede nic0
não (vNICs ouinterfaces de rede dinâmicas) através da utilização da flag --network
quando cria a instância de destino:
- Se omitir a flag
--network
quando criar uma instância de destino, oGoogle Cloud envia pacotes para a interfacenic0
da VM referenciada. - Se incluir a flag
--network
quando cria uma instância de destino, Google Cloud envia pacotes para a NIC da VM referenciada que está na rede VPC especificada pela flag--network
. Consequentemente, a VM referenciada tem de ter uma NIC na rede VPC especificada pela flag--network
. - O encaminhamento de protocolos interno e o encaminhamento de protocolos externo IPv6 têm o seguinte requisito adicional porque as respetivas regras de encaminhamento usam sub-redes: quando configurar uma regra de encaminhamento para referenciar uma instância de destino, a regra de encaminhamento tem de usar uma sub-rede da rede VPC da instância de destino. A regra de encaminhamento e a instância de destino não podem usar redes VPC diferentes, mesmo que essas redes estejam ligadas de alguma forma.
Suporte de IPv6 para instâncias de VM
Se quiser que a implementação do encaminhamento de protocolos suporte tráfego IPv6, a instância de VM tem de ser configurada num dual-stack ou numa sub-rede IPv6 apenas de single-stack que esteja na mesma região que a regra de encaminhamento IPv6.
Tenha em atenção que, embora seja possível criar instâncias apenas IPv6 em sub-redes de pilha dupla e apenas IPv6, não é possível criar VMs de pilha dupla em sub-redes apenas IPv6.
A instância de VM pode ser criada numa sub-rede com o ipv6-access-type
definido como EXTERNAL
ou INTERNAL
. A VM herda a definição ipv6-access-type
(EXTERNAL
ou INTERNAL
) da sub-rede.
Para ver instruções, consulte o artigo Crie uma instância que use endereços IPv6. Se quiser usar uma VM existente, pode atualizá-la para ser de pilha dupla através do comando gcloud compute instances network-interfaces update
.
A atualização de VMs existentes para apenas IPv6 não é suportada.
Endereços IP para pacotes de pedidos e de retorno
Quando uma instância de destino recebe um pacote de um cliente, os endereços IP de origem e de destino do pacote de pedido são os apresentados nesta tabela.
Tipo de encaminhamento de protocolo | Endereço IP de origem | Endereço IP de destino |
---|---|---|
Encaminhamento de protocolos externos | O endereço IP externo associado a uma Google Cloud VM ou a 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 Google Cloud clientes, o endereço IPv4 ou IPv6 interno principal ou um endereço IPv4 de um intervalo de IP de alias da interface de rede de uma VM. | O endereço IP da regra de encaminhamento. |
O software executado nas VMs da instância de destino deve ser configurado para fazer o seguinte:
- Ouvir (associar a) 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 suportar portas, ouça (associe-se a) 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 destino do pacote de resposta dependem do protocolo:
- O TCP é orientado para a ligação. As instâncias de destino têm de responder com pacotes que tenham endereços IP de origem que correspondam ao endereço IP da regra de encaminhamento. Isto garante que o cliente pode associar os pacotes de resposta à ligação TCP adequada.
- AH, ESP, GRE, ICMP, ICMPv6 e UDP não têm ligaçã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 proveniente do mesmo endereço IP para o qual enviaram pacotes.
A tabela seguinte resume as origens e os destinos dos pacotes de devolução:
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 pedido. |
AH, ESP, GRE, ICMP, ICMPv6 e UDP1 | Para a maioria dos exemplos de utilização, o endereço IP da regra de encaminhamento.2 | O endereço IP de origem do pacote de pedido. |
1 AH, ESP, GRE, ICMP e ICMPv6 só são suportados com o encaminhamento de protocolos externos.
2 Com o encaminhamento de protocolos internos, é possível definir a origem do pacote de resposta para o endereço IPv4 interno principal ou o endereço IPv6 da NIC da VM, ou um intervalo de endereços IP de alias. Se a VM tiver o encaminhamento de IP ativado, também é possível usar origens de endereços IP arbitrárias. Não usar o endereço IP da regra de encaminhamento como 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 para o qual enviou um pacote de pedido.
Conetividade de Internet de saída a partir de instâncias de destino
As instâncias de VM referenciadas por instâncias de destino podem iniciar ligações à Internet através do endereço IP da regra de encaminhamento associada como o endereço IP de origem da ligação de saída.
Geralmente, uma instância de VM usa sempre o seu próprio endereço IP externo ou o Cloud NAT para iniciar ligações. Usa o endereço IP da regra de encaminhamento para iniciar ligações a partir de instâncias de destino apenas em cenários especiais, como quando precisa que as instâncias de VM originem e recebam ligações no mesmo endereço IP externo.
Os pacotes de saída enviados das VMs da instância de destino diretamente para a Internet não têm restrições nos protocolos e nas portas de tráfego. Mesmo que um pacote de saída use o endereço IP da regra de encaminhamento como origem, o protocolo e a porta de origem do pacote não têm de corresponder ao protocolo e à especificação da porta da regra de encaminhamento. No entanto, os pacotes de resposta de entrada têm de 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 encaminhamento direto externos e encaminhamento de protocolos externos.
Este caminho para a conetividade à Internet a partir de uma VM de instância de destino é o comportamento pretendido predefinido de acordo com as regras de firewall implícitas do Google Cloud. No entanto, se tiver preocupações de segurança sobre deixar este caminho aberto, pode usar regras de firewall de saída segmentadas 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 do que uma instância de destino.
- As verificações de estado não são suportadas com instâncias de destino. Tem de garantir que o software necessário está em execução e operacional na VM referenciada pela instância de destino.
- O encaminhamento de protocolos internos para tráfego IPv6 não suporta o protocolo
L3_DEFAULT
. UseTCP
ouUDP
.
Referência da API e da gcloud
Para regras de encaminhamento, consulte o seguinte:
Para instâncias de destino, consulte o seguinte:
Preços
O encaminhamento de protocolos é cobrado à mesma taxa que o balanceamento de carga. Existe um custo para a regra de encaminhamento e um custo para os dados recebidos processados pela instância de destino.
Para ver todas as informações de preços, consulte a secção Preços.
Quotas e limites
Para as quotas das regras de encaminhamento para o encaminhamento de protocolos, consulte o artigo Quotas e limites: regras de encaminhamento.