O Google Cloud oferece suporte a clientes IPv6 com balanceadores de carga de proxy. O balanceador de carga aceita conexões IPv6 dos usuários e, em seguida, faz proxy dessas conexões para os back-ends.
É possível configurar endereços IP IPv4 e IPv6 (pilha dupla) para os seguintes balanceadores de carga de proxy:
Engenharia de | balanceador de carga de aplicativo | Balanceador de carga de rede de proxy |
---|---|---|
Serviço | Serviço | |
Front-ends de pilha dupla |
global clássico |
global clássico |
Back-ends de pilha dupla |
global1 |
global1 |
1 Oferece suporte a grupos de instâncias IPv4 e
IPv6 (pilha dupla) e back-ends de NEG por zona. Os NEGs zonais oferecem suporte
à pilha dupla apenas em endpoints do tipo GCE_VM_IP_PORT
.
O exemplo a seguir mostra como o balanceamento de carga funciona para clientes IPv6 globais:
O encerramento do IPv6 permite processar as solicitações IPv6 dos usuários e usá-las como proxy em IPv4 ou IPv6 para seus back-ends. Ao usar o IPv6, é possível fazer o seguinte:
Usar apenas um endereço IPv6 anycast para a implantação multirregional. Só é preciso um endereço IPv6 do balanceador de carga para instâncias de aplicativos em execução em várias regiões. Isso significa que o servidor DNS tem apenas um registro AAAA (em inglês) e que não é necessário fazer o balanceamento de carga de vários endereços IPv6. O armazenamento em cache de registros AAAA por clientes não é um problema porque haverá apenas um endereço a ser armazenado. A carga das solicitações de usuários para o endereço IPv6 é automaticamente balanceada e enviada para o back-end íntegro mais próximo com capacidade disponível.
Balancear carga do tráfego de cliente em HTTP, HTTPS, HTTP/2, TCP e SSL/TLS IPv6.
Estourar a capacidade em várias regiões com apenas um endereço do balanceador de carga IPv6. Se os back-ends de uma região estiverem sem recursos ou não íntegros, o balanceador de carga global direcionará automaticamente as solicitações dos usuários para a região mais próxima com recursos disponíveis. Quando a região mais próxima tiver recursos disponíveis, o balanceamento de carga global voltará a ser veiculado nela. O balanceamento de carga global requer o nível Premium dos níveis de serviço de rede.
Execute implantações de pilha dupla. Para atender aos clientes IPv6 e IPv4, crie dois recursos de IP do balanceador de carga, um para IPv6 e outro para IPv4, e associe ambos às mesmas instâncias do aplicativo. Os clientes IPv4 se conectam ao endereço IPv4 enquanto os clientes IPv6 se conectam ao endereço IPv6. Em seguida, a carga desses clientes é balanceada automaticamente e enviada para os back-ends íntegros de pilha dupla IPv4 ou IPv6 com capacidade disponível. Para saber quais balanceadores de carga oferecem suporte a back-ends de pilha dupla, consulte Tabela: serviços de back-end e tipos de back-end com suporte. Nós fornecemos regras de encaminhamento de IPv6 sem cobrança. Assim, você pagará apenas pelas regras de encaminhamento de IPv4.
Término IPv6 e proxy
A configuração da terminação IPv6 para os balanceadores de carga permite que os back-ends apareçam como aplicativos IPv6 para os clientes IPv6, como mostrado na figura a seguir:
Quando um usuário se conecta ao balanceador de carga via IPv6, acontece o seguinte:
- O balanceador de carga, com o endereço IPv6 e a regra de encaminhamento, aguarda as conexões do usuário.
- Um cliente IPv6 se conecta ao balanceador de carga via IPv6.
- O balanceador de carga atua como um proxy reverso e encerra a conexão do cliente IPv6. Com base na política de seleção de endereço IP do serviço de back-end, ele coloca a solicitação em uma conexão IPv4 ou IPv6 com um back-end.
- No caminho inverso, o balanceador de carga recebe a resposta do back-end e, em seguida, coloca-a na conexão IPv6 de volta para o cliente original.
Alocação de endereços IPv6 para regras de encaminhamento do balanceador de carga
Ao configurar um balanceador de carga externo, você fornece uma ou mais regras de encaminhamento globais para ele, cada uma com um endereço IP externo IPv4 ou IPv6 (ou ambos) roteado publicamente. É possível usar esse endereço IP nos registros DNS do seu site.
Ao criar uma regra de encaminhamento, você pode usar um endereço IP estático reservado para seu projeto ou fazer com que a regra de encaminhamento adquira automaticamente um endereço IP temporário durante a criação da regra. Um endereço IP estático é reservado ao seu projeto, e você pode mantê-lo até liberá-lo deliberadamente. Um endereço temporário pertence à regra de encaminhamento enquanto ela existir. Se você excluir a regra de encaminhamento, o endereço temporário será liberado no pool do Google Cloud.
Se você precisa de um endereço IPv4 e IPv6 para seu balanceador de carga, é possível criar duas regras de encaminhamento associando um endereço IPv4 a uma delas e um endereço IPv6 à outra. Em seguida, associe as duas regras ao mesmo balanceador de carga.
Formato de endereço IPv6
O Google Cloud aloca um intervalo de endereços /64 IPv6 para as regras de encaminhamento de IPv6.
A CLI do Google Cloud lista endereços IPv6 com 64 bits menos significativos
definidos como 0, mas o balanceador de carga aceita tráfego no intervalo completo.
Portanto, será possível ver outros endereços IPv6 do balanceador de carga no intervalo
alocado nos cabeçalhos X-Forwarded-For
, dependendo do endereço IP do servidor IPv6 a que o
cliente se conectou.
Ao formatar um endereço IPv6, o Google Cloud segue as recomendações da RFC 5952, seção 4.
Cabeçalho de IP do cliente com terminação IPv6 para balanceadores de carga de aplicativos externos
Quando o balanceador de carga encaminha a conexão IPv6 do cliente via proxy a uma conexão IPv4 do seu back-end, o endereço IP inicial da origem é substituído pelo endereço IP do balanceador de carga. No entanto, muitas vezes o endereço IP original precisa ser conhecido pelos back-ends para geração de registros, tomada de decisões ou outras finalidades. O Google Cloud fornece um cabeçalho HTTP que se propaga para os back-ends e inclui o endereço IP do cliente IPv6 original.
Os cabeçalhos HTTP para IPv6 são semelhantes aos do IPv4. O formato das solicitações é o seguinte:
X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES
O último elemento exibe o endereço IP do balanceador de carga. O penúltimo exibe o endereço
IP do cliente visualizado pelo balanceador de carga. É possível que haja outros
elementos no cabeçalho X-Forwarded-For
quando o cliente ou os proxies
intervenientes adicionarem outros cabeçalhos X-Forwarded-For
antes de enviarem a solicitação ao
balanceador de carga.
Este é um exemplo de cabeçalho X-Forwarded-For
:
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 balanceador de carga de aplicativo externo.
Preços
As regras de encaminhamento para a terminação IPv6 são fornecidas sem custo adicional. Você não é cobrado por endereços IPv6 temporários. Endereços IPv6 reservados são cobrados de acordo com as taxas atuais, estando em uso ou não. Caso contrário, o sistema de preços do balanceamento de carga IPv6 será igual ao preço do balanceamento de carga IPv4. Para detalhes sobre preços de balanceamento de carga, consulte Preços de rede.
Limitações
- O tráfego IPv6 não é suportado com balanceadores de carga de aplicativo externos regionais, balanceadores de carga de aplicativo internos entre regiões, balanceadores de carga de aplicativo internos regionais, balanceadores de carga de rede de proxy interno regional, balanceador de carga de rede de proxy interno entre regiões ou{ 101}Balanceadores de carga de rede de proxy externo regionais.
- Os balanceadores de carga de rede de proxy clássico e os de aplicativo clássicos não são compatíveis com back-ends de pilha dupla. as solicitações são encaminhadas por proxy para back-ends IPv4.