0Pricing
AWS Solutions Architect · Lección

Database Migration Service (DMS) y Schema Conversion Tool

Migre bases de datos homogéneas y heterogéneas con DMS mediante carga completa o CDC y convierta los dialectos de esquema con Schema Conversion Tool

Database Migration Service (DMS) y Schema Conversion Tool es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.

¿Qué es AWS DMS?

AWS Database Migration Service (DMS) migra bases de datos a AWS con un tiempo de inactividad mínimo. Admite migraciones homogéneas (por ejemplo, de Oracle a Oracle o de MySQL a MySQL) y migraciones heterogéneas (por ejemplo, de Oracle a Aurora PostgreSQL o de SQL Server a MySQL). DMS utiliza una instancia de replicación que lee del origen, transforma los datos opcionalmente y escribe en el destino. Solo se paga por el tiempo de ejecución de la instancia de replicación.

Componentes de DMS: Endpoints e instancia de replicación

DMS tiene tres componentes principales. Los Source Endpoints definen la conexión con la base de datos de origen (URL de JDBC, credenciales y TLS). Los Target Endpoints definen la base de datos de destino. La Replication Instance es un servidor administrado basado en EC2 que DMS aprovisiona en su VPC para ejecutar la carga de trabajo de migración. Elija el tamaño de la instancia de replicación en función de la cantidad de datos que se deba migrar y de si desea utilizar varias zonas de disponibilidad para la propia instancia de replicación.

# 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

Migración Full Load frente a CDC

DMS admite dos modos de migración. Full Load copia todos los datos existentes del origen al destino, lo que resulta adecuado cuando puede permitirse un tiempo de inactividad o cuando el origen es de solo lectura durante la migración. Change Data Capture (CDC) captura los cambios continuos del registro de transacciones del origen una vez completada la carga completa, y mantiene sincronizados el origen y el destino. Una migración combinada de Full Load + CDC minimiza el tiempo de inactividad: migre los datos mientras el origen permanece activo y realice el cambio cuando el destino se haya puesto al día.

# 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)

AWS Schema Conversion Tool (SCT) es una aplicación gratuita descargable que convierte automáticamente el esquema de la base de datos de origen (DDL) a un formato compatible con el motor de base de datos de destino. Gestiona definiciones de tablas, vistas, procedimientos almacenados, funciones y triggers. En las migraciones heterogéneas (por ejemplo, de Oracle a PostgreSQL), SCT convierte automáticamente la mayoría de los objetos y señala los elementos que requieren revisión manual debido a diferencias de sintaxis no compatibles.

# 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)

Migración homogénea frente a heterogénea

Para migraciones homogéneas (mismo motor; por ejemplo, de MySQL local a RDS for MySQL), normalmente no se necesita SCT, ya que el esquema es directamente compatible. DMS puede ejecutar inmediatamente Full Load + CDC. Para migraciones heterogéneas (motores diferentes), SCT debe convertir primero el esquema, DMS gestiona la migración de datos y es posible que deba reescribir manualmente los procedimientos almacenados y los triggers que no tengan un equivalente en el motor de destino.

# 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 datos de origen y destino compatibles

DMS admite una amplia variedad de orígenes: Oracle, SQL Server, MySQL, MariaDB, PostgreSQL, SAP ASE, MongoDB, IBM Db2 y S3. Entre los destinos compatibles se incluyen todos los anteriores, además de Amazon Redshift, DynamoDB, Kinesis Data Streams y Kafka. Esto hace que DMS sea útil no solo para migraciones relacionales, sino también para transmitir eventos de cambios relacionales a un data lake o a una arquitectura basada en eventos mediante CDC a Kinesis.

Reglas de asignación de tablas de DMS

DMS utiliza reglas de asignación de tablas (JSON) para controlar qué esquemas y tablas se incluyen o excluyen, y para aplicar transformaciones a los datos. Puede cambiar el nombre de esquemas o tablas, convertir valores de columnas (por ejemplo, poner en mayúsculas todas las cadenas), añadir columnas derivadas o filtrar filas. Esto resulta útil al migrar a un destino con convenciones de nomenclatura diferentes o cuando solo desea migrar un subconjunto de tablas.

# 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'}
    }
  ]
}

Supervisión del progreso de la migración de DMS

DMS publica métricas en CloudWatch: FullLoadThroughputRowsSource (filas cargadas por segundo), CDCLatencySource (retraso entre el registro de transacciones del origen y su lectura por parte de DMS) y CDCLatencyTarget (retraso entre la lectura de DMS y la escritura en el destino). Supervise atentamente CDCLatencyTarget durante la fase de sincronización: cuando se aproxime a cero, el destino se habrá puesto al día con el origen y estará listo para el cambio.

# 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 aprovisiona y escala automáticamente la capacidad de replicación según la carga de trabajo de migración, por lo que no es necesario elegir ni administrar el tamaño de una instancia de replicación. Especifique las unidades de capacidad mínimas y máximas de DMS (DCU) y DMS escalará automáticamente dentro de ese intervalo. Es ideal para migraciones con una carga variable o cuando desea evitar el riesgo de que la instancia de replicación resulte insuficiente durante los picos de carga de la migración.

# 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"]
  }'

Validación de la integridad de la migración

Después de la migración, valide que los datos estén completos mediante Data Validation de DMS. Actívela en la configuración de la tarea y DMS comparará el número de filas y las sumas de comprobación entre las tablas de origen y de destino, e informará de las discrepancias en una tabla de validación independiente. En las migraciones heterogéneas, ejecute también pruebas básicas a nivel de aplicación. No realice el cambio hasta que la validación muestre cero discrepancias; reconciliar los datos después de un cambio defectuoso resulta mucho más costoso que dedicar tiempo adicional a la validación.

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

Escenarios habituales de examen sobre DMS

En el examen SAA-C03, DMS aparece en escenarios que requieren migrar una base de datos con un tiempo de inactividad mínimo. Indicadores clave: «migrar una base de datos con replicación continua» → DMS Full Load + CDC. «cambiar de motor heterogéneo» → primero SCT y después DMS. «replicar cambios prácticamente en tiempo real a un data lake» → DMS CDC a Kinesis o S3. «consolidar varias bases de datos de origen en un único destino» → varias tareas de DMS en un único endpoint de destino. DMS es específicamente para la migración de bases de datos; para migrar servidores, utilice MGN, y para transferencias masivas de datos, utilice DataSync o Snowball.

Comprobación rápida

Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.

Resumen de la lección

En esta lección ha aprendido que DMS admite migraciones de bases de datos homogéneas y heterogéneas mediante los modos Full Load y CDC, que SCT automatiza la conversión de esquemas en migraciones con cambio de motor y señala los elementos que requieren revisión manual y que DMS Serverless escala automáticamente la capacidad de replicación, eliminando la necesidad de decidir el tamaño de la instancia. A continuación, exploraremos Amazon EventBridge para conocer el enrutamiento basado en eventos y la arquitectura de buses.

Preguntas frecuentes

¿La lección «Database Migration Service (DMS) y Schema Conversion Tool» es gratis?

Sí — el texto completo de «Database Migration Service (DMS) y Schema Conversion Tool» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.

¿Qué aprenderé en «Database Migration Service (DMS) y Schema Conversion Tool»?

Migre bases de datos homogéneas y heterogéneas con DMS mediante carga completa o CDC y convierta los dialectos de esquema con Schema Conversion Tool Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AWS Solutions Architect?

No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Database Migration Service (DMS) y Schema Conversion Tool»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?

Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Las 7 R de la estrategia de migración
  2. AWS Migration Hub y Application Discovery Service
  3. Application Migration Service (MGN)
  4. Database Migration Service (DMS) y Schema Conversion Tool
← Volver a AWS Solutions Architect