Cette rubrique explique comment utiliser Data Transmission Service (DTS) pour migrer les données d'une base de données Redis auto-gérée vers une instance Tair (Redis OSS-Compatible). DTS prend en charge la migration complète et incrémentielle des données. La combinaison de ces types de migration vous permet de transférer votre base de données Redis auto-gérée vers le cloud en toute fluidité, avec une interruption minimale du service.
Prérequis
-
Vous avez créé une instance source Redis auto-gérée et une instance de destination Tair (Redis OSS-Compatible). Pour plus d'informations sur la création d'une instance Tair (Redis OSS-Compatible), consultez la section Étape 1 : Créer une instance.
RemarqueDTS ne prend actuellement en charge que les instances Tair (Redis OSS-Compatible) utilisant le mode de connexion directe.
Pour connaître les versions prises en charge des bases de données source et de destination, consultez la section Présentation des solutions de migration.
L'instance Redis auto-gérée doit pouvoir exécuter correctement les commandes
psyncousync.L'instance de destination Tair (Redis OSS-Compatible) doit disposer d'un espace de stockage disponible supérieur à l'espace utilisé par la base de données source Redis auto-gérée.
Remarques relatives à l'utilisation
|
Type |
Description |
|
Limitations de la base de données source |
|
|
Autres limitations |
|
Facturation
|
Type de migration |
Frais de configuration de l'instance |
Frais de trafic Internet |
|
Migration complète des données |
Gratuit. |
Lorsque le paramètre Access Method de la base de données de destination est défini sur Public IP Address, des frais de trafic Internet vous sont facturés. Pour plus d'informations, consultez la section Présentation de la facturation. |
|
Migration incrémentielle des données |
Facturé. Pour plus d'informations, consultez la section Présentation de la facturation. |
Types de migration
-
Migration complète des données
DTS migre toutes les données existantes des objets sélectionnés de la base de données Redis auto-gérée vers l'instance de destination Tair (Redis OSS-Compatible).
RemarqueSi vous effectuez uniquement une migration complète des données, n'écrivez pas de nouvelles données dans la base de données Redis auto-gérée pendant la migration afin de garantir la cohérence des données.
-
Migration incrémentielle des données
En plus de la migration complète des données, DTS migre les mises à jour incrémentielles des données de la base de données Redis auto-gérée vers l'instance de destination Tair (Redis OSS-Compatible). La migration incrémentielle des données permet une migration fluide vers le cloud sans interruption de service.
Commandes prises en charge pour la migration incrémentielle
APPEND
BITOP, BLPOP, BRPOP, BRPOPLPUSH
DECR, DECRBY, DEL
EVAL, EVALSHA, EXEC, EXPIRE, EXPIREAT
FLUSHALL, FLUSHDB
GEOADD, GETSET
HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, HSETNX
INCR, INCRBY, INCRBYFLOAT
LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, LTRIM
MOVE, MSET, MSETNX, MULTI
PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, PSETEX, PUBLISH
RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH, RPUSHX
SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, SUNIONSTORE
ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE
XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER, XTRIM
Préparations (pour la migration incrémentielle)
Pour garantir le bon fonctionnement de la tâche de migration incrémentielle des données, désactivez la limite du tampon de sortie de réplication. Cette rubrique utilise un serveur exécutant Linux à titre d'exemple.
Si vous devez effectuer uniquement une migration complète des données, vous pouvez ignorer cette étape.
-
Utilisez l'outil redis-cli pour vous connecter à la base de données Redis auto-gérée.
RemarqueVous pouvez utiliser redis-cli après avoir installé Redis. Pour plus d'informations, visitez le site Web officiel de la communauté Redis.
redis-cli -h <host> -p <port> -a <password>Remarque<host> : l'adresse de connexion de la base de données Redis auto-gérée. Vous pouvez utiliser 127.0.0.1 pour une connexion locale.
<port> : le port de service de la base de données Redis auto-gérée. La valeur par défaut est 6379.
<password> : le mot de passe de la base de données Redis auto-gérée.
Exemple :
redis-cli -h 127.0.0.1 -p 6379 -a Test123456 -
Exécutez la commande suivante pour désactiver la limite du tampon de sortie de réplication.
config set client-output-buffer-limit 'slave 0 0 0'
Procédure
-
Accédez à la page de liste des tâches de migration pour la région de destination en utilisant l'une des méthodes suivantes.
Depuis la console DTS
Connectez-vous à la console Data Transmission Service (DTS).
Dans le volet de navigation de gauche, cliquez sur Data Migration.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve l'instance de migration.
Depuis la console DMS
RemarqueLes opérations réelles peuvent varier selon le mode et la disposition de la console DMS. Pour plus d'informations, consultez les rubriques Console en mode simple et Personnaliser la disposition et le style de la console DMS.
Connectez-vous à la console Data Management (DMS).
Dans la barre de menu supérieure, choisissez .
À droite de Data Migration Tasks, sélectionnez la région où se trouve l'instance de migration.
Cliquez sur Create Task pour accéder à la page de configuration de la tâche.
-
Configurez les bases de données source et de destination.
Catégorie
Paramètre
Description
S.O.
Task Name
DTS génère automatiquement un nom de tâche. Nous vous recommandons de spécifier un nom descriptif pour faciliter l'identification. Le nom n'a pas besoin d'être unique.
Source Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de base de données ci-dessous.
Database Type
Sélectionnez Tair/Redis.
Access Method
Sélectionnez une méthode d'accès en fonction de l'emplacement de déploiement de votre base de données source. Cet exemple utilise Self-managed Database on ECS.
RemarqueSi l'instance source est une base de données autogérée, vous devez également effectuer les préparatifs requis.
Instance Region
Sélectionnez la région où réside l'instance ECS qui héberge la base de données Redis source.
Replicate Data Across Alibaba Cloud Accounts
Dans cet exemple, les données sont migrées au sein du même compte Alibaba Cloud. Sélectionnez No.
ECS Instance ID
Sélectionnez l'ID de l'instance ECS qui héberge la base de données Redis source.
RemarqueSi la base de données Redis source est dans une architecture en cluster, sélectionnez l'ID de l'instance ECS où réside n'importe quel nœud maître. Vous devez également ajouter manuellement le bloc CIDR du serveur DTS pour la région aux règles du groupe de sécurité de toutes les autres instances du cluster. Pour plus d'informations, consultez les rubriques Créer un groupe de sécurité, Associer un groupe de sécurité à une instance (ENI principale) et Ajouter les blocs CIDR des serveurs DTS à une liste d'autorisation d'adresses IP.
Instance Mode
Sélectionnez Standalone ou Cluster en fonction de l'architecture de la base de données Redis source.
RemarqueSi la Access Method pour le Redis autogéré est Public IP Address, le mode Cluster n'est pas pris en charge pour le Instance Mode.
Port
Saisissez le port de service de la base de données Redis source. La valeur par défaut est 6379.
RemarqueSi la base de données Redis source est dans une architecture en cluster, saisissez le port de service de n'importe quel nœud maître.
Authentication Method
Sélectionnez une méthode d'authentification en fonction de vos besoins. Dans cet exemple, Password Login est sélectionné.
RemarqueSeules les versions Redis 6.0 et ultérieures prennent en charge Account + Password Login.
Si vous sélectionnez Secret-free login, assurez-vous que l'accès sans mot de passe est activé pour la base de données Redis. Pour savoir comment activer l'accès sans mot de passe pour une instance Tair (Redis OSS-Compatible), consultez la rubrique Activer l'accès sans mot de passe via un VPC.
Database Password
Saisissez le mot de passe pour vous connecter à la base de données Redis source.
RemarqueCe paramètre est facultatif. Vous pouvez le laisser vide si aucun mot de passe n'est défini.
Le mot de passe doit être au format
<user>:<password>. Par exemple, si le nom d'utilisateur personnalisé pour l'instance Redis estadminet le mot de passe estRp829dlwa, saisissezadmin:Rp829dlwa.
Encryption
Sélectionnez Non-encrypted ou SSL-encrypted en fonction des exigences de votre instance de base de données.
RemarqueSi vous utilisez une instance Redis autogérée (la Access Method n'est pas Alibaba Cloud Instance) et que vous sélectionnez SSL-encrypted, vous devez également télécharger un CA Certificate et saisir le CA Certificate Password.
Destination Database
Select Existing Connection
Pour utiliser une instance de base de données qui a été ajoutée au système (créée ou enregistrée), sélectionnez l'instance de base de données souhaitée dans la liste déroulante. Les informations de base de données ci-dessous seront configurées automatiquement.
RemarqueDans la console DMS, ce paramètre est nommé Select a DMS database instance..
Si vous n'avez pas enregistré l'instance de base de données auprès du système ou si vous n'avez pas besoin d'utiliser une instance enregistrée, configurez manuellement les informations de base de données ci-dessous.
Database Type
Sélectionnez Tair/Redis.
Access Method
Sélectionnez Alibaba Cloud Instance.
Instance Region
Sélectionnez la région où réside l'instance Tair (Redis OSS-Compatible) de destination.
Replicate Data Across Alibaba Cloud Accounts
Dans cet exemple, les données sont migrées au sein du même compte Alibaba Cloud. Sélectionnez No.
Instance ID
Sélectionnez l'ID de l'instance Tair (Redis OSS-Compatible) de destination.
Authentication Method
Sélectionnez une méthode d'authentification en fonction de vos besoins. Dans cet exemple, Password Login est sélectionné.
RemarqueSeules les versions Redis 6.0 et ultérieures prennent en charge Account + Password Login.
Si vous sélectionnez Secret-free login, assurez-vous que l'accès sans mot de passe est activé pour la base de données Redis. Pour savoir comment activer l'accès sans mot de passe pour une instance Tair (Redis OSS-Compatible), consultez la rubrique Activer l'accès sans mot de passe via un VPC.
Database Password
Saisissez le mot de passe pour vous connecter à l'instance Tair (Redis OSS-Compatible) de destination.
RemarqueLe mot de passe doit être au format
<user>:<password>. Par exemple, si le nom d'utilisateur personnalisé pour l'instance Tair estadminet le mot de passe estRp829dlwa, saisissezadmin:Rp829dlwa.Encryption
Sélectionnez Non-encrypted ou SSL-encrypted en fonction des exigences de votre instance de base de données.
RemarqueSi vous utilisez une instance Redis autogérée (la Access Method n'est pas Alibaba Cloud Instance) et que vous sélectionnez SSL-encrypted, vous devez également télécharger un CA Certificate et saisir le CA Certificate Password.
-
Une fois la configuration terminée, cliquez sur Test Connectivity and Proceed en bas de la page.
RemarqueAssurez-vous que le segment d'adresses IP du service DTS est ajouté automatiquement ou manuellement aux paramètres de sécurité des bases de données source et de destination pour autoriser l'accès depuis les serveurs DTS. Pour plus d'informations, consultez la rubrique Ajouter les adresses IP des serveurs DTS à une liste d'autorisation.
Si la base de données source ou de destination est une base de données autogérée (la Access Method n'est pas Alibaba Cloud Instance), vous devez également cliquer sur Test Connectivity dans la boîte de dialogue CIDR Blocks of DTS Servers qui s'affiche.
-
Configurez les objets de la tâche.
-
Sur la page Configure Objects, configurez les objets que vous souhaitez migrer.
Paramètre
Description
Migration Types
Sélectionnez Full Data Migration + Incremental Data Migration.
RemarqueSi le compte ne dispose pas des autorisations
SYNCouPSYNCsur la base de données source, sélectionnez Full Data Migration.Processing Mode of Conflicting Tables
Precheck and Report Errors : vérifie si la destination est vide. Si la destination de migration est vide, la vérification préalable réussit. Dans le cas contraire, une erreur est signalée lors de la vérification préalable et la tâche de migration des données ne démarre pas.
Ignore Errors and Proceed : ignore l'élément de vérification Check the existence of objects in the destination database..
AvertissementSi vous sélectionnez Ignore Errors and Proceed et qu'une clé de la destination porte le même nom qu'une clé de la source pendant la migration, les données de la source écrasent celles de la destination. Cela peut entraîner une perte de données dans la destination. Procédez avec prudence.
Source Objects
Dans la zone Source Objects, cliquez sur les objets à migrer, puis cliquez sur
pour les déplacer vers la zone Selected Objects.RemarqueVous pouvez sélectionner des objets au niveau de la base de données. Si vous devez migrer des données pour des clés spécifiques au sein d'une base de données, utilisez la fonctionnalité Filtrer les données de tâche avec une condition SQL dans le volet Selected Objects.
Selected Objects
Pour spécifier une base de données de destination (DB 0 à DB 255) ou filtrer les données par préfixe, utilisez les fonctions de mappage et de filtrage. Dans la zone Selected Objects, faites un clic droit sur la base de données à migrer, puis configurez les paramètres dans la boîte de dialogue Edit Schema. Pour plus d'informations, consultez les rubriques Mappage des noms d'objets et Filtrer les données de tâche avec une condition SQL.
-
Cliquez sur Next: Advanced Settings pour configurer les paramètres avancés.
Paramètre
Description
Dedicated Cluster for Task Scheduling
Par défaut, DTS planifie les tâches sur un cluster partagé. Aucune sélection n'est requise. Si vous souhaitez une stabilité accrue pour vos tâches, vous pouvez acheter un cluster dédié pour exécuter les tâches de migration DTS.
Retry Time for Failed Connections
Une fois la tâche de migration démarrée, si la connexion à la base de données source ou de destination échoue, DTS signale une erreur et tente immédiatement de rétablir la connexion. La durée de nouvelle tentative par défaut est de 720 minutes. Vous pouvez personnaliser ce délai entre 10 et 1 440 minutes. Nous vous recommandons de définir une durée supérieure à 30 minutes. Si DTS se reconnecte aux bases de données source et de destination dans le délai spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
RemarquePour plusieurs instances DTS partageant la même source ou la même destination, le délai de nouvelle tentative réseau est déterminé par le paramètre de la dernière tâche créée.
Étant donné que la tâche est facturée pendant la période de nouvelle tentative de connexion, nous vous recommandons de personnaliser le délai de nouvelle tentative en fonction de vos besoins métier, ou de libérer l'instance DTS dès que possible après la libération des instances de base de données source et de destination.
Retry Time for Other Issues
Une fois la tâche de migration démarrée, si un problème autre qu'un problème de connectivité, tel qu'une exception d'exécution DDL ou DML, se produit dans la base de données source ou de destination, DTS signale une erreur et tente immédiatement de relancer l'opération. La durée de nouvelle tentative par défaut est de 10 minutes. Vous pouvez personnaliser ce délai entre 1 et 1 440 minutes. Nous vous recommandons de définir une durée supérieure à 10 minutes. Si les opérations concernées aboutissent dans le délai de nouvelle tentative spécifié, la tâche de migration reprend automatiquement. Sinon, la tâche échoue.
ImportantLa valeur du paramètre Retry Time for Other Issues doit être inférieure à celle du paramètre Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Pendant la migration complète, DTS consomme des ressources de lecture et d'écriture sur les bases de données source et de destination, ce qui peut augmenter la charge de la base de données. Si nécessaire, vous pouvez activer la limitation de débit pour la tâche de migration complète. Vous pouvez définir les paramètres Queries per second (QPS) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s) afin de réduire la charge sur la base de données de destination.
RemarqueCe paramètre est disponible uniquement si vous sélectionnez Full Data Migration pour le paramètre Migration Types.
Enable Throttling for Incremental Data Migration
Si nécessaire, vous pouvez également choisir de définir des limites de vitesse pour la tâche de migration incrémentielle. Vous pouvez définir les paramètres RPS of Incremental Data Migration et Data migration speed for incremental migration (MB/s) afin de réduire la charge sur la base de données de destination.
RemarqueCe paramètre est disponible uniquement si vous sélectionnez Incremental Data Migration pour le paramètre Migration Types.
Extend Expiration Time of Destination Database Key
Définissez une durée d'expiration supplémentaire pour les clés lorsqu'elles sont migrées de la base de données source vers la base de données de destination. Pour garantir la cohérence des données, nous vous recommandons de définir une durée d'expiration prolongée pour les clés si des commandes telles que les suivantes sont utilisées.
RemarqueDans les scénarios impliquant des verrous distribués, cela peut empêcher la libération rapide des verrous.
expire key seconds pexpire key milliseconds expireat key timestamp pexpireat key timestampMsUse Slave Node
Si le Instance Mode de l'instance Redis auto-gérée source est Cluster, vous pouvez choisir de lire les données à partir des nœuds maîtres ou des nœuds réplicas. La valeur par défaut est No, ce qui signifie que les données sont lues à partir des nœuds maîtres.
Environment Tag
Vous pouvez sélectionner un tag d'environnement pour identifier l'instance selon vos besoins. Dans cet exemple, aucune sélection n'est nécessaire.
Configure ETL
Choisissez d'activer ou non la fonctionnalité Extract, Transform, Load (ETL). Pour plus d'informations, consultez la rubrique Qu'est-ce que ETL ? Valeurs valides :
-
Yes : active la fonctionnalité ETL. Saisissez les instructions de traitement des données dans l'éditeur de code. Pour plus d'informations, consultez la rubrique Configurer ETL dans une tâche de migration ou de synchronisation de données.
-
No : désactive la fonctionnalité ETL.
Monitoring and Alerting
Sélectionnez si vous souhaitez configurer des alertes et recevoir des notifications d'alerte en fonction de vos besoins métier.
No : ne configure pas d'alerte.
Yes : configurez les alertes en définissant un seuil d'alerte et un notifications d'alerte. En cas d'échec de la migration ou si la latence dépasse le seuil, le système envoie une notification d'alerte.
-
Cliquez sur Next: Data Validation pour configurer une tâche de validation des données.
Si vous souhaitez utiliser la fonctionnalité de validation des données, consultez la rubrique Configurer la validation des données pour obtenir des instructions de configuration.
-
-
Enregistrez la tâche et exécutez une vérification préalable.
Pour afficher les paramètres de configuration de cette instance lors de l'appel de l'opération API, placez le pointeur sur le bouton Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters dans la bulle qui s'affiche.
Si vous n'avez pas besoin d'afficher les paramètres API ou si vous avez terminé leur consultation, cliquez sur Next: Save Task Settings and Precheck en bas de la page.
RemarqueAvant le démarrage de la tâche de migration, DTS effectue une vérification préalable. La tâche ne démarre qu'après réussite de cette vérification.
Si la vérification préalable échoue, cliquez sur View Details à côté de l'élément de vérification ayant échoué, corrigez le problème selon l'invite, puis relancez la vérification préalable.
-
Si un avertissement est signalé lors de la vérification préalable :
Pour les éléments de vérification qui ne peuvent pas être ignorés, cliquez sur View Details à côté de l'élément ayant échoué, corrigez le problème selon l'invite, puis relancez la vérification préalable.
Pour les éléments de vérification qui peuvent être ignorés, vous pouvez cliquer sur Confirm Alert Details, Ignore, OK et Precheck Again pour ignorer l'élément d'avertissement et relancer la vérification préalable. Si vous choisissez d'ignorer un avertissement, cela peut entraîner des problèmes tels qu'une incohérence des données et présenter des risques pour votre activité.
-
Achetez l'instance.
Lorsque le Success Rate atteint 100 %, cliquez sur Next: Purchase Instance.
-
Sur la page Purchase, sélectionnez la spécification de lien pour l'instance de migration de données. Pour plus d'informations, consultez le tableau suivant.
Catégorie
Paramètre
Description
New Instance Class
Resource Group Settings
Sélectionnez le groupe de ressources auquel appartient l'instance. La valeur par défaut est le groupe de ressources par défaut. Pour plus d'informations, consultez la rubrique Qu'est-ce que la gestion des ressources ?
Instance Class
DTS propose des spécifications de migration avec différents niveaux de performance. La spécification de lien affecte la vitesse de migration. Vous pouvez sélectionner une spécification en fonction de votre scénario métier. Pour plus d'informations, consultez la rubrique Spécifications des liens de migration de données.
Une fois la configuration terminée, lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
-
Cliquez sur Buy and Start, puis sur OK dans la boîte de dialogue OK.
Vous pouvez consulter la progression spécifique sur la page de migration des données.
RemarqueSi votre instance DTS est configurée pour la migration complète et incrémentielle (le paramètre Migration Types inclut à la fois Full Data Migration et Incremental Data Migration), la tâche est répertoriée comme <!--@uicontrol {"id":"c245bb81b959q","data-isbold="true","class":"uicontrol"}-->Migration incrémentielle des données sur la page de liste des tâches de migration.