Migración automática de bases de datos de EC2 a Amazon RDS mediante AWS Database Migration Service - Amazon Relational Database Service

Migración automática de bases de datos de EC2 a Amazon RDS mediante AWS Database Migration Service

Puede utilizar la consola de RDS para migrar una base de datos de EC2 a RDS. RDS utiliza AWS Database Migration Service (AWS DMS) para migrar bases de datos de EC2 de origen. AWS DMS permite migrar bases de datos relacionales a su nube de AWS. Para obtener más información sobre AWS Database Migration Service, consulte ¿Qué es AWS Database Migration Service? en la Guía del usuario de AWS Database Migration Service.

Para comenzar la migración, debe crear una instancia de base de datos de RDS equivalente donde migrar los datos. Tras crear la base de datos de destino, puede importar la base de datos de EC2 a ella. Para las bases de datos de origen de menos de 1 TiB, esta acción de migración reduce el tiempo y los recursos necesarios para migrar los datos a RDS.

Descripción general

La consola de RDS le permite migrar bases de datos de EC2 a bases de datos de RDS equivalentes. Debe crear una base de datos de RDS para permitir la migración desde la consola.

Puede migrar las bases de datos de EC2 para los siguientes motores de bases de datos:

  • MySQL

  • MariaDB

  • PostgreSQL

El proceso de migración consta de los pasos siguientes:

  • Cree una base de datos equivalente en RDS. Para que las bases de datos sean equivalentes, deben tener el mismo motor de base de datos y versiones de motor compatibles. También deben estar en la misma VPC. Para obtener instrucciones sobre cómo crear una base de datos, consulte Creación de una instancia de base de datos de Amazon RDS.

  • Elija el tipo de replicación para la base de datos:

    • Migración a carga completa: RDS copia la base de datos de origen completa en la base de datos de destino y crea nuevas tablas en la de destino cuando es necesario.

      nota

      Esta opción provoca una interrupción en la base de datos de RDS.

    • Migración a carga completa y con captura de datos de cambios (CDC): similar a la migración a carga completa, con esta opción, RDS copia la base de datos de origen completa a la base de datos de destino. Sin embargo, después de la migración a carga completa, RDS aplica todos los cambios capturados en el origen a la base de datos de destino. La captura de datos de cambios recopila los cambios en los registros de la base de datos mediante la API nativa del motor de la base de datos.

      nota

      Esta opción provoca una interrupción en la base de datos de RDS.

    • Captura de datos de cambios (CDC): utilice esta opción para mantener la base de datos de destino disponible durante la migración. RDS migra los cambios continuos de la base de datos de origen a la base de datos de destino.

  • RDS crea los recursos de red necesarios para facilitar la migración. Una vez que RDS crea los recursos necesarios, le notifica acerca de los recursos creados y le permite iniciar la transferencia de datos.

    El tiempo necesario para completar la migración depende del tipo de replicación y del tamaño de la base de datos de origen.

Requisitos previos

MySQL y MariaDB

Antes de comenzar a trabajar con una base de datos de MySQL o MariaDB como base de datos de origen, asegúrese de cumplir los siguientes requisitos previos. Estos requisitos previos se aplican a orígenes administrados por AWS.

Debe tener una cuenta para AWS DMS que tiene el rol de administrador de replicación. El rol necesita los siguientes privilegios:

  • REPLICATION CLIENT: este privilegio es necesario solo para tareas de CDC. Es decir, las tareas de solo carga completa no necesitan este privilegio.

  • REPLICATION SLAVE: este privilegio es necesario solo para tareas de CDC. Es decir, las tareas de solo carga completa no necesitan este privilegio.

El usuario de AWS DMS también debe disponer de privilegios SELECT para las tablas de origen designadas para la replicación.

Conceda los siguientes privilegios si utiliza las evaluaciones previas a la migración específicas de MySQL.

grant select on mysql.user to <dms_user>; grant select on mysql.db to <dms_user>; grant select on mysql.tables_priv to <dms_user>; grant select on mysql.role_edges to <dms_user> #only for MySQL version 8.0.11 and higher

PostgreSQL

Antes de migrar datos desde una base de datos de origen de PostgreSQL administrada por AWS, haga lo siguiente:

  • Le recomendamos que utilice una cuenta de usuario de AWS con los permisos mínimos necesarios para la instancia de base de datos de PostgreSQL como cuenta de usuario para el punto de conexión de origen de PostgreSQL para AWS DMS. No se recomienda el uso de la cuenta principal. La cuenta debe tener el rol rds_superuser y el rol rds_replication. El rol de rds_replication concede permisos para administrar ranuras lógicas y para transmitir datos mediante ranuras lógicas.

nota

Algunas transacciones de AWS DMS están inactivas durante un tiempo antes de que el motor de DMS las utilice de nuevo. Al usar el parámetro idle_in_transaction_session_timeout en PostgreSQL versiones 9.6 y superiores, puede provocar transacciones inactivas en el tiempo de espera y que se devuelva un error.

Limitaciones

Se aplican las siguientes limitaciones al proceso de migración automática:

  • El estado de la base de datos de destino debe ser Disponible para iniciar la migración de la base de datos de origen.

  • Al migrar desde una base de datos de MySQL de origen, su cuenta de RDS debe tener el rol de administrador de replicación. También debe tener los privilegios adecuados aplicados para ese rol.

  • La instancia de EC2 y la base de datos de destino deben estar en la misma VPC.

  • No puede migrar la base de datos de EC2 a las siguientes bases de datos de destino cuando utiliza la acción Migrar datos desde la base de datos de EC2:

    • Base de datos que forma parte de un clúster

    • Bases de datos de Oracle, SQL Server y Db2

    • Bases de datos con una versión de MySQL inferior a la 5.7

    • Bases de datos con una versión de PostgreSQL inferior a la 10.4

    • Bases de datos con una versión de MariaDB inferior a la 10.2