Terminação IPv6 para balanceamento de carga HTTP(S), proxy SSL e proxy TCP | Documentação do Compute Engine | Google Cloud
O Google Cloud Platform (GCP) aceita clientes IPv6 com balanceamento de carga HTTP(S), proxy SSL e proxy TCP. O balanceador de carga aceita conexões IPv6 dos usuários e, em seguida, encaminha essas conexões para suas instâncias por meio de proxy.
Você pode configurar os endereços externos IPv4 e IPv6 para HTTP(S), proxy SSL e balanceadores de carga do proxy TCP.
A terminação IPv6 para balanceamento de carga de HTTP(S), proxy SSL e proxy TCP permite processar solicitações IPv6 dos usuários e transmiti-las por IPv4 para os back-ends.
Uso de um único endereço IPv6 de anycast para a implantação em várias regiões: basta ter um endereço IPv6 do balanceador de carga para as instâncias do aplicativo em execução em várias regiões. Isso significa que seu servidor DNS tem um único registro AAAA e não é necessário fazer o balanceamento da carga entre 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 a instância íntegra mais próxima com capacidade disponível.
Balanceamento de carga do tráfego de cliente em HTTP, HTTPS, HTTP/2, TCP e SSL/TLS IPv6.
Sobrecarga em regiões com um único endereço de balanceador de carga IPv6: se as instâncias em uma região não tiverem recursos suficientes ou apresentarem falha de integridade, o balanceador de carga global direciona automaticamente as solicitações dos usuários para a região seguinte mais próxima com disponibilidade de recursos. Quando a região mais próxima tiver recursos disponíveis, o balanceamento de carga global voltará a servir o tráfego por meio dela.
Execução 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 com as mesmas instâncias IPv4 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 as instâncias íntegras mais próximas com capacidade disponível. Nós fornecemos regras de encaminhamento de IPv6 sem cobrança. Assim, você pagará apenas pelas regras de encaminhamento de IPv4.
Direcionamento de tráfego IPv4 e IPv6 para as mesmas instâncias do back-end (clique para ampliar)
Terminação IPv6 e proxy
A configuração da terminação IPv6 para os balanceadores de carga permite que as instâncias de back-end apareçam como aplicativos IPv6 para os clientes IPv6.
Ao configurar um HTTP(S), um proxy SSL ou um balanceador de carga do proxy TCP, você o fornece com uma ou mais regras de encaminhamento globais, cada uma com um endereço IP IPv4 ou IPv6 externo e roteado publicamente. Você pode usar esse endereço IP nos registros DNS de 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 é liberado de volta para o pool do GCP.
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, você pode associar as duas regras ao mesmo balanceador de carga.
Observação: o GCP aloca um intervalo de endereços /64 IPv6 para as regras de encaminhamento de IPv6. A ferramenta de linha de comando gcloud lista os endereços IPv6 com os 64 bits menos significativos definidos como 0, mas o balanceador de carga aceita o tráfego em todo o intervalo. Assim, você pode ver outros endereços IPv6 do balanceador de carga no intervalo alocado nos cabeçalhos X-Forwarded-For, dependendo do IP do servidor IPv6 ao qual o cliente está conectado. O GCP segue as recomendações contidas na RFC5952, seção 4 ao formatar um endereço IPv6.
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 original da origem é substituído pelo endereço IP do balanceador de carga. No entanto, muitas vezes o IP original da origem precisa ser conhecido pelos back-ends para geração de registros, tomada de decisões ou outras finalidades. O GCP fornece um cabeçalho HTTP que se propaga para os back-ends que inclui o IP do cliente IPv6 original.
Os cabeçalhos HTTP para IPv6 são semelhantes aos do IPv4. O formato para solicitações é o seguinte:
X-Forwarded-For: <IP(s) do cliente>, <IP externo da regra de encaminhamento global>.
O último elemento mostra o IP do balanceador de carga. O penúltimo elemento mostra o IP do cliente visto pelo balanceador de carga. Pode haver outros elementos no cabeçalho X-Forwarded-For nos casos em que o cliente ou os proxies intervenientes adicionam outros cabeçalhos X-Forwarded-For antes de enviar a solicitação ao balanceador de carga.
Um exemplo do cabeçalho X-Forwarded-For pode ser assim:
O primeiro endereço (penúltimo) é o endereço IPv6 do cliente. O segundo endereço é o endereço IPv6 do balanceador de carga HTTP(S).
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. Os endereços IPv6 reservados são cobrados de acordo com as taxas existentes, independentemente de estarem em uso ou não. O restante do preço é igual ao do balanceamento de carga IPv4. Veja os detalhes dos preços de balanceamento de carga aqui.