Contrairement à Classic Load Balancer (CLB), Application Load Balancer (ALB) est spécialisé dans l'équilibrage de charge de couche 7, propose des fonctionnalités de routage avancées et traite le trafic à grande échelle au niveau de la couche application. Vous pouvez migrer les écouteurs de couche 7 de CLB vers ALB en un seul clic et activer WAF en un clic, ce qui dissocie entièrement le transfert du trafic de la protection.
Limitations de la migration
Types d'instances CLB pris en charge
Instances CLB IPv4 internes dans un VPC disposant d'un écouteur de couche 7 (HTTP ou HTTPS) configuré.
Instances CLB IPv4 accessibles depuis Internet disposant d'un écouteur de couche 7 (HTTP ou HTTPS) configuré.
Scénarios non pris en charge
L'assistant de migration ne prend pas en charge les scénarios suivants. Nous vous recommandons de migrer manuellement les écouteurs de couche 7 de CLB vers ALB.
Instances CLB sans écouteur HTTP ou HTTPS configuré.
Instances CLB internes dans un réseau classique.
Instances CLB IPv6.
Considérations relatives à la migration
La migration n'est pas prise en charge dans les régions où ALB n'est pas disponible. Pour obtenir la liste des régions prenant en charge ALB, consultez la rubrique Régions et zones prenant en charge ALB.
L'assistant de migration ne migre pas les configurations WAF. Si WAF est activé pour l'instance CLB, vous devez activer manuellement la protection WAF pour l'instance ALB de destination après la migration. Nous vous recommandons d'activer WAF 3.0 pour la nouvelle instance ALB. Pour plus d'informations, consultez la rubrique Activer la protection WAF pour une instance ALB.
L'assistant de migration ne migre pas les règles d'alerte basées sur des seuils pour CLB. Vous devez configurer de nouvelles règles d'alerte pour l'instance ALB à l'aide de la console CloudMonitor, des opérations API ou des SDK. Pour plus d'informations, consultez la rubrique Configurer des règles d'alerte pour les métriques ALB.
La protection DDoS est activée par défaut pour l'instance ALB. Toutefois, l'assistant de migration ne migre pas les seuils de protection DDoS personnalisés. Vous devez configurer manuellement ces seuils dans la console Traffic Security après la migration.
L'assistant de migration ne migre pas les configurations de contrôle d'accès. Si vous avez besoin d'un contrôle d'accès, vous devez le configurer pour l'instance ALB après la migration. Pour plus d'informations, consultez la rubrique Contrôle d'accès.
Pour un écouteur HTTPS, vous devez spécifier manuellement le certificat de serveur et le certificat d'autorité de certification (CA).
L'assistant de migration ne migre pas les configurations de groupe de serveurs principal/secondaire de CLB.
L'assistant de migration migre automatiquement les serveurs backend d'une instance CLB interne. Cependant, il ne migre pas actuellement les serveurs backend d'une instance CLB accessible depuis Internet. L'assistant de migration crée un nouveau groupe de serveurs dans le VPC où réside l'instance ALB. Vous devez ajouter manuellement les serveurs backend à ce groupe de serveurs. Les serveurs backend doivent se trouver dans le même VPC que l'instance ALB.
Facturation
La migration en un clic de CLB vers ALB n'entraîne aucun frais supplémentaire. La nouvelle instance ALB est facturée selon les règles de facturation d'ALB.
Prérequis
Configurez un écouteur de couche 7 (un écouteur HTTP ou HTTPS) sur l'instance CLB que vous prévoyez de migrer.
-
Cet exemple utilise quatre instances ECS.
Serveurs d'application : ECS01 et ECS02 sont les serveurs backend.
-
Serveurs de test : utilisez ECS03 pour tester le trafic avant la migration et ECS04 pour vérifier le trafic pendant la migration.
Si vous disposez déjà de serveurs de test, vous n'avez pas besoin de créer ECS03 et ECS04.
Étape 1 : Utiliser l'assistant de migration
-
Ouvrez l'assistant de migration en utilisant l'une des méthodes suivantes.
Méthode 1 : Console CLB
Connectez-vous à la console CLB.
Dans la barre de navigation supérieure, sélectionnez la région de l'instance CLB.
Sur la page Instances, recherchez l'instance cible et cliquez sur son ID.
Cliquez sur l'onglet Migration Wizard. Après avoir confirmé les informations dans le message, cliquez sur Enable sur la carte Migrate from CLB to ALB.
Méthode 2 : Console ALB
RemarqueCette méthode n'est pas disponible si aucune instance ALB n'existe dans la région de l'instance CLB à migrer. Utilisez plutôt la méthode 1.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région de l'instance CLB.
Sur la page Instances, cliquez sur Migrate from CLB to ALB.
Dans la boîte de dialogue Migrate from CLB to ALB, confirmez les informations dans le message, sélectionnez l'instance CLB à migrer, puis cliquez sur Open Migration Wizard.
-
À l'étape Review Configurations, examinez les informations de base de l'instance CLB et les informations préconfigurées pour l'instance ALB. Configurez tous les écouteurs marqués avec l'icône
, cochez la case de confirmation, puis cliquez sur Next.
: indique un élément de configuration nécessitant une configuration manuelle.
: indique un élément de configuration que le système modifie automatiquement.
Vous pouvez cliquer sur Modify Listener et Modify Certificate pour modifier les configurations de l'écouteur ALB. Vous ne pouvez modifier les certificats que pour les écouteurs HTTPS.
-
À l'étape Create Instance, configurez le VPC et le vSwitch pour la nouvelle instance ALB, puis cliquez sur Next.
Paramètre
Description
VPC
Pour une instance CLB interne, la nouvelle instance ALB est déployée par défaut dans le même VPC que l'instance CLB.
Pour une instance CLB accessible depuis Internet, vous devez sélectionner un VPC.
Zone
Sélectionnez une zone et un vSwitch.
Pour une haute disponibilité, nous vous recommandons de sélectionner au moins deux zones si la région actuelle prend en charge deux zones ou plus. ALB ne facture pas de frais supplémentaires pour l'utilisation de plusieurs zones.
Sélectionnez un vSwitch dans chaque zone sélectionnée. Si aucun vSwitch n'est disponible dans une zone, créez-en un comme indiqué sur la console.
Facultatif : Lorsque vous migrez une instance CLB accessible depuis Internet, vous devez sélectionner une adresse IP élastique (EIP) dans chaque zone sélectionnée.
Si aucune EIP existante n'est disponible, vous pouvez sélectionner Purchase EIP. Le système crée automatiquement une adresse IP élastique (EIP) BGP (Multi-ISP) à l'utilisation (paiement au transfert de données) avec une protection Anti-DDoS Origin Basic et l'associe à l'instance ALB.
Vous pouvez également associer une EIP existante à la nouvelle instance ALB.
ImportantVous ne pouvez associer que des EIP à l'utilisation (paiement au transfert de données) qui ne font pas partie d'une instance Internet Shared Bandwidth.
Les EIP dans différentes zones pour la même instance ALB doivent être du même type.
À l'étape Confirm Order, examinez les configurations de l'instance ALB, cochez la case dans la section Pricing/Billing, puis cliquez sur Start Migration.
-
À l'étape Complete, attendez que la migration soit terminée. Vous pouvez ensuite effectuer les opérations suivantes.
Resource Orchestration Service (ROS) effectue la migration, ce qui prend de 1 à 10 minutes. Vous pouvez suivre les instructions pour accéder à la console ROS et afficher l'état de la tâche de migration dans la pile correspondante.
Cliquez sur View Instance pour accéder à la page de détails de la nouvelle instance ALB.
Cliquez sur CLB Instance List pour revenir à la liste des instances CLB.
Cliquez sur ALB Instance List pour revenir à la liste des instances ALB.
-
Étapes suivantes : après la migration, vérifiez que les serveurs backend sont ajoutés à la nouvelle instance ALB.
Dans le volet de navigation de gauche, accédez à .
Sur la page Instances, recherchez la nouvelle instance ALB et cliquez sur son ID.
Cliquez sur l'onglet Listener. Recherchez l'écouteur cible et cliquez sur View Details dans la colonne Actions.
-
Sur l'onglet Listener Details, cliquez sur View/Modify Backend Server dans la section Server Group (Default Forwarding Rule). Sur l'onglet Backend Servers qui s'affiche, vérifiez si des serveurs backend sont répertoriés.
Si aucun serveur backend n'est répertorié, cliquez sur Add Backend Server pour en ajouter au moins deux. Vous devez également déployer des applications sur ces serveurs afin que l'instance ALB puisse distribuer les requêtes. Dans cet exemple, ECS01 et ECS02 sont ajoutés en tant que serveurs backend à l'instance ALB.
Pour plus d'informations sur la création d'une instance ECS, consultez la rubrique Créer une instance à l'aide de l'assistant.
-
L'exemple suivant montre les commandes pour déployer des applications de test sur ECS01 et ECS02 :
Étape 2 : Tester le trafic
(Facultatif) Activer les journaux d'accès
ALB s'intègre à Simple Log Service (SLS) pour fournir des journaux d'accès. Utilisez ces journaux pour surveiller la charge des instances ALB et résoudre les problèmes.
Connectez-vous à la console ALB.
Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.
Sur la page Instances, localisez l'instance ALB cible et cliquez sur son ID.
Sur la page des détails de l'instance, cliquez sur l'onglet Access Logs. Ensuite, dans l'onglet Access Logs, cliquez sur Create Access Log.
-
Dans la boîte de dialogue Create Access Log, configurez les paramètres Project et Logstore, puis cliquez sur OK. Dans la boîte de dialogue de confirmation, cliquez à nouveau sur OK.
Paramètre
Description
Project
Unité de gestion des ressources dans Simple Log Service utilisée pour l'isolation et le contrôle des ressources.
Select Project : sélectionnez un projet dans la liste déroulante.
Create Project : saisissez un nom pour le nouveau projet.
Logstore
Unité dans Simple Log Service utilisée pour collecter, stocker et interroger les données de journal.
Select Logstore : sélectionnez un Logstore dans la liste déroulante.
Create Logstore : saisissez un nom pour le nouveau Logstore. Si vous choisissez de créer un nouveau projet, vous devez également créer un nouveau Logstore.
Notes on Creating Service-linked Role
Cette opération crée automatiquement un rôle lié au service avec les autorisations requises.
Tester le trafic
-
Connectez-vous à distance à l'instance ECS03.
RemarqueCette instance ECS03 dispose d'une adresse IP publique.
-
Exécutez la commande suivante pour modifier le fichier hosts.
sudo vi /etc/hostsDans le fichier hosts, ajoutez l'adresse IP élastique et le nom de domaine de l'instance ALB, puis enregistrez et fermez le fichier.
118.XX.XX.113 www.example.net -
Exécutez la commande suivante pour tester le transfert du trafic via l'instance ALB.
curl -v www.example.netLa figure suivante illustre le résultat attendu :


-
(Facultatif) Pour afficher les journaux d'accès, retournez à la console ALB. Sur l'onglet Access Logs de votre instance ALB, cliquez sur le lien situé à côté de Simple Log Service.
Dans la console Simple Log Service, vous pouvez également combiner des champs tels que request_uri, http_host, upstream_addr et status selon vos besoins pour afficher les journaux d'exécution d'un nom de domaine ALB ou des règles de transfert basées sur l'URL.
Étape 3 : Migrer le trafic vers l'instance ALB
Étant donné que CLB et ALB gèrent différemment les noms de domaine et les URL dans leurs règles de transfert, vous devez comparer attentivement les configurations des règles de transfert CLB et ALB avant de migrer le trafic. Pour garantir qu'elles offrent exactement les mêmes fonctionnalités, vous devrez peut-être ajuster les règles de transfert dans ALB en fonction des différences entre les règles de transfert CLB et ALB. De plus, toutes les configurations doivent être testées et vérifiées minutieusement afin d'éviter tout impact imprévu sur votre activité lors du processus de migration.
Effectuez la migration du trafic CLB pendant les heures creuses.
Les étapes suivantes supposent que la résolution DNS est déjà configurée pour l'instance CLB, avec un enregistrement A pointant le nom de domaine du service vers l'adresse de service de l'instance CLB. Après avoir vérifié la configuration de l'instance ALB, migrez le trafic de l'instance CLB vers l'instance ALB comme suit. Cette rubrique utilise Alibaba Cloud DNS à titre d'exemple. Pour plus d'informations sur Alibaba Cloud DNS, consultez la section Résolution DNS publique faisant autorité.
Étape 1 : Configurer un domaine temporaire et un enregistrement CNAME
Un enregistrement CNAME est recommandé pour l'instance ALB. Pour activer le routage pondéré, ajoutez un enregistrement CNAME pour un nom de domaine temporaire qui pointe vers l'adresse de service de l'instance CLB. Les étapes suivantes utilisent www.example.net comme nom de domaine de service pour l'instance CLB.
Pour utiliser le routage pondéré, vous devez disposer de plusieurs enregistrements A, CNAME ou AAAA partageant le même nom d'hôte et la même source de requête.
Connectez-vous à la console Alibaba Cloud DNS.
Sur la page Public Zone, recherchez et cliquez sur le nom de domaine
example.netassocié à l'instance CLB.Sur la page Settings, localisez l'enregistrement A qui pointe vers l'adresse de service de l'instance CLB, puis cliquez sur Edit dans la colonne Actions.
Dans le panneau Edit Record, modifiez le champ Hostname, puis cliquez sur OK. Dans cet exemple, le champ Hostname est remplacé par web0. Laissez les autres paramètres inchangés.
-
Sur la page Settings, cliquez sur Add Record. Dans le panneau Add Record, configurez les paramètres suivants et cliquez sur OK.
Paramètre
Description
Record Type
Sélectionnez CNAME dans la liste déroulante.
Hostname
Le préfixe de votre nom de domaine. Dans cet exemple, saisissez www.
DNS Query Source
Sélectionnez Default.
TTL
Durée de vie (TTL), qui contrôle la durée de mise en cache d'un enregistrement DNS sur les serveurs DNS. Dans cet exemple, définissez la valeur sur 5 secondes.
Record Value
Saisissez le nom de domaine temporaire. Dans cet exemple, saisissez web0.example.net.
Étape 2 : Ajouter un enregistrement CNAME pour ALB
Sur la page Settings, cliquez sur Add Record. Dans le panneau Add Record, configurez les paramètres suivants et cliquez sur OK.
|
Paramètre |
Description |
|
Record Type |
Sélectionnez CNAME dans la liste déroulante. |
|
Hostname |
Le préfixe de votre nom de domaine. Dans cet exemple, saisissez www. |
|
DNS Query Source |
Sélectionnez Default. |
|
TTL |
Durée de vie (TTL), qui contrôle la durée de mise en cache d'un enregistrement DNS sur les serveurs DNS. Dans cet exemple, définissez la valeur sur 5 secondes. |
|
Record Value |
Saisissez le nom DNS de l'instance ALB. |
Étape 3 : Définir les poids et démarrer le déploiement canari
Sur la page Settings, localisez l'enregistrement CNAME ajouté à l'étape 2. Cliquez sur la flèche déroulante à côté de Edit et sélectionnez Edit Record Set.
Dans la section Record Values en bas du panneau Edit Record, définissez les poids des enregistrements DNS pour les instances CLB et ALB comme suit : attribuez un poids de 100 à l'enregistrement DNS de l'instance CLB et un poids de 0 à celui de l'instance ALB. Cliquez sur OK pour enregistrer vos modifications et quitter.
Après avoir vérifié que vos services ne sont pas affectés, réduisez progressivement le poids de l'enregistrement DNS de l'instance CLB et augmentez celui de l'instance ALB.
-
Connectez-vous à l'instance ECS04 située dans le même VPC que l'instance ALB, et exécutez plusieurs fois la commande
digpour vérifier la migration du trafic.RemarqueAssurez-vous que l'instance ECS04 dispose d'une adresse IP publique et installez la commande dig en exécutant
yum install bind-utils.dig www.example.netLa figure suivante présente le résultat de la commande. Les résultats montrent que les requêtes sont distribuées vers l'instance ALB ou CLB en fonction des poids configurés.


Étape 4 : Finaliser la migration du trafic
En fonction des résultats de vérification de la migration du trafic, réduisez progressivement le poids de l'enregistrement DNS de l'instance CLB à 0 et, simultanément, augmentez progressivement le poids de l'enregistrement DNS de l'instance ALB à 100. Cela permet de finaliser la migration du trafic de l'instance CLB vers l'instance ALB. Lorsque toutes les connexions persistantes sur l'instance CLB sont entièrement traitées et que l'instance CLB ne reçoit plus de nouveau trafic, vous pouvez surveiller l'instance pendant une période donnée en fonction de votre scénario métier, puis libérer l'instance CLB. Pour plus d'informations sur la libération d'une instance CLB, consultez la section Libérer une instance CLB.
FAQ
Migration des règles de redirection et de transfert du CLB
Après la migration, le système configure automatiquement les règles de redirection et de transfert pour les noms de domaine et les chemins d'URL sur l'instance ALB.
Étant donné que le CLB et l'ALB traitent les noms de domaine et les URL différemment, nous vous recommandons de comparer attentivement les configurations des règles de transfert du CLB et de l'ALB avant de basculer le trafic. Pour garantir une fonctionnalité identique, il peut être nécessaire d'ajuster les règles de transfert dans l'ALB en fonction des différences entre les règles de transfert du CLB et de l'ALB.
Différences entre les règles de transfert du CLB et de l'ALB<!--@draft-comment {"id":"ddf467d917nu1"}Console anchor#c88c150a21f8l
Les règles de transfert du CLB et de l'ALB diffèrent par leur traitement des noms de domaine et des chemins d'URL :
-
Nom de domaine
Les règles de transfert de nom de domaine du CLB prennent en charge la correspondance exacte et la correspondance avec joker. L'ordre de priorité est le suivant : correspondance exacte > joker plus spécifique > joker moins spécifique. Cela garantit que la règle la plus précise est exécutée en premier.
Les règles de transfert de nom de domaine de l'ALB prennent en charge la correspondance exacte, la correspondance avec joker et la correspondance par expression régulière. Les règles sont évaluées en fonction de la priorité que vous spécifiez.
-
Chemin d'URL
Les règles de transfert de chemin d'URL du CLB utilisent la correspondance du préfixe le plus long.
Les règles de transfert de chemin d'URL de l'ALB prennent en charge la correspondance exacte, la correspondance avec joker et la correspondance par expression régulière.
Le tableau suivant compare la manière dont le CLB et l'ALB gèrent les caractères spéciaux dans les requêtes URL. Utilisez ce tableau pour adapter vos règles de transfert lors de la migration du CLB vers l'ALB.
URL configurée
Requête
CLB
ALB
Description
??Ne correspond pas
Ne correspond pas
Le caractère
?dans une requête sépare généralement le chemin d'URL de la chaîne de requête et est supprimé lors du traitement.Tout caractère valide
Ne correspond pas
Correspond
Dans une correspondance avec joker,
?peut représenter n'importe quel caractère valide unique.%%Ne correspond pas
- (Non autorisé)
Le caractère
%dans une requête est généralement utilisé pour l'encodage en pourcentage. Lors du traitement,%61est décodé ena.%61%61Ne correspond pas
- (Non autorisé)
Le caractère
%dans une requête est généralement utilisé pour l'encodage en pourcentage. Lors du traitement,%61est décodé ena.aNe correspond pas
Ne correspond pas
-
a%61Correspond
Correspond
Le caractère
%dans une requête est généralement utilisé pour l'encodage en pourcentage. Lors du traitement,%61est décodé ena.ab,abc, etc.Correspond
Ne correspond pas
Le CLB prend en charge la correspondance du préfixe le plus long. L'ALB prend en charge la correspondance exacte et la correspondance avec joker.
test/*test- (Non pris en charge)
Ne correspond pas
Le CLB prend en charge la correspondance du préfixe le plus long. L'ALB prend en charge la correspondance avec joker.
test/- (Non pris en charge)
Correspond
test/a- (Non pris en charge)
Correspond
Migration des certificats pour les écouteurs HTTPS du CLB
-
Lors de la migration, vous devez spécifier manuellement les certificats. Si vous ne disposez pas des certificats requis, vous devez d'abord les acheter ou les télécharger dans le Certificate Center.
Pour les certificats de serveur, consultez les rubriques Acheter un certificat commercial et Télécharger, synchroniser et partager des certificats SSL.
Pour les certificats CA, consultez la rubrique Acheter et activer une autorité de certification privée.
-
Après la migration, le système applique automatiquement les certificats de serveur, supplémentaires et CA que vous avez spécifiés.
L'ALB peut distribuer le trafic pour plusieurs noms de domaine. Pour plus d'informations, consultez la rubrique Configurer un site web HTTPS avec plusieurs noms de domaine sur une seule instance ALB.
L'ALB prend en charge l'authentification HTTPS unidirectionnelle et bidirectionnelle. Pour plus d'informations, consultez les rubriques Utiliser le HTTPS de bout en bout pour chiffrer le trafic et Déployer un service HTTPS avec authentification bidirectionnelle à l'aide de l'ALB.
Migration des serveurs backend depuis différents VPC
Un groupe de serveurs ALB appartient à un VPC spécifique. Lors de la migration, le système crée un nouveau groupe de serveurs dans le VPC de l'instance ALB. Vous devez ajouter manuellement les serveurs backend à ce nouveau groupe. Ces serveurs doivent également se trouver dans le même VPC que l'instance ALB.
L'ALB permet d'attacher des serveurs provenant de différents VPC en utilisant un groupe de serveurs basé sur l'IP. Pour ce faire, créez un groupe de serveurs basé sur l'IP pour votre instance ALB après avoir terminé l'assistant de migration, puis ajoutez les instances ECS au groupe de serveurs. Pour plus d'informations, consultez la rubrique Utiliser l'ALB pour attacher des serveurs dans des VPC inter-régions.