Data Transmission Service (DTS) vous permet d'effectuer une migration complète ponctuelle d'un projet MaxCompute vers une instance ApsaraDB RDS for MySQL, couvrant à la fois la migration du schéma et la migration des données. DTS ne prend pas en charge la migration incrémentielle depuis MaxCompute : interrompez toutes les écritures sur le projet source avant de démarrer la tâche.
Types de migration pris en charge
| Type de migration | Pris en charge |
|---|---|
| Migration du schéma | Oui |
| Migration complète des données | Oui |
| Migration incrémentielle des données | Non |
Prérequis
Avant de commencer, assurez-vous d'avoir :
Une paire AccessKey créée sous le compte Alibaba Cloud propriétaire du projet MaxCompute. Consultez la rubrique Créer une paire AccessKey.
La liste d'autorisation d'adresses IP de MaxCompute configurée pour autoriser l'accès par DTS. Consultez la rubrique Configurer une liste d'autorisation d'adresses IP pour autoriser l'accès des services Alibaba Cloud à MaxCompute.
Une instance de destination ApsaraDB RDS for MySQL disposant d'un espace de stockage suffisant et d'un compte de base de données doté d'autorisations en lecture et en écriture. Consultez les rubriques Créer un compte et Modifier les autorisations d'un compte.
Facturation
| Type de migration | Frais de configuration de la tâche | Frais de transfert de données |
|---|---|---|
| Migration du schéma et migration complète des données | Gratuit | Gratuit dans cet exemple. Des frais s'appliquent uniquement lorsque les données sont transférées depuis Alibaba Cloud via Internet. Consultez la rubrique Présentation de la facturation. |
Limites
Aucune migration incrémentielle. DTS prend uniquement en charge la migration complète des données depuis MaxCompute. N'écrivez pas de nouvelles données dans le projet source après le démarrage de la tâche, car ces données ne seront pas migrées et entraîneront une incohérence des données.
Risque de doublons. MaxCompute ne prend pas en charge les contraintes de clé primaire. En cas d'erreurs réseau entraînant une nouvelle tentative de la tâche par DTS, des enregistrements en double peuvent être écrits dans les tables de destination dépourvues de clés primaires.
Risque de reprise automatique. Si une tâche de migration échoue, DTS la reprend automatiquement. Arrêtez ou libérez la tâche avant de basculer les charges de travail vers la base de données de destination. Sinon, la tâche reprise écrasera les données déjà présentes dans la destination.
Incohérence du schéma. MaxCompute et ApsaraDB RDS for MySQL sont des bases de données hétérogènes. DTS ne garantit pas la cohérence du schéma après la migration du schéma. Évaluez l'impact de la conversion des types de données avant de démarrer la migration. Consultez la rubrique Correspondances des types de données entre bases de données hétérogènes.
-
Croissance de l'espace de table de destination. Les opérations INSERT concurrentes lors de la migration complète provoquent une fragmentation des tables de destination. Une fois la migration terminée, l'espace de table de destination est plus grand que celui de la source. Exécutez
ANALYZE TABLEouOPTIMIZE TABLEpour récupérer de l'espace.RemarqueL'exécution de
OPTIMIZE TABLEverrouille la table pendant son exécution. Planifiez cette opération pendant les heures creuses. Impact sur les performances. DTS utilise les ressources en lecture et en écriture des bases de données source et de destination pendant la migration. Exécutez les migrations pendant les heures creuses, lorsque l'utilisation du CPU sur les deux bases de données est inférieure à 30 %.
Nomination de la base de données de destination. DTS crée automatiquement la base de données de destination. Si le nom de la base de données source ne respecte pas les conventions de nommage d'ApsaraDB RDS for MySQL, créez manuellement la base de données de destination avant de configurer la tâche de migration. Consultez la rubrique Créer des comptes et des bases de données.
Migrer des données
Étape 1 : Accédez à la page Tâches de migration de données
Connectez-vous à la console Data Management (DMS).
Dans la barre de navigation supérieure, cliquez sur DTS.
-
Dans le volet de navigation de gauche, choisissez DTS (DTS) > Data Migration.
RemarqueLes étapes peuvent varier selon le mode et la disposition de la console DMS. Consultez les rubriques Mode simple et Personnaliser la disposition et le style de la console DMS. Vous pouvez également accéder directement à la page Tâches de migration de données dans la nouvelle console DTS.
Étape 2 : Sélectionnez la région
Dans la liste déroulante située à côté de Tâches de migration de données, sélectionnez la région où réside l'instance de migration.
Dans la nouvelle console DTS, sélectionnez plutôt la région dans le coin supérieur gauche.
Étape 3 : Créez une tâche de migration
Cliquez sur Create Task.
-
Facultatif : Dans le coin supérieur droit, cliquez sur New Configuration Page pour basculer vers la nouvelle page de configuration.
RemarqueIgnorez cette étape si Revenir à la version précédente s'affiche à la place. La nouvelle page de configuration est recommandée.
Étape 4 : Configurez les bases de données source et de destination
Configurez les paramètres suivants pour les bases de données source et de destination.
Base de données source (MaxCompute)
| Paramètre | Description |
|---|---|
| Task Name | Nom attribué à la tâche. DTS assigne automatiquement un nom. Spécifiez un nom descriptif pour une identification facile. Le nom n'a pas besoin d'être unique. |
| Select a DMS database instance | Sélectionnez une instance de base de données DMS existante, ou configurez manuellement les paramètres de la base de données source. Si vous sélectionnez une instance existante, DTS renseigne automatiquement les autres paramètres. |
| Database Type | Sélectionnez MaxCompute. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Région où réside le projet MaxCompute source. |
| Project | Nom du projet MaxCompute source. |
| AccessKey ID of Alibaba Cloud Account | AccessKey ID du compte Alibaba Cloud propriétaire du projet MaxCompute. |
| AccessKey Secret of Alibaba Cloud Account | AccessKey secret du compte Alibaba Cloud propriétaire du projet MaxCompute. |
Base de données de destination (ApsaraDB RDS for MySQL)
| Paramètre | Description |
|---|---|
| Select a DMS database instance | Sélectionnez une instance de base de données DMS existante, ou configurez manuellement les paramètres de la base de données de destination. |
| Database Type | Sélectionnez MySQL. |
| Access Method | Sélectionnez Alibaba Cloud Instance. |
| Instance Region | Région où réside l'instance ApsaraDB RDS for MySQL de destination. |
| Replicate Data Across Alibaba Cloud Accounts | Sélectionnez No pour utiliser une instance sous le compte Alibaba Cloud actuel. |
| RDS Instance ID | ID de l'instance ApsaraDB RDS for MySQL de destination. |
| Database Account | Compte de base de données disposant d'autorisations en lecture et en écriture sur la base de données de destination. |
| Database Password | Mot de passe du compte de base de données. |
Pour enregistrer une base de données dans DMS, cliquez sur Create Template dans la console DMS. Consultez les rubriques Enregistrer une instance de base de données Alibaba Cloud et Enregistrer une base de données hébergée sur un service cloud tiers ou une base de données gérée par soi-même. Pour enregistrer une base de données directement dans DTS, utilisez la page Database Connections ou la nouvelle page de configuration. Consultez la rubrique Gérer les connexions à la base de données.
Étape 5 : Testez la connectivité
Cliquez sur Test Connectivity and Proceed en bas de la page.
Si la base de données source ou de destination est une instance de base de données Alibaba Cloud, DTS ajoute automatiquement ses blocs CIDR de serveur à la liste d'autorisation d'adresses IP de l'instance. Si la base de données source ou de destination est une base de données gérée par soi-même hébergée sur une instance Elastic Compute Service (ECS), DTS ajoute automatiquement les blocs CIDR des serveurs DTS aux règles du groupe de sécurité de l'instance ECS, et vous devez vous assurer que l'instance ECS peut accéder à la base de données. Si la base de données gérée par soi-même est hébergée sur plusieurs instances ECS, vous devez ajouter manuellement les blocs CIDR des serveurs DTS aux règles du groupe de sécurité de chaque instance ECS. Pour les bases de données gérées par soi-même hébergées dans un centre de données ou fournies par un service cloud tiers, ajoutez manuellement les blocs CIDR des serveurs DTS à la liste d'autorisation de la base de données. Consultez la rubrique Blocs CIDR des serveurs DTS.
L'ajout des blocs CIDR des serveurs DTS à une liste d'autorisation de base de données ou aux règles du groupe de sécurité ECS introduit des risques de sécurité. Avant d'utiliser DTS, prenez les précautions suivantes : renforcez votre nom d'utilisateur et votre mot de passe, limitez les ports exposés, authentifiez les appels API, examinez régulièrement la liste d'autorisation et les règles du groupe de sécurité, et supprimez les blocs CIDR non autorisés. Pour une isolation au niveau du réseau, connectez la base de données à DTS en utilisant Express Connect, VPN Gateway ou Smart Access Gateway.
Étape 6 : Accordez les autorisations et vérifiez la connectivité
Cliquez sur OK pour accorder l'accès au compte intégré DTS au projet MaxCompute, puis cliquez sur Test Connectivity.
Étape 7 : Sélectionnez les objets à migrer
Sur la page Select Objects, configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Migration Types | Sélectionnez à la fois Schema Migration et Full Data Migration. |
| Processing Mode of Conflicting Tables | Precheck and Report Errors (par défaut) : vérifie la présence de tables portant des noms identiques dans la source et la destination. La vérification préalable échoue si des conflits sont trouvés, empêchant le démarrage de la tâche. Pour résoudre les conflits, utilisez le mappage des noms d'objets pour renommer les tables migrées. Ignore Errors and Proceed : ignore la vérification des noms identiques. Si la source et la destination ont le même schéma, les enregistrements avec des clés primaires correspondantes sont ignorés. Si les schémas diffèrent, seules certaines colonnes migrent ou la tâche échoue entièrement. À utiliser avec prudence. |
| Capitalization of Object Names in Destination Instance | Politique de casse pour les noms de bases de données, de tables et de colonnes dans la destination. Par défaut : DTS default policy. Consultez la rubrique Spécifier la casse des noms d'objets. |
| Source Objects | Sélectionnez les projets ou les tables à migrer, puis cliquez sur l'icône de flèche pour les ajouter à Selected Objects. |
| Selected Objects | Pour renommer un seul objet, faites un clic droit dessus. Consultez la rubrique Mapper le nom d'un seul objet. Pour renommer plusieurs objets à la fois, cliquez sur Batch Edit. Consultez la rubrique Mapper plusieurs noms d'objets. Pour filtrer les données par condition, faites un clic droit sur la table et spécifiez les conditions de filtrage. Consultez la rubrique Définir des conditions de filtrage. |
Si vous renommez un objet à l'aide du mappage des noms d'objets, les autres objets qui en dépendent peuvent échouer lors de la migration.
Étape 8 : Configurez les paramètres avancés
Cliquez sur Next: Advanced Settings et configurez les paramètres suivants.
| Paramètre | Description |
|---|---|
| Select the dedicated cluster used to schedule the task | DTS utilise un cluster partagé par défaut. Pour améliorer la stabilité de la migration, achetez un cluster dédié. Consultez la rubrique Qu'est-ce qu'un cluster dédié DTS ?. |
| Retry Time for Failed Connections | Durée pendant laquelle DTS tente de reconnecter une connexion ayant échoué après le démarrage de la tâche. Valeurs valides : 10–1440 minutes. Par défaut : 720 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 30. Si DTS se reconnecte dans cette fenêtre, la tâche reprend. Sinon, la tâche échoue. Si plusieurs tâches partagent la même source ou la même destination, la valeur définie le plus récemment a priorité. |
| The wait time before a retry when other issues occur in the source and destination databases | Durée pendant laquelle DTS retente les opérations DML ou DDL ayant échoué. Valeurs valides : 1–1440 minutes. Par défaut : 10 minutes. Nous vous recommandons de définir ce paramètre sur une valeur supérieure à 10, et toujours inférieure à la valeur de Retry Time for Failed Connections. |
| Enable Throttling for Full Data Migration | Limite l'utilisation des ressources en lecture/écriture de DTS pendant la migration complète pour réduire la charge sur la destination. Lorsque cette option est activée, configurez QPS (queries per second) to the source database, RPS of Full Data Migration et Data migration speed for full migration (MB/s). Disponible uniquement lorsque Full Data Migration est sélectionné. |
| Environment Tag | Tag facultatif pour identifier l'instance DTS. |
| Configure ETL | Indique s'il faut activer l'extraction, la transformation et le chargement (ETL). Sélectionnez Yesles paramètres de notification d'alerte pour saisir les instructions de traitement des données. Consultez la rubrique Configurer ETL. Sélectionnez No pour ignorer. Pour une vue d'ensemble, consultez la rubrique Qu'est-ce qu'ETL ? |
| Monitoring and Alerting | Indique s'il faut configurer des alertes pour la tâche de migration. Sélectionnez Yes pour configurer les seuils d'alerte et les contacts de notification. Consultez la rubrique Configurer la surveillance et les alertes. |
Étape 9 : Exécutez la vérification préalable
Cliquez sur Next: Save Task Settings and Precheck.
Pour afficher les paramètres d'API que DTS utiliserait pour cette configuration, survolez Next: Save Task Settings and Precheck et cliquez sur Preview OpenAPI parameters.
DTS exécute une vérification préalable avant de démarrer la tâche de migration. La tâche ne peut démarrer qu'après la réussite de la vérification préalable.
Si la vérification préalable échoue, cliquez sur View Details à côté de chaque élément ayant échoué, corrigez les problèmes et relancez la vérification préalable.
Si la vérification préalable génère une alerte, examinez-la avant de continuer. Si l'alerte peut être ignorée en toute sécurité, cliquez sur Confirm Alert Details, puis cliquez sur Ignore dans la boîte de dialogue, confirmez et cliquez sur Precheck Again.
Attendez que le taux de réussite atteigne 100 %, puis cliquez sur Next: Purchase Instance.
Étape 10 : Achetez une instance de migration et démarrez la tâche
-
Sur la page Purchase Instance, configurez les paramètres suivants.
Section Paramètre Description New Instance Class Resource Group Settings Le groupe de ressources pour l'instance de migration. Par défaut : default resource group. Consultez la rubrique Qu'est-ce que Resource Management ? Instance Class La classe d'instance détermine la vitesse de migration. Sélectionnez une classe en fonction de votre volume de données et de vos exigences de performance. Consultez la rubrique Spécifications des instances de migration de données. Lisez et acceptez les Data Transmission Service (Pay-as-you-go) Service Terms.
Cliquez sur Buy and Start pour lancer la tâche de migration. Surveillez la progression dans la liste des tâches.
Étapes suivantes
Une fois la migration terminée :
Vérifiez la cohérence des données entre le projet MaxCompute source et l'instance ApsaraDB RDS for MySQL de destination.
Arrêtez ou libérez la tâche de migration DTS avant de basculer les charges de travail vers la base de données de destination.
Si l'espace de table de destination est significativement plus grand que celui de la source, exécutez
ANALYZE TABLEouOPTIMIZE TABLEpour récupérer de l'espace. PlanifiezOPTIMIZE TABLEpendant les heures creuses pour éviter les verrous de table.