Tous les produits
Search
Centre de documentation

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

Dernière mise à jour :Aug 18, 2026

Les instances NLB à pile double prennent en charge l'affinité de version d'IP. Lorsqu'elle est activée, cette fonctionnalité achemine les requêtes IPv4 vers les serveurs principaux IPv4 et les requêtes IPv6 vers les serveurs principaux IPv6. Elle permet ainsi de router le trafic selon la version du protocole et de simplifier votre architecture réseau.

Architecture

Scénario

Lors de la migration d'IPv4 vers IPv6, les deux services doivent souvent coexister. Lorsqu'un groupe de serveurs contient à la fois des serveurs principaux IPv4 et IPv6, NLB ne distingue pas par défaut les versions d'IP des requêtes clientes. Il achemine le trafic uniquement sur la base de l'algorithme de planification, tel que le tourniquet (round-robin) ou le nombre minimal de connexions.

Cette configuration peut entraîner un acheminement inter-protocoles. Par exemple, une requête cliente IPv6 peut atteindre un serveur principal ne prenant en charge qu'IPv4, ou inversement. De telles incompatibilités peuvent provoquer les problèmes suivants :

  • Le serveur principal ne peut pas obtenir l'adresse IP réelle du client, ce qui affecte l'analyse régionale basée sur la source et le contrôle d'accès.

  • Pour obtenir l'adresse IP source, vous devez déployer une couche de proxy supplémentaire, telle que Nginx avec le protocole Proxy activé, ce qui augmente les coûts opérationnels.

Solution

Les groupes de serveurs NLB prennent en charge l'affinité de version d'IP pour un acheminement 4-vers-4 et 6-vers-6.

Les serveurs principaux peuvent obtenir directement les adresses IP clientes d'origine sans couche de proxy supplémentaire. Si tous les serveurs principaux d'un protocole spécifique échouent aux contrôles d'état, les requêtes sont acheminées dans la mesure du possible vers d'autres serveurs au sein du même groupe de protocole, mais ne sont pas routées vers d'autres protocoles.

image

Prérequis

Vous avez enregistré un nom de domaine personnalisé. Ce tutoriel utilise la région Chine (Shanghai) pour déployer l'instance NLB. Par conséquent, vous devez demander un fichier ICP pour votre nom de domaine.

Procédure

Avant de commencer, assurez-vous d'avoir créé un VPC nommé VPC1 dans la région Chine (Shanghai), créé les vSwitches VSW1 et VSW2 dans les zones de disponibilité E et G respectivement, et activé IPv6 sur les vSwitches.

1. Créer des instances ECS et déployer les services

  1. Créez deux instances ECS avec les configurations suivantes.

    Paramètre

    Région

    VPC

    vSwitch

    Version d'IP

    Image

    ecs-ipv4

    Chine (Shanghai)

    VPC1

    VSW1

    IPv4

    Alibaba Cloud Linux 3.2104 LTS 64 bits

    ecs-ipv6

    VSW2

    IPv6

    Lors de l'achat de l'instance ECS, dans la section Network and Security Groups, sélectionnez Assign IPv6 Address Free of Charge.
  2. Connectez-vous à distance aux instances ecs-ipv4 et ecs-ipv6, puis exécutez les commandes suivantes pour déployer les services 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. Ajoutez des règles entrantes aux groupes de sécurité des deux instances ECS pour autoriser le trafic entrant sur le port 80. Assurez-vous que les règles ont une priorité suffisamment élevée.

    Nom de l'instance

    Action

    Protocole

    Source

    Destination

    ecs-ipv4

    Autoriser

    TCP personnalisé

    Après avoir sélectionné IPv4, sélectionnez CIDR block of this VPC.

    Après avoir sélectionné Port Range, sélectionnez HTTP (80).

    ecs-ipv6

    Après avoir sélectionné IPv6, sélectionnez CIDR block of this VPC.

Pour plus d'informations, consultez les rubriques Créer une instance à l'aide de l'assistant , Se connecter à une instance ECS et Ajouter des règles de groupe de sécurité .

2. Créer une instance NLB à pile double

  1. Connectez-vous à la console NLB, sélectionnez la région Chine (Shanghai), puis cliquez sur Create NLB.

  2. Spécifiez les paramètres suivants, conservez les valeurs par défaut pour les autres options, puis cliquez sur Create :

    • Network Type : Sélectionnez Public.

    • VPC : Sélectionnez VPC1.

    • Zone : Sélectionnez les zones de disponibilité E et G, choisissez les vSwitches correspondants VSW1 et VSW2, puis sélectionnez Purchase EIP.

    • IP Version : Sélectionnez Dual-Stack.

  3. Une fois l'instance créée, cliquez sur son ID pour accéder à la page Instance Details. Dans la section Basic Information, repérez Network Type et cliquez sur Change Network Type à droite de IPv6: Private. Dans la boîte de dialogue qui s'affiche, cliquez sur OK. Vérifiez ensuite que le type de réseau IPv6 est désormais public.

3. Créer un groupe de serveurs à pile double et activer l'affinité

  1. Dans la console Server Group, cliquez sur Create Server Group.

  2. Spécifiez les paramètres suivants et cliquez sur Create :

    • Server Group Type : Sélectionnez Server.

    • Server Group Name : Saisissez sgp-dualstack.

    • VPC : Sélectionnez VPC1.

    • Backend Server Protocol : Sélectionnez TCP.

    • IP Version : Sélectionnez IPv4/IPv6 dual-stack. Cela vous permet d'ajouter des serveurs principaux IPv4 et IPv6.

    • IP Version Affinity : Sélectionnez Affinity mode. Lorsqu'elle est activée, les requêtes IPv4 sont acheminées uniquement vers les serveurs principaux IPv4 et les requêtes IPv6 uniquement vers les serveurs principaux IPv6.

  3. Dans la boîte de dialogue The server group is created, cliquez sur Add Backend Server. Dans la colonne IP, sélectionnez l'adresse IPv4 pour ecs-ipv4 et l'adresse IPv6 pour ecs-ipv6. Sélectionnez les deux instances et cliquez sur Next.

    Lors de l'ajout en masse de serveurs principaux IPv6, cliquez sur l'icône des paramètres à côté de l'en-tête de la colonne IP et sélectionnez Prefer IPv6 over IPv4 . Le système sélectionne alors par défaut les adresses IPv6 des serveurs.
  4. À l'étape Ports/Weights, définissez le Port des deux serveurs sur 80 et cliquez sur OK.

4. Créer un écouteur

  1. Dans la console NLB, cliquez sur l'ID de l'instance cible pour accéder à la page Instance Details. Sous l'onglet Listener, cliquez sur Create Listener.

  2. À l'étape Configure Listener, définissez le Listener Protocol sur TCP, saisissez 80 pour le Listener Port, puis cliquez sur Next.

  3. À l'étape Select Server Group, sélectionnez le groupe de serveurs sgp-dualstack et cliquez sur Next.

  4. À l'étape Configuration Review, confirmez la configuration et cliquez sur Submit.

5. Configurer les enregistrements DNS

Créez un enregistrement CNAME pour mapper votre nom de domaine personnalisé au nom DNS de l'instance NLB.

Ce tutoriel utilise Alibaba Cloud DNS à titre d'exemple. Si votre nom de domaine n'est pas enregistré auprès d'Alibaba Cloud, vous devez d'abord ajouter le nom de domaine à la console Alibaba Cloud DNS.

  1. Dans la console NLB, copiez le Domain Name de l'instance cible.

  2. Connectez-vous à la console Alibaba Cloud DNS. Dans la colonne Actions de votre nom de domaine cible, cliquez sur Settings. Sur la page Settings, cliquez sur Add Record.

  3. Ajoutez un enregistrement CNAME avec les paramètres suivants et cliquez sur OK :

    • Record Type : Sélectionnez CNAME.

    • Hostname : Saisissez un préfixe pour le nom de domaine, par exemple test. Si votre nom de domaine racine est example.com, le nom de domaine utilisé pour accéder à l'instance NLB est test.example.com.

    • Query Source et TTL : Conservez les valeurs par défaut.

    • Record Value : Saisissez le nom DNS de l'instance NLB.

  4. Dans la boîte de dialogue Change Resource Record Confirmation, confirmez les informations de l'enregistrement DNS et cliquez sur OK.

6. Vérifier l'acheminement basé sur l'affinité

Lorsqu'un client accède à l'instance NLB à pile double via un nom de domaine personnalisé, le serveur DNS renvoie un enregistrement A (IPv4) ou AAAA (IPv6) en fonction de la version d'IP du client.

Tester les requêtes IPv4

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

Après plusieurs requêtes, la réponse doit toujours être Hello from IPv4 backend. Cela indique que les requêtes IPv4 sont acheminées vers le serveur principal IPv4 ecs-ipv4.

Tester les requêtes IPv6

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

Après plusieurs requêtes, la réponse doit toujours être Hello from IPv6 backend. Cela indique que les requêtes IPv6 sont acheminées vers le serveur principal IPv6 ecs-ipv6.

Vérifier l'isolation par affinité

  1. Arrêtez le service Nginx sur ecs-ipv4 en exécutant la commande suivante : sudo systemctl stop nginx.

  2. Testez à nouveau la requête IPv4. La requête échoue et n'est pas acheminée vers le serveur principal IPv6 ecs-ipv6.

  3. Rétablissez le service sur ecs-ipv4 en exécutant la commande suivante : sudo systemctl start nginx. Les requêtes IPv4 fonctionnent désormais comme prévu.

Informations complémentaires

Facturation

  • Instance NLB : NLB prend en charge deux méthodes de facturation : paiement à l'utilisation et plan de ressources. Pour plus d'informations, consultez la rubrique Facturation NLB.

  • Instance ECS : Pour plus d'informations, consultez la rubrique Présentation de la facturation ECS. À des fins de test, créez une instance de faible spécification en paiement à l'utilisation et libérez-la après les tests pour éviter des frais inutiles.

  • Frais de nom de domaine et de résolution DNS : En plus des frais de nom de domaine facturés par votre fournisseur, Alibaba Cloud facture les frais DNS publics faisant autorité pour la résolution DNS.

  • Frais de réseau public : Des frais de réseau public s'appliquent à l'EIP associée à l'instance NLB et à la bande passante publique IPv6 du VPC où réside l'instance.

Régions prises en charge pour NLB à pile double

Zone

Région

Chine

Chine (Hangzhou), Chine (Pékin), Chine (Shenzhen), Chine (Shanghai), Chine (Qingdao), Chine (Zhangjiakou), Chine (Chengdu), Chine (Guangzhou), Chine (Hong Kong), Chine (Heyuan), Chine (Ulanqab)

Asie-Pacifique

Thaïlande (Bangkok), Philippines (Manille), Singapour, Japon (Tokyo), Corée du Sud (Séoul), Malaisie (Kuala Lumpur), Indonésie (Jakarta)

Europe et Amériques

Allemagne (Francfort), Royaume-Uni (Londres), États-Unis (Virginie), États-Unis (Silicon Valley), Mexique

Moyen-Orient

Arabie saoudite (Riyad)

Considérations pour l'environnement de production

  • Déploiement haute disponibilité : Déployez les serveurs principaux dans plusieurs zones de disponibilité. Assurez la redondance pour les backends IPv4 et IPv6 afin d'éviter les points de défaillance uniques.

  • Configuration des contrôles d'état : Ajustez l'intervalle de contrôle d'état, le délai d'expiration et les seuils en fonction de vos besoins métier pour garantir que les serveurs défectueux soient rapidement retirés.

FAQ

Les requêtes IPv4 sont-elles acheminées vers les backends IPv6 en mode affinité ?

Non. Lorsque le mode affinité est activé, les requêtes IPv4 sont acheminées uniquement vers les serveurs principaux IPv4 et les requêtes IPv6 uniquement vers les serveurs principaux IPv6. Aucun acheminement inter-protocoles ne se produit.

Comment les requêtes IPv6 sont-elles gérées avec uniquement des backends IPv4 ?

Si le mode affinité est désactivé, NLB peut traduire les requêtes IPv6 en IPv4 et les envoyer aux serveurs principaux. Si le mode affinité est activé, les requêtes IPv6 ne peuvent pas être acheminées. Dans ce scénario, vous devez ajouter des serveurs principaux pour les deux versions d'IP au groupe de serveurs afin de garantir le traitement des requêtes IPv4 et IPv6.

Puis-je modifier la version d'IP d'un groupe de serveurs ?

Non. La version du protocole IP d'un groupe de serveurs (IPv4 ou IPv4/IPv6 dual-stack) ne peut pas être modifiée après la création du groupe de serveurs. Pour changer de version, vous devez supprimer le groupe de serveurs et en créer un nouveau.

Puis-je modifier l'affinité de version d'IP d'un groupe de serveurs ?

Oui. Dans la console Server Group, repérez le groupe de serveurs à pile double cible et cliquez sur Modify Basic Information dans la colonne Actions pour modifier le paramètre.

Un groupe de serveurs à pile double peut-il être associé à un NLB IPv4 uniquement ?

Non. Un groupe de serveurs à pile double ne peut être associé qu'à un écouteur d'une instance NLB à pile double.