Este documento mostra como o tráfego IPv6 é processado pelos balanceadores de carga de aplicações e pelos balanceadores de carga de rede de proxy. Estes balanceadores de carga são balanceadores de carga de proxy, o que significa que as ligações de clientes recebidas são terminadas no balanceador de carga. Em seguida, o balanceador de carga inicia uma nova ligação para encaminhar o pedido do cliente para o back-end. Consoante o tipo de equilibrador de carga, pode ativar o IPv6 para uma ou ambas as seguintes ligações.
A ativação do IPv6 para o balanceador de carga tem as seguintes vantagens:
- Use um único endereço IPv6 de anycast para implementações em várias regiões. Só precisa de um endereço IPv6 do balanceador de carga para instâncias de aplicações em execução em várias regiões. Isto significa que o seu servidor DNS tem um único registo AAAA e que não precisa de equilibrar a carga entre vários endereços IPv6. A colocação em cache de registos AAAA por parte dos clientes não é um problema porque só existe um endereço para colocar em cache. Os pedidos de utilizadores para o endereço IPv6 são automaticamente equilibrados para o back-end saudável mais próximo com capacidade disponível.
Execute implementações de pilha dupla. Para publicar clientes IPv6 e IPv4, crie dois endereços IP do equilibrador de carga: um para IPv6 e outro para IPv4. Os clientes IPv4 ligam-se ao endereço IPv4, enquanto os clientes IPv6 se ligam ao endereço IPv6. Em seguida, estes clientes são automaticamente equilibrados em termos de carga para os back-ends de pilha dupla IPv4 ou IPv6 íntegros mais próximos com capacidade disponível. Para ver que balanceadores de carga suportam back-ends de pilha dupla, consulte a Tabela: serviços de back-end e tipos de back-end suportados.
Equilibre a carga do tráfego de clientes IPv6 HTTP, HTTPS, HTTP/2, TCP e SSL/TLS. O suporte de protocolos depende do tipo de equilibrador de carga que está a usar e do protocolo da regra de encaminhamento.
- Transborde entre regiões com um único endereço do balanceador de carga IPv6. Se os back-ends numa região estiverem sem recursos ou em mau estado, o balanceador de carga global encaminha automaticamente os pedidos dos utilizadores para a região mais próxima seguinte com recursos disponíveis. Quando a região mais próxima tiver recursos disponíveis, o balanceamento de carga global reverte para o serviço desta região. O balanceamento de carga global requer que use o nível Premium dos níveis de serviço de rede.
Apoio técnico do balanceador de carga
Para balanceadores de carga baseados em proxy, como os balanceadores de carga de aplicações e os balanceadores de carga de rede de proxy, a ligação do cliente ao balanceador de carga e a segunda ligação do balanceador de carga ao back-end podem ser configuradas independentemente umas das outras. Por exemplo, o balanceador de carga pode aceitar tráfego IPv4 de um cliente, terminar a ligação e, em seguida, encaminhar o pedido do balanceador de carga para o back-end através de uma nova ligação IPv6, desde que o back-end seja um back-end de pilha dupla equipado para processar ligações IPv6.
Para permitir que um balanceador de carga receba ligações IPv6 de clientes, tem de usar um endereço IPv6 para a regra de encaminhamento do balanceador de carga. A ligação subsequente do equilibrador de carga ao back-end usa o IPv4 por predefinição. No entanto, pode ativar determinados equilibradores de carga para usar o IPv6 configurando a opção Política de seleção de endereços IP no serviço de back-end.
A tabela seguinte descreve os tipos de ligação suportados por todos os balanceadores de carga baseados em proxy:
Balanceador de carga | Ligação de clientes ao balanceador de carga | Ligação do balanceador de carga aos back-ends |
---|---|---|
Balanceador de carga de aplicações externo global Balanceador de carga de rede de proxy externo global |
As ligações IPv4 e IPv6 podem ser terminadas. | Uma das seguintes opções:
|
Balanceador de carga de aplicações clássico Balanceador de carga de rede de proxy clássico |
As ligações IPv4 e IPv6 podem ser terminadas. | Apenas ligação IPv4 |
Balanceador de carga de aplicações externo regional Balanceador de carga de rede de proxy externo regional Balanceador de carga de aplicações interno regional Balanceador de carga de rede de proxy interno regional Balanceador de carga de aplicações interno entre regiões Balanceador de carga de rede de proxy interno entre regiões |
Apenas IPv4. O tráfego IPv6 não é suportado. | Uma das seguintes opções:
|
GCE_VM_IP_PORT
pontos finais) para serem duais.
Como funciona a terminação IPv6
A terminação IPv6 é suportada pelos balanceadores de carga de aplicações globais e clássicos, bem como pelos balanceadores de carga de rede de proxy. A configuração da terminação IPv6 para estes equilibradores de carga permite que os seus back-ends apareçam como aplicações IPv6 aos seus clientes IPv6, conforme mostrado na figura seguinte:
Quando um utilizador se liga ao equilibrador de carga através do IPv6, ocorre o seguinte:
- O seu equilibrador de carga, com o respetivo endereço IPv6 e regra de encaminhamento, aguarda ligações de utilizadores.
- Um cliente IPv6 estabelece ligação ao equilibrador de carga através do IPv6.
- O balanceador de carga atua como um proxy inverso e termina a ligação do cliente IPv6. Com base na política de seleção de endereços IP do serviço de back-end, coloca o pedido numa ligação IPv4 ou IPv6 a um back-end.
- No caminho inverso, o equilibrador de carga recebe a resposta do backend e, em seguida, coloca-a na ligação IPv6 de volta ao cliente original.
Atribuição de endereços IPv6 para regras de encaminhamento do balanceador de carga
Quando configura um equilibrador de carga externo, fornece-lhe uma ou mais regras de encaminhamento, cada uma com um endereço IP IPv4 ou IPv6 (ou ambos) externo e encaminhado publicamente. Pode usar este endereço IP nos registos DNS do seu site.
Quando cria uma regra de encaminhamento, pode usar um endereço IP estático reservado para o seu projeto ou fazer com que a regra de encaminhamento adquira automaticamente um endereço IP efémero quando cria a regra. Um endereço IP estático é reservado para o seu projeto e pode mantê-lo até o libertar deliberadamente. Um endereço efémero pertence à regra de encaminhamento enquanto a regra de encaminhamento existir. Se eliminar a regra de encaminhamento, o endereço efémero é libertado novamente para o conjunto Google Cloud .
Se precisar de um endereço IPv4 e IPv6 para o seu balanceador de carga, pode criar duas regras de encaminhamento, associando um endereço IPv4 a uma e um endereço IPv6 à outra. Em seguida, pode associar ambas as regras ao mesmo equilibrador de carga.
Formato de endereço IPv6
Google Cloud Atribui um intervalo de endereços IPv6 a regras de encaminhamento IPv6./64
A CLI Google Cloud lista endereços IPv6 com os 64 bits menos significativos definidos como 0, mas o balanceador de carga aceita tráfego no intervalo completo.
Por conseguinte, pode ver outros endereços IPv6 do equilibrador de carga no intervalo atribuído nos cabeçalhos X-Forwarded-For
, consoante o endereço IP do servidor IPv6 ao qual o cliente se ligou.
Ao formatar um endereço IPv6, Google Cloud segue as recomendações na RFC 5952,secção 4.
Cabeçalho IP do cliente com terminação IPv6 para balanceadores de carga de aplicações externos
Quando o balanceador de carga encaminha a ligação IPv6 do cliente para uma ligação IPv4 ao seu back-end, o endereço IP de origem original é substituído pelo endereço IP do balanceador de carga. No entanto, os backends precisam frequentemente de saber o endereço IP de origem original para registo, tomada de decisões ou outros fins. OGoogle Cloud fornece um cabeçalho HTTP que é propagado para os backends que inclui o endereço IP do cliente IPv6 original.
Os cabeçalhos HTTP para IPv6 são semelhantes aos do IPv4. O formato dos pedidos é o seguinte:
X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES
O último elemento mostra o endereço IP do equilibrador de carga. O penúltimo elemento mostra o endereço IP do cliente, tal como é visto pelo equilibrador de carga. Podem existir outros elementos no cabeçalho X-Forwarded-For
quando o cliente ou os proxies intervenientes adicionam outros cabeçalhos X-Forwarded-For
antes de enviar o pedido ao equilibrador de carga.
Um exemplo de um cabeçalho X-Forwarded-For
pode ter o seguinte aspeto:
X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e
2001:db8:abcd:1::1234
é o endereço IPv6 do cliente. 2607:f8b0:4005:801::200e
é o endereço IPv6 do Application Load Balancer externo.
Converta de apenas IPv4 para pilha dupla
Pode converter recursos do balanceador de carga que usam apenas IPv4 (pilha única) em IPv4 e IPv6 (pilha dupla). Ao atualizar os recursos do balanceador de carga, pode encaminhar automaticamente o tráfego IPv6 para os seus back-ends.
Para obter instruções sobre como converter os recursos do equilibrador de carga e os back-ends em pilha dupla, consulte a seguinte documentação:
Balanceador de carga | Documentação |
---|---|
Balanceador de carga de aplicações externo global Balanceador de carga de aplicações interno entre regiões Balanceador de carga de aplicações externo regional Balanceador de carga de aplicações interno regional |
Converta o balanceador de carga de aplicações para IPv6 |
Balanceador de carga de rede de proxy externo global Balanceador de carga de rede de proxy interno entre regiões Balanceador de carga de rede de proxy externo regional Balanceador de carga de rede de proxy interno regional |
Converta o balanceador de carga de rede de proxy para IPv6 |
Preços
As regras de encaminhamento para a terminação IPv6 são fornecidas sem custos adicionais. Não lhe são cobrados endereços IPv6 efémeros. Os endereços IPv6 reservados são cobrados às taxas existentes, independentemente de estarem ou não em utilização. Caso contrário, os preços do equilíbrio de carga IPv6 são os mesmos que os preços do equilíbrio de carga IPv4. Para ver detalhes dos preços do balanceamento de carga, consulte a secção Preços de rede.
Limitações
- Os balanceadores de carga de rede de proxy clássicos e os balanceadores de carga de aplicações clássicos não suportam back-ends de pilha dupla. O tráfego IPv6 é terminado pelo balanceador de carga e, em seguida, encaminhado por proxy através de uma ligação IPv4 para os back-ends.
Os balanceadores de carga de aplicações externos regionais, os balanceadores de carga de aplicações internos regionais, os balanceadores de carga de rede de proxy internos regionais, os balanceadores de carga de rede de proxy internos entre regiões, os balanceadores de carga de aplicações internos entre regiões e os balanceadores de carga de rede de proxy externos regionais não suportam front-ends IPv6. O tráfego IPv4 de entrada é encaminhado por proxy através de uma ligação IPv4 ou IPv6 para os back-ends IPv4 e IPv6 (de pilha dupla).
Apenas os back-ends do grupo de instâncias de VMs e o grupo de pontos finais de rede (NEG) zonais com
GCE_VM_IP_PORT
pontos finais suportam back-ends de pilha dupla (IPv4 e IPv6).