0Pricing
Cloud & IT Cert Prep · Leçon

Database Migration Service (DMS) et Schema Conversion Tool

Migrez des bases de données homogènes et hétérogènes avec DMS en utilisant un chargement complet ou CDC, puis convertissez les dialectes de schéma avec Schema Conversion Tool.

Database Migration Service (DMS) et Schema Conversion Tool est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Qu’est-ce qu’AWS DMS ?

AWS Database Migration Service (DMS) migre les bases de données vers AWS avec un temps d’arrêt minimal. Il prend en charge les migrations homogènes (par exemple, Oracle vers Oracle ou MySQL vers MySQL) et hétérogènes (par exemple, Oracle vers Aurora PostgreSQL ou SQL Server vers MySQL). DMS utilise une instance Replication qui lit les données de la source, les transforme éventuellement, puis les écrit dans la cible. Vous payez uniquement la durée d’exécution de l’instance Replication.

Composants de DMS : points de terminaison et instance Replication

DMS comporte trois composants essentiels. Les points de terminaison source définissent la connexion à la base de données source (URL JDBC, identifiants, TLS). Les points de terminaison cible définissent la base de données de destination. L’instance Replication est un serveur géré basé sur EC2 que DMS provisionne dans votre VPC pour exécuter la charge de migration. Choisissez la taille de l’instance Replication en fonction du volume de données à migrer et de votre souhait d’utiliser MultiAZ pour l’instance Replication elle-même.

# Create a DMS replication instance
aws dms create-replication-instance \
  --replication-instance-identifier my-dms-instance \
  --replication-instance-class dms.t3.medium \
  --allocated-storage 50 \
  --vpc-security-group-ids sg-abc123 \
  --replication-subnet-group-identifier my-dms-subnet-group \
  --multi-az false \
  --publicly-accessible false

Migration Full Load et CDC

DMS prend en charge deux modes de migration. Full Load copie toutes les données existantes de la source vers la cible — ce qui convient lorsque vous pouvez vous permettre un temps d’arrêt ou lorsque la source est en lecture seule pendant la migration. Change Data Capture (CDC) capture les modifications continues à partir du journal des transactions de la source une fois le chargement complet terminé, afin de maintenir la source et la cible synchronisées. Une migration combinant Full Load + CDC réduit le temps d’arrêt au minimum : migrez les données tandis que la source reste active, puis effectuez le basculement lorsque la cible est à jour.

# Create a DMS replication task with Full Load + CDC
aws dms create-replication-task \
  --replication-task-identifier sales-migration \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --replication-instance-arn arn:aws:dms:us-east-1:123:rep:my-dms-instance \
  --migration-type full-load-and-cdc \
  --table-mappings '{"rules": [{"rule-type": "selection", "rule-id": "1", "rule-name": "all", "object-locator": {"schema-name": "%", "table-name": "%"}, "rule-action": "include"}]}'

Schema Conversion Tool (SCT)

L’AWS Schema Conversion Tool (SCT) est une application gratuite téléchargeable qui convertit automatiquement le schéma de la base de données source (DDL) dans un format compatible avec le moteur de base de données cible. Elle prend en charge les définitions de tables, les vues, les procédures stockées, les fonctions et les déclencheurs. Pour les migrations hétérogènes (par exemple, Oracle vers PostgreSQL), SCT convertit automatiquement la majorité des objets et signale ceux qui nécessitent une revue manuelle en raison de différences de syntaxe non prises en charge.

# SCT is a GUI desktop tool, but here is the workflow:
# 1. Connect SCT to source Oracle database
# 2. Connect SCT to target Aurora PostgreSQL database
# 3. Run schema assessment: SCT rates conversion complexity per object
# 4. Convert schema automatically (SCT generates PostgreSQL DDL)
# 5. Apply converted DDL to target (SCT executes or exports SQL script)
# 6. Review and manually fix flagged items (e.g., PL/SQL procedures with Oracle-specific syntax)

Migration homogène ou hétérogène

Pour les migrations homogènes (même moteur, par exemple MySQL sur site vers RDS for MySQL), SCT n’est généralement pas nécessaire : le schéma est directement compatible. DMS peut immédiatement exécuter Full Load + CDC. Pour les migrations hétérogènes (moteurs différents), SCT doit d’abord convertir le schéma, DMS prend en charge la migration des données et vous devrez peut-être réécrire manuellement les procédures stockées et les déclencheurs qui n’ont aucun équivalent dans le moteur cible.

# Example heterogeneous migration workflow:
# On-premises Oracle -> Amazon Aurora PostgreSQL
#
# Step 1: SCT converts Oracle DDL to PostgreSQL DDL
# Step 2: Apply PostgreSQL DDL to Aurora target
# Step 3: DMS Full Load + CDC copies Oracle table data to Aurora
# Step 4: Validate row counts and checksums
# Step 5: Cut over application connections to Aurora endpoint
# Step 6: Terminate DMS task and replication instance

Bases de données source et cible prises en charge

DMS prend en charge un large éventail de sources : Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 et S3. Les cibles prises en charge comprennent toutes celles citées précédemment, ainsi que Amazon Redshift, DynamoDB, Kinesis Data Streams et Kafka. DMS est donc utile non seulement pour les migrations relationnelles, mais aussi pour diffuser des événements de modification relationnels vers un lac de données ou une architecture orientée événements à l’aide de CDC vers Kinesis.

Règles de mappage des tables DMS

DMS utilise des règles de mappage des tables (JSON) pour contrôler les schémas et les tables à inclure ou à exclure, ainsi que pour appliquer des transformations aux données. Vous pouvez renommer des schémas ou des tables, convertir les valeurs des colonnes (par exemple, mettre toutes les chaînes en majuscules), ajouter des colonnes calculées ou filtrer les lignes. Cela est utile lors d’une migration vers une cible appliquant des conventions de nommage différentes ou lorsque vous souhaitez migrer uniquement un sous-ensemble de tables.

# Table mapping: include only the 'orders' table, rename schema
{
  'rules': [
    {
      'rule-type': 'selection',
      'rule-id': '1',
      'rule-name': 'select-orders',
      'object-locator': {'schema-name': 'prod_db', 'table-name': 'orders'},
      'rule-action': 'include'
    },
    {
      'rule-type': 'transformation',
      'rule-id': '2',
      'rule-name': 'rename-schema',
      'rule-action': 'convert-uppercase',
      'rule-target': 'schema',
      'object-locator': {'schema-name': 'prod_db'}
    }
  ]
}

Surveillance de l’avancement de la migration DMS

DMS publie des métriques dans CloudWatch : FullLoadThroughputRowsSource (nombre de lignes chargées par seconde), CDCLatencySource (retard entre le journal des transactions source et sa lecture par DMS) et CDCLatencyTarget (retard entre la lecture par DMS et l’écriture dans la cible). Surveillez attentivement CDCLatencyTarget pendant la phase de synchronisation : lorsqu’elle devient presque nulle, la cible a rattrapé la source et vous pouvez effectuer le basculement.

# Monitor CDC latency via CloudWatch CLI
aws cloudwatch get-metric-statistics \
  --namespace AWS/DMS \
  --metric-name CDCLatencyTarget \
  --dimensions Name=ReplicationInstanceIdentifier,Value=my-dms-instance \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z \
  --period 60 \
  --statistics Average

DMS Serverless

DMS Serverless provisionne et ajuste automatiquement la capacité Replication en fonction de la charge de migration, ce qui élimine la nécessité de choisir et de gérer la taille d’une instance Replication. Vous indiquez les unités de capacité DMS minimales et maximales (DCU), puis DMS ajuste automatiquement la capacité dans cette plage. Cette solution est idéale pour les migrations dont la charge varie ou lorsque vous souhaitez éviter le risque de sous-dimensionner l’instance Replication pendant les pics de charge.

# Create a DMS Serverless replication
aws dms create-replication \
  --replication-config-identifier my-serverless-migration \
  --replication-type full-load-and-cdc \
  --source-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:SOURCE \
  --target-endpoint-arn arn:aws:dms:us-east-1:123:endpoint:TARGET \
  --compute-config '{
    "MinCapacityUnits": 2,
    "MaxCapacityUnits": 64,
    "MultiAZ": false,
    "ReplicationSubnetGroupId": "my-subnet-group",
    "VpcSecurityGroupIds": ["sg-abc123"]
  }'

Validation de l’exhaustivité de la migration

Après la migration, validez l’exhaustivité des données à l’aide de la validation des données DMS. Activez-la dans les paramètres de la tâche ; DMS compare alors le nombre de lignes et les sommes de contrôle entre les tables source et cible, puis signale les différences dans une table de validation distincte. Pour les migrations hétérogènes, exécutez également des tests rapides au niveau de l’application. N’effectuez jamais le basculement avant que la validation n’indique aucune différence : corriger les données après un basculement défectueux coûte beaucoup plus cher que prendre le temps nécessaire à la validation.

# Enable validation in DMS task settings (JSON)
{
  'TargetMetadata': {'SupportLobs': true, 'FullLobMode': false},
  'ValidationSettings': {
    'EnableValidation': true,
    'ValidationMode': 'ROW_LEVEL',
    'ValidationOnly': false,
    'FailureMaxCount': 10000
  }
}

Scénarios d’examen DMS courants

Dans l’examen SAA-C03, DMS intervient dans les scénarios nécessitant une migration de bases de données avec un temps d’arrêt minimal. Signaux caractéristiques : « migrer une base de données avec une réplication continue » → DMS Full Load + CDC. « changer de moteur hétérogène » → SCT d’abord, puis DMS. « répliquer les modifications presque en temps réel vers un lac de données » → CDC de DMS vers Kinesis ou S3. « consolider plusieurs bases de données source dans une seule cible » → plusieurs tâches DMS vers un même point de terminaison cible. DMS est spécifiquement destiné à la migration de bases de données — pour migrer des serveurs, utilisez MGN ; pour transférer des données en masse, utilisez DataSync ou Snowball.

Vérification rapide

Testez votre compréhension des concepts AWS Solutions Architect (SAA-C03) abordés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que DMS prend en charge les migrations de bases de données homogènes et hétérogènes à l’aide des modes Full Load et CDC, que SCT automatise la conversion des schémas lors des migrations avec changement de moteur et signale les éléments nécessitant une revue manuelle et que DMS Serverless ajuste automatiquement la capacité Replication, éliminant les décisions liées au dimensionnement de l’instance. Nous allons maintenant découvrir Amazon EventBridge pour le routage orienté événements et l’architecture de bus.

Questions Fréquemment Posées

La leçon « Database Migration Service (DMS) et Schema Conversion Tool » est-elle gratuite ?

Oui — le texte complet de « Database Migration Service (DMS) et Schema Conversion Tool » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Database Migration Service (DMS) et Schema Conversion Tool » ?

Migrez des bases de données homogènes et hétérogènes avec DMS en utilisant un chargement complet ou CDC, puis convertissez les dialectes de schéma avec Schema Conversion Tool. Tu pratiques Cloud & IT Cert Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cloud & IT Cert Prep ?

Aucune expérience préalable n'est requise. Cloud & IT Cert Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Database Migration Service (DMS) et Schema Conversion Tool » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cloud & IT Cert Prep ?

Oui. Chaque leçon Cloud & IT Cert Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les 7 stratégies de migration
  2. AWS Migration Hub et Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) et Schema Conversion Tool
← Retour à Cloud & IT Cert Prep