Todos os produtos
Search
Central de documentação

Server Load Balancer:Forward IPv4 and IPv6 traffic with NLB affinity

Última atualização: Sep 20, 2026

Instâncias NLB dual-stack oferecem suporte à afinidade por versão de IP. Quando ativada, requisições IPv4 são encaminhadas para servidores backend IPv4 e requisições IPv6 para servidores backend IPv6, roteando o tráfego por versão de protocolo e simplificando a arquitetura de rede.

Arquitetura

Cenário

Durante a migração de IPv4 para IPv6, é comum que ambos os serviços precisem coexistir. Quando um grupo de servidores contém servidores backend tanto IPv4 quanto IPv6, o NLB, por padrão, não diferencia a versão de IP das requisições do cliente e encaminha o tráfego exclusivamente com base no algoritmo de agendamento, como round-robin ou menor número de conexões.

Essa situação pode causar encaminhamento entre protocolos — por exemplo, uma requisição de um cliente IPv6 pode chegar a um servidor backend somente IPv4, ou o contrário. Essas incompatibilidades podem gerar os seguintes problemas:

  • O servidor backend não consegue obter o endereço IP real do cliente, o que afeta a análise regional baseada na origem e o controle de acesso.

  • Para obter o endereço IP de origem, é necessário implantar uma camada adicional de proxy, como o Nginx com Proxy Protocol habilitado, o que aumenta os custos operacionais.

Solução

Os grupos de servidores do NLB oferecem suporte à afinidade de versão de IP para encaminhamento 4-para-4 e 6-para-6.

Os servidores backend podem obter diretamente os endereços IP originais dos clientes, sem necessidade de uma camada adicional de proxy. Se todos os servidores backend de um protocolo específico falharem nas verificações de integridade, as requisições serão encaminhadas com base no melhor esforço para outros servidores dentro do mesmo grupo de protocolo, sem roteamento entre protocolos diferentes.

image

Pré-requisitos

Você precisa ter registered a custom domain name. Este tutorial utiliza a região China (Shanghai) para implantar a instância NLB. Portanto, é necessário solicitar um ICP filing para o seu nome de domínio.

Procedimento

Antes de começar, certifique-se de ter criado uma VPC chamada VPC1 na região China (Shanghai), criado as vSwitches VSW1 e VSW2 nas zonas de disponibilidade E e G, respectivamente, e enabled IPv6 nas vSwitches.

1. Criar instâncias ECS e implantar serviços

  1. Crie duas instâncias ECS com as configurações a seguir.

    Parâmetro

    Região

    VPC

    vSwitch

    Versão de IP

    Imagem

    ecs-ipv4

    China (Shanghai)

    VPC1

    VSW1

    IPv4

    Alibaba Cloud Linux 3.2104 LTS 64-bit

    ecs-ipv6

    VSW2

    IPv6

    Ao adquirir a instância ECS, na seção Network and Security Groups, selecione Assign IPv6 Address Free of Charge.
  2. Conecte-se remotamente a ecs-ipv4 e ecs-ipv6 e execute os comandos a seguir para implantar os serviços Nginx.

    ecs-ipv4

    sudo yum install -y nginx
    sudo systemctl start nginx
    echo "Hello from IPv4 backend" | sudo tee /usr/share/nginx/html/index.html

    ecs-ipv6

    sudo yum install -y nginx
    sudo systemctl start nginx
    echo "Hello from IPv6 backend" | sudo tee /usr/share/nginx/html/index.html
  3. Adicione regras de entrada aos grupos de segurança de ambas as instâncias ECS para permitir tráfego de entrada na porta 80. Certifique-se de que as regras tenham prioridade suficientemente alta.

    Nome da instância

    Action

    Protocolo

    Origem

    Destino

    ecs-ipv4

    Allow

    Custom TCP

    Após selecionar IPv4, selecione CIDR block of this VPC.

    Após selecionar Port Range, selecione HTTP (80).

    ecs-ipv6

    Após selecionar IPv6, selecione CIDR block of this VPC.

Para obter mais informações, consulte Create an instance by using the wizard , Connect to an ECS instance e Add security group rules .

2. Criar uma instância NLB dual-stack

  1. Faça logon no console do NLB, selecione a região China (Shanghai) e clique em Create NLB.

  2. Especifique os parâmetros a seguir, mantenha os valores padrão para as demais opções e clique em Create:

    • Network Type: selecione Public.

    • VPC: selecione VPC1.

    • Zone: selecione as zonas de disponibilidade E e G, escolha as vSwitches correspondentes VSW1 e VSW2 e marque Purchase EIP.

    • IP Version: selecione Dual-Stack.

  3. Após a criação da instância, clique em no ID dela para acessar a página Instance Details. Na seção Basic Information, localize Network Type e clique em Change Network Type à direita de IPv6: Private. Na caixa de diálogo exibida, clique em OK. Em seguida, verifique se o tipo de rede IPv6 agora é público.

3. Criar um grupo de servidores dual-stack e ativar a afinidade

  1. No console de Server Group, clique em Create Server Group.

  2. Especifique os parâmetros a seguir e clique em Create:

    • Server Group Type: selecione Server.

    • Server Group Name: insira sgp-dualstack.

    • VPC: selecione VPC1.

    • Backend Server Protocol: selecione TCP.

    • IP Version: selecione IPv4/IPv6 dual-stack. Isso permite adicionar servidores backend tanto IPv4 quanto IPv6.

    • IP Version Affinity: selecione Affinity mode. Quando ativada, as requisições IPv4 são encaminhadas exclusivamente para servidores backend IPv4, e as requisições IPv6 são encaminhadas exclusivamente para servidores backend IPv6.

  3. Na caixa de diálogo The server group is created, clique em Add Backend Server. Na coluna IP, selecione o endereço IPv4 para ecs-ipv4 e o endereço IPv6 para ecs-ipv6. Selecione ambas as instâncias e clique em Next.

    Ao adicionar servidores backend IPv6 em lote, clique em no ícone de configurações ao lado do cabeçalho da coluna IP e selecione Prefer IPv6 over IPv4 . O sistema então seleciona os endereços IPv6 dos servidores por padrão.
  4. Na etapa Ports/Weights, defina a Port de ambos os servidores como 80 e clique em OK.

4. Criar um listener

  1. No console do NLB, clique em no ID da instância de destino para acessar a página Instance Details. Na aba Listener, clique em Create Listener.

  2. Na etapa Configure Listener, defina Listener Protocol como TCP, insira 80 em Listener Port e clique em Next.

  3. Na etapa Select Server Group, selecione o grupo de servidores sgp-dualstack e clique em Next.

  4. Na etapa Configuration Review, confirme a configuração e clique em Submit.

5. configure registros DNS

Crie um registro CNAME para mapear seu nome de domínio personalizado para o nome DNS da instância NLB.

Este tutorial utiliza o Alibaba Cloud DNS como exemplo. Se o seu nome de domínio não estiver registrado na Alibaba Cloud, primeiro é necessário add the domain name to the Alibaba Cloud DNS console.

  1. No console do NLB, copie o Domain Name da instância de destino.

  2. Faça logon no console do Alibaba Cloud DNS. Na coluna Actions do nome de domínio de destino, clique em Settings. Na página Settings, clique em Add Record.

  3. Adicione um registro CNAME com as configurações a seguir e clique em OK:

    • Record Type: selecione CNAME.

    • Hostname: insira um prefixo para o nome de domínio, como test. Se o domínio raiz for example.com, o nome de domínio usado para acessar a instância NLB será test.example.com.

    • Query Source e TTL: mantenha os valores padrão.

    • Record Value: insira o nome DNS da instância NLB.

  4. Na caixa de diálogo Change Resource Record Confirmation, confirme as informações do registro DNS e clique em OK.

6. verifique o encaminhamento baseado em afinidade

Quando um cliente acessa a instância NLB dual-stack por meio de um nome de domínio personalizado, o servidor DNS retorna um registro A (IPv4) ou AAAA (IPv6) com base na versão de IP do cliente.

Testar requisições IPv4

curl -4 http://test.example.com

Após múltiplas requisições, a resposta deve ser sempre Hello from IPv4 backend. Isso indica que as requisições IPv4 são encaminhadas para o servidor backend IPv4 ecs-ipv4.

Testar requisições IPv6

curl -6 http://test.example.com

Após múltiplas requisições, a resposta deve ser sempre Hello from IPv6 backend. Isso indica que as requisições IPv6 são encaminhadas para o servidor backend IPv6 ecs-ipv6.

verifique o isolamento da afinidade

  1. Pare o service Nginx em ecs-ipv4 executando o seguinte comando: sudo systemctl stop nginx.

  2. Teste novamente a requisição IPv4. A requisição falha e não é encaminhada para o servidor backend IPv6 ecs-ipv6.

  3. Restaure o service em ecs-ipv4 executando o seguinte comando: sudo systemctl start nginx. As requisições IPv4 voltam a funcionar normalmente.

Mais informações

Faturamento

  • Instância NLB: o NLB oferece dois métodos de faturamento: pagamento conforme o uso e plano de recursos. Para obter mais informações, consulte NLB billing.

  • Instância ECS: para obter mais informações, consulte ECS billing overview. Para testes, crie uma instância de baixa especificação com pagamento conforme o uso e libere-a após os testes para evitar cobranças desnecessárias.

  • Nome de domínio e taxas de resolução DNS: além da taxa de domínio cobrada pelo seu provedor, a Alibaba Cloud cobra public authoritative DNS fees pela resolução DNS.

  • Taxas de rede pública: aplicam-se ao EIP associado à instância NLB e à IPv6 public bandwidth da VPC onde a instância reside.

Regiões compatíveis com NLB dual-stack

Área

Região

China

China (Hangzhou), China (Beijing), China (Shenzhen), China (Shanghai), China (Qingdao), China (Zhangjiakou), China (Chengdu), China (Guangzhou), China (Hong Kong), China (Heyuan), China (Ulanqab)

Ásia-Pacífico

Thailand (Bangkok), Philippines (Manila), Singapore, Japan (Tokyo), South Korea (Seoul), Malaysia (Kuala Lumpur), Indonesia (Jakarta)

Europa e Américas

Germany (Frankfurt), UK (London), US (Virginia), US (Silicon Valley), Mexico

Oriente Médio

Saudi Arabia (Riyadh)

Considerações para ambientes de produção

  • Implantação de alta disponibilidade: distribua os servidores backend em múltiplas zonas de disponibilidade. Garanta redundância tanto para backends IPv4 quanto IPv6 a fim de evitar pontos únicos de falha.

  • Configuração de verificação de integridade: ajuste o intervalo de verificação, o período de timeout e os limiares de acordo com os requisitos do seu negócio para garantir a remoção rápida de servidores com falha.

Perguntas frequentes

As requisições IPv4 são encaminhadas para backends IPv6 no modo de afinidade?

Não. Com o modo de afinidade ativado, as requisições IPv4 são encaminhadas exclusivamente para servidores backend IPv4, e as requisições IPv6 são encaminhadas exclusivamente para servidores backend IPv6. O encaminhamento entre protocolos não ocorre.

Como as requisições IPv6 são tratadas quando há apenas backends IPv4?

Se o modo de afinidade estiver desativado, o NLB pode traduzir requisições IPv6 para IPv4 e enviá-las aos servidores backend. Se o modo de afinidade estiver ativado, as requisições IPv6 não podem ser encaminhadas. Nesse cenário, adicione servidores backend de ambas as versões de IP ao grupo de servidores para garantir o processamento tanto de requisições IPv4 quanto IPv6.

É possível modifique a versão de IP de um grupo de servidores?

Não. A versão do protocolo IP de um grupo de servidores (IPv4 ou IPv4/IPv6 dual-stack) não pode ser alterada após a criação do grupo. Para alterar a versão, exclua o grupo de servidores e crie um novo.

É possível modifique a IP version affinity de um grupo de servidores?

Sim. No console de Server Group, localize o grupo de servidores dual-stack de destino e clique em Modify Basic Information na coluna Actions para alterar a configuração.

Um grupo de servidores dual-stack pode ser associado a um NLB somente IPv4?

Não. Um grupo de servidores dual-stack só pode ser associado a um listener de uma instância NLB dual-stack.