Composants de AWS DMS - AWS Service de Migration de Base de Données

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Composants de AWS DMS

Cette section décrit les composants internes AWS DMS et la manière dont ils fonctionnent ensemble pour effectuer la migration de vos données. La compréhension des composants sous-jacents d' AWS DMS peut vous aider à migrer vos données plus efficacement et à mieux saisir les tenants et les aboutissants lors de la résolution ou de l'étude de problèmes.

Une AWS DMS migration comprend cinq éléments : découverte des bases de données à migrer, conversion automatique du schéma, instance de réplication, points de terminaison source et cible, et tâche de réplication. Vous créez une AWS DMS migration en créant l'instance de réplication, les points de terminaison et les tâches nécessaires dans un Région AWS.

Découverte des bases de données

DMSFleet Advisor collecte des données provenant de plusieurs environnements de base de données afin de fournir un aperçu de votre infrastructure de données. DMSFleet Advisor collecte les données de votre base de données sur site et de vos serveurs d'analyse à partir d'un ou de plusieurs sites centraux sans qu'il soit nécessaire de les installer sur chaque ordinateur. Actuellement, DMS Fleet Advisor prend en charge les SQL serveurs de SQL base de données Microsoft ServerSQL, My, Oracle et Postgre.

Sur la base des données découvertes sur votre réseau, DMS Fleet Advisor établit un inventaire que vous pouvez consulter afin de déterminer les serveurs de base de données et les objets à surveiller. Au fur et à mesure que des informations relatives à ces serveurs, bases de données et schémas sont collectées, vous pouvez analyser la faisabilité des migrations de bases de données que vous envisagez.

Migration de schéma et de code

DMSLa conversion de schéma dans AWS DMS rend les migrations de bases de données entre différents types de bases de données plus prévisibles. Vous pouvez utiliser la conversion de DMS schéma pour évaluer la complexité de votre migration pour votre fournisseur de données source, puis l'utiliser pour convertir des schémas de base de données et des objets de code. Vous pouvez alors appliquer le code converti à la base de données cible.

À un niveau élevé, la conversion de DMS schéma fonctionne avec les trois composants suivants : les profils d'instance, les fournisseurs de données et les projets de migration. Un profil d’instance spécifie les paramètres réseau et de sécurité. Un fournisseur de données stocke les informations d’identification de connexion à la base de données. Un projet de migration contient des fournisseurs de données, un profil d'instance et des règles de migration. AWS DMS utilise des fournisseurs de données et un profil d'instance pour concevoir un processus de conversion des schémas de base de données et des objets de code.

Instance de réplication

À un niveau élevé, une instance de AWS DMS réplication est simplement une instance Amazon Elastic Compute Cloud (AmazonEC2) gérée qui héberge une ou plusieurs tâches de réplication.

La figure suivante montre un exemple d'instance de réplication qui exécute plusieurs tâches de réplication associées.

Commencez avec AWS DMS

Une instance de réplication unique peut héberger une ou plusieurs tâches de réplication, en fonction des caractéristiques de votre migration et de la capacité du serveur de réplication. AWS DMS fournit une variété d'instances de réplication afin que vous puissiez choisir la configuration optimale pour votre cas d'utilisation. Pour plus d'informations sur les différentes classes d'instances de réplication, consultez Choisir le bon AWS DMSinstance de réplication pour votre migration.

AWS DMS crée l'instance de réplication sur une EC2 instance Amazon. Certaines des plus petites classes d'instance sont suffisantes pour tester le service ou effectuer de petites migrations. Si votre migration implique un grand nombre de tables, ou si vous prévoyez d'exécuter plusieurs tâches de réplication simultanées, vous devez envisager d'utiliser une des instances plus grandes. Nous recommandons cette approche car elle AWS DMS peut consommer une quantité importante de mémoire etCPU.

Selon la classe d'EC2instance Amazon que vous sélectionnez, votre instance de réplication est fournie avec 50 Go ou 100 Go de stockage de données. Ce volume est généralement suffisant pour la plupart des clients. Toutefois, si votre migration implique de grandes transactions ou un important volume de changements de données, vous pouvez augmenter l'allocation de stockage de base. La capture des données de modification (CDC) peut entraîner l'écriture de données sur le disque, en fonction de la rapidité avec laquelle la cible peut écrire les modifications. Comme les fichiers journaux sont également écrits sur le disque, l’augmentation du niveau de gravité de la journalisation entraîne également l’augmentation de la consommation de stockage.

AWS DMS peut fournir une haute disponibilité et un support de basculement à l'aide d'un déploiement multi-AZ. Dans un déploiement multi-AZ, AWS DMS provisionne et gère automatiquement une réplique de secours de l'instance de réplication dans une autre zone de disponibilité. L'instance de réplication principale est répliquée de manière synchrone vers le réplica de secours. Si l'instance de réplication principale échoue ou ne répond plus, l'instance de secours reprend toutes les tâches en cours avec une interruption minimale. Comme l'instance principale réplique constamment son état vers l'instance de secours, un déploiement multi-AZ occasionne une certaine dégradation des performances.

Pour des informations plus détaillées sur l'instance de AWS DMS réplication, consultezTravailler avec un AWS DMS instance de réplication.

Plutôt que de créer et de gérer une instance de réplication, vous pouvez configurer votre AWS DMS réplication automatiquement à l'aide de AWS DMS Serverless. Pour de plus amples informations, veuillez consulter Travailler avec AWS DMS Serverless.

Point de terminaison

AWS DMS utilise un point de terminaison pour accéder à votre banque de données source ou cible. Les informations de connexion spécifiques sont différentes en fonction de votre magasin de données mais, en général, vous fournissez les informations suivantes lorsque vous créez un point de terminaison :

  • Type de point de terminaison : source ou cible.

  • Type de moteur : type de moteur de base de données, tel qu'Oracle ou PostgreSQL.

  • Nom du serveur : nom du serveur ou adresse IP AWS DMS accessible.

  • Port : numéro de port utilisé pour les connexions de serveur de base de données.

  • Chiffrement : mode Secure Socket Layer (SSL), s'SSLil est utilisé pour chiffrer la connexion.

  • Informations d’identification : nom d’utilisateur et mot de passe pour un compte doté des droits d’accès requis.

Lorsque vous créez un point de terminaison à l'aide de la AWS DMS console, celle-ci vous demande de tester la connexion du point de terminaison. Le test doit être réussi avant d'utiliser le point de terminaison dans une AWS DMS tâche. Comme les informations de connexion, les critères de test spécifiques sont différents pour différents types de moteur. En général, AWS DMS vérifie que la base de données existe pour le port et nom de serveur donnés, et que les informations d'identification fournies permettent de se connecter à la base de données avec les privilèges nécessaires pour effectuer une migration. Si le test de connexion est réussi, AWS DMS télécharge et stocke les informations du schéma pour les utiliser ultérieurement lors de la configuration des tâches. Ces informations peuvent inclure des définitions de table, des définitions de clé primaire et des définitions de clé unique, par exemple.

Plusieurs tâches de réplication peuvent utiliser un seul point de terminaison. Par exemple, vous pouvez avoir deux applications logiquement distinctes, hébergées dans la même base de données source que vous souhaitez migrer séparément. Dans ce cas, vous créez deux tâches de réplication, une pour chaque ensemble de tables d'application. Vous pouvez utiliser le même AWS DMS point de terminaison pour les deux tâches.

Vous pouvez personnaliser le comportement d’un point de terminaison à l’aide des paramètres du point de terminaison. Les paramètres du point de terminaison peuvent contrôler divers comportements tels que le niveau de détail de la journalisation, la taille des fichiers et d’autres paramètres. Chaque type de moteur de stockage de données dispose de paramètres de point de terminaison différents. Vous pouvez trouver les paramètres de point de terminaison spécifiques pour chaque magasin de données dans la section source ou cible de ce magasin de données. Pour obtenir la liste des magasins de données source et cible pris en charge, consultez Sources pour AWS DMS et Objectifs pour AWS DMS.

Pour des informations plus détaillées sur les AWS DMS points de terminaison, consultezUtilisation des points de terminaison AWS DMS.

Tâches de réplication

Vous utilisez une tâche de AWS DMS réplication pour déplacer un ensemble de données du point de terminaison source vers le point de terminaison cible. La création d'une tâche de réplication est la dernière étape que vous devez effectuer avant de démarrer une migration.

Lorsque vous créez une tâche de réplication, vous spécifiez les paramètres de tâche suivants :

  • Instance de réplication : l’instance utilisée pour héberger et exécuter la tâche

  • Point de terminaison source

  • Point de terminaison cible

  • Options de type de migration, comme indiqué ci-après. Pour obtenir une explication complète des options de type de migration, reportez-vous à Création d’une tâche.

    • Chargement complet (Transférer les données existantes) : si vous pouvez vous permettre une interruption suffisamment longue pour copier vos données existantes, il est judicieux de choisir cette option. Cette option migre simplement les données de votre base de données source vers votre base de données cible, en créant des tables le cas échéant.

    • Chargement complet + CDC (migrer les données existantes et répliquer les modifications en cours) — Cette option effectue un chargement complet des données tout en capturant les modifications sur la source. Une fois le chargement complet terminé, les modifications capturées sont appliquées à la cible. L'application des modifications finit par atteindre un état stable. Vous pouvez à ce stade fermer vos applications, laisser les modifications restantes être appliquées à la cible, puis redémarrer vos applications pointant vers la cible.

    • CDCuniquement (Répliquer les modifications de données uniquement) — Dans certains cas, il peut être plus efficace de copier les données existantes à l'aide d'une méthode autre que AWS DMS. Par exemple, dans une migration homogène, l'utilisation d'outils natifs d'importation/exportation peut se révéler plus efficace pour charger les données en masse. Dans ce cas, vous pouvez l'utiliser AWS DMS pour répliquer les modifications dès le début de votre chargement en masse afin de synchroniser vos bases de données source et cible.

  • Options de mode de préparation de table cible, comme indiqué ci-après. Pour obtenir une présentation complète des modes de table cible, consultez Création d’une tâche.

    • Ne rien faire : AWS DMS suppose que les tables cibles sont précréées sur la cible.

    • Déposer les tables sur la cible : AWS DMS supprime et recrée les tables cibles.

    • Tronquer : si vous avez créé des tables sur la cible, AWS DMS tronquez-les avant le début de la migration. S'il n'existe aucune table et que vous sélectionnez cette option, AWS DMS crée les tables manquantes.

  • LOBoptions de mode, comme indiqué ci-dessous. Pour une explication complète des LOB modes, voirConfiguration de la LOB prise en charge des bases de données sources dans une AWS DMS tâche.

    • N'incluez pas LOB les LOB colonnes : les colonnes sont exclues de la migration.

    • LOBMode complet : migration complète, LOBs quelle que soit la taille. AWS DMS migre par LOBs morceaux en morceaux contrôlés par le paramètre Max Size. LOB Ce mode est plus lent que le LOB mode limité.

    • LOBMode limité : tronquez LOBs à la valeur spécifiée par le paramètre Max LOB Size. Ce mode est plus rapide que le LOB mode complet.

  • Mappages de tables : indique les tables à migrer et la façon dont elles sont migrées. Pour de plus amples informations, veuillez consulter Utilisation du mappage de table pour spécifier des paramètres de tâche.

  • Transformations de données, comme indiqué ci-après. Pour plus d'informations sur les transformations de données, consultez Spécification des règles de sélection de table et de transformation à l’aide de JSON.

    • Modification des noms de schéma, de table et de colonne.

    • Modification des noms d'espace de table (pour les points de terminaison cible Oracle).

    • Définition de clés principales et d'index uniques sur la cible.

  • Validation des données

  • CloudWatch Journalisation Amazon

Vous utilisez cette tâche pour migrer les données du point de terminaison source vers le point de terminaison cible ; le traitement des tâches s'effectue sur l'instance de réplication. Vous spécifiez les tables et les schémas à migrer, ainsi que tout traitement particulier, tel que les exigences de journalisation, les données des tables de contrôle et la gestion des erreurs.

Conceptuellement, une tâche de AWS DMS réplication exécute deux fonctions distinctes, comme le montre le schéma ci-dessous.

Commencez avec AWS DMS

Le processus de chargement complet est simple à comprendre. Les données sont extraites de la source dans un mode d'extraction en bloc, puis chargées directement dans la cible. Vous pouvez spécifier le nombre de tables à extraire et à charger en parallèle sur la AWS DMS console dans les paramètres avancés.

Pour plus d'informations sur AWS DMS les tâches, consultezUtilisation de tâches AWS DMS.

Réplication en cours ou capture des données de modification (CDC)

Vous pouvez également utiliser une AWS DMS tâche pour capturer les modifications continues apportées au magasin de données source pendant que vous migrez vos données vers une cible. Le processus de capture des modifications AWS DMS utilisé lors de la réplication des modifications en cours à partir d'un point de terminaison source collecte les modifications apportées aux journaux de base de données en utilisant le moteur de base de données natifAPI.

Au CDC cours du processus, la tâche de réplication est conçue pour transférer les modifications de la source vers la cible, en utilisant des tampons en mémoire pour conserver les données en transit. Si les tampons en mémoire s'épuisent pour une raison quelconque, la tâche de réplication déverse les changements en attente dans le cache des changements sur le disque. Cela peut se produire, par exemple, si les modifications AWS DMS sont capturées à partir de la source plus rapidement qu'elles ne peuvent être appliquées à la cible. Dans ce cas, vous voyez la latence cible de la tâche dépasser la latence source de la tâche.

Vous pouvez vérifier cela en accédant à votre tâche sur la AWS DMS console et en ouvrant l'onglet Surveillance des tâches. Les CDCLatencySource graphiques CDCLatencyTarget et sont présentés au bas de la page. Si vous avez une tâche qui affiche la latence cible, il est probablement nécessaire d'effectuer quelques réglages sur le point de terminaison cible pour augmenter la vitesse d'application.

La tâche de réplication utilise également un stockage pour les journaux de tâches, comme décrit ci-dessus. L'espace disque qui est fourni préconfiguré avec votre instance de réplication est généralement suffisant pour la journalisation et les modifications déversées. Si vous avez besoin de plus d'espace disque, par exemple, lorsque vous utilisez le débogage détaillé pour étudier un problème de migration, vous pouvez modifier l'instance de réplication pour allouer plus d'espace.