Utilice Data Transmission Service (DTS) para migrar datos desde una base de datos MongoDB independiente y autogestionada hacia una instancia de ApsaraDB for MongoDB.
Como alternativa, puede use MongoDB tools to migrate a self-managed database to a standalone instance.
Para obtener más información sobre otras soluciones de migración o sincronización de datos, consulte Data migration and synchronization.
Requisitos previos
La base de datos MongoDB de origen autogestionada y la instancia de ApsaraDB for MongoDB de destino deben ejecutar versiones compatibles. Para obtener más información, consulte Migration solutions overview.
Se recomienda que la instancia de ApsaraDB for MongoDB de destino cuente con como mínimo un 10 % más de espacio de almacenamiento que la base de datos MongoDB de origen autogestionada.
Notas
De forma predeterminada, una base de datos MongoDB independiente y autogestionada no admite oplog. Para usar la migración incremental de datos, configure el nodo independiente como un replica set de un solo nodo y habilite oplog.
Para evitar interrupciones en el servicio, ejecute la migración de datos fuera del horario de mayor actividad.
Para conocer las versiones y los motores de almacenamiento compatibles con las instancias de ApsaraDB for MongoDB, consulte Versions and storage engines. Si migra datos entre distintas versiones o motores de almacenamiento, compruebe la compatibilidad por adelantado.
Las bases de datos
adminylocalno se pueden establecer como base de datos de origen ni de destino.DTS escribe datos de forma concurrente, lo que puede provocar que la base de datos de destino utilice entre un 5 % y un 10 % más de almacenamiento que la base de datos de origen.
Asegúrese de que la base de datos de destino no contenga documentos con la misma clave primaria (
_id) que la base de datos de origen. De lo contrario, podrían perderse datos. Si existen dichos documentos, elimínelos de la base de datos de destino antes de la migración, siempre que esto no afecte sus servicios.
Facturación
|
Tipo de migración |
Cargo por configuración de enlace |
Cargo por tráfico de red pública |
|
Migración completa de datos |
Sin cargo |
Se le cobra por el tráfico cuando los datos salen de Alibaba Cloud a través de la red pública. Para obtener más información, consulte Billing overview. |
|
Migración incremental de datos |
Con cargo. Para obtener más información, consulte Billing overview. |
Tipos de migración
-
Migración completa de datos: DTS migra todos los datos de los objetos seleccionados en la base de datos MongoDB de origen hacia la base de datos MongoDB de destino.
NotaDTS admite la migración de bases de datos, colecciones e índices.
-
Migración incremental de datos: una vez finalizada la migración completa, DTS sincroniza los cambios incrementales de datos desde la base de datos MongoDB de origen hacia la base de datos MongoDB de destino.
NotaDTS puede sincronizar operaciones de creación y eliminación en bases de datos, colecciones e índices.
DTS puede sincronizar operaciones de creación, actualización y eliminación en documentos.
Permisos de la cuenta de base de datos
|
Origen de la base de datos |
Permisos |
|
Base de datos MongoDB autogestionada |
El permiso |
|
Instancia de ApsaraDB for MongoDB |
El permiso |
Para crear una cuenta de base de datos y otorgar permisos:
Para una base de datos MongoDB autogestionada, consulte la documentación oficial de MongoDB sobre db.createUser().
Para una instancia de ApsaraDB for MongoDB, consulte Manage database accounts by using DMS.
Procedimiento
Inicie sesión en la consola de DTS.
En el panel de navegación izquierdo, haga clic en Data Migration.
-
En la parte superior de la página Migration Tasks, seleccione la región de su instancia de ApsaraDB for MongoDB de destino.
En la esquina superior derecha de la página, haga clic en Create Data Migration Task.
-
Configure las bases de datos de origen y de destino.
Categoría
Parámetro
Descripción
N/A
Task name
DTS genera automáticamente un nombre para la tarea. Se recomienda especificar un nombre descriptivo para identificarla con facilidad. No es obligatorio que el nombre sea único.
Source database
Instance type
Seleccione la ubicación de despliegue de la base de datos de origen. Este tema utiliza User-Created Database with Public IP Address como ejemplo.
NotaSi su base de datos autogestionada corresponde a un tipo de instancia distinto, es posible que deba completar preparaciones adicionales. Para obtener más información, consulte Preparations for data migration.
Instance region
Si selecciona User-Created Database with Public IP Address, no es necesario establecer el elemento Instance Region.
NotaSi su base de datos autogestionada tiene configurada una lista blanca, haga clic en Obtain DTS IP Segment, ubicado después del elemento de configuración Instance Region, para obtener las direcciones IP de los servidores de DTS y agréguelas a la lista blanca de su base de datos.
Database type
Seleccione MongoDB.
Hostname or IP address
Introduzca la dirección de conexión de la base de datos MongoDB autogestionada. En este ejemplo, introduzca una dirección IP pública.
Port
Introduzca el puerto de servicio de la base de datos MongoDB autogestionada.
NotaEn este ejemplo, el puerto de servicio debe ser accesible a través de la red pública.
Database name
Introduzca el nombre de la base de datos de autenticación que contiene la cuenta de la base de datos.
Database account
Introduzca la cuenta de la base de datos MongoDB autogestionada. Para conocer los permisos obligatorios, consulte Database account permissions.
Database password
Introduzca la contraseña de la cuenta de la base de datos.
NotaDespués de introducir la información de la base de datos de origen, haga clic en Test Connectivity, junto a Database Password, para comprobar la información. Si los datos son correctos, aparecerá el mensaje Passed. Si aparece el mensaje Failed, haga clic en Diagnose, junto a Failed, y ajuste la información de la base de datos de origen según las indicaciones.
Connection mode
Seleccione Non-encrypted.
NotaSolo puede seleccionar SSL-encrypted cuando migra datos desde una base de datos de MongoDB Atlas.
Destination database
Instance type
Seleccione MongoDB Instance.
Instance region
Seleccione la región de la instancia de ApsaraDB for MongoDB de destino.
MongoDB instance ID
Seleccione el identificador de la instancia de ApsaraDB for MongoDB de destino.
Database name
Introduzca el nombre de la base de datos de autenticación que contiene la cuenta de la base de datos.
Database account
Introduzca la cuenta de la instancia de ApsaraDB for MongoDB. Para conocer los permisos obligatorios, consulte Database account permissions.
Database password
Introduzca la contraseña de la cuenta de la base de datos.
NotaDespués de introducir la información de la base de datos de destino, haga clic en Test Connectivity, junto a Database Password, para comprobar la información. Si los datos son correctos, se mostrará el mensaje Passed. Si se muestra el mensaje Failed, haga clic en Diagnose, junto a Failed, y ajuste la información de la base de datos de destino según las indicaciones.
-
Una vez completada la configuración, haga clic en Set Whitelist and Next.
Si el origen o el destino es una instancia de base de datos de Alibaba Cloud, como ApsaraDB RDS for MySQL o ApsaraDB for MongoDB, DTS agrega automáticamente los bloques CIDR de sus servidores en la región correspondiente a la lista blanca de la instancia. Si el origen o el destino es una base de datos autogestionada alojada en una instancia de ECS, DTS agrega automáticamente los bloques CIDR de sus servidores a las reglas de seguridad del security group de dicha instancia. También debe asegurarse de que la base de datos autogestionada permita el acceso desde la instancia de ECS. Si su base de datos es un clúster desplegado en varias instancias de ECS, agregue manualmente los bloques CIDR de DTS a las reglas de seguridad de cada instancia adicional. Si el origen o el destino es una base de datos ubicada en un centro de datos local o en otra plataforma de nube, agregue manualmente los bloques CIDR de los servidores de DTS al firewall o security group de ese entorno. Para consultar la lista de bloques CIDR de los servidores de DTS, vea CIDR blocks of DTS servers.
AvisoAgregar los bloques CIDR públicos de los servidores de DTS, ya sea de forma automática o manual, puede introducir riesgos de seguridad. Al utilizar este producto, usted reconoce y acepta estos posibles riesgos. Es su responsabilidad implementar medidas de seguridad básicas, que incluyen, entre otras, usar contraseñas seguras, restringir los puertos abiertos, emplear autenticación en las llamadas internas a la API, revisar y limitar periódicamente los segmentos de red innecesarios, o conectarse a través de redes privadas como Express Connect, VPN Gateway o Smart Access Gateway.
-
Seleccione los tipos de migración y los objetos.
Parámetro
Descripción
Migration types
-
Para ejecutar únicamente una migración completa de datos, seleccione Full Data Migration.
-
Para migrar datos con un tiempo de inactividad mínimo, seleccione tanto Full Data Migration como Incremental Data Migration.
Nota-
DTS solo admite la migración incremental de datos para una instancia independiente después de habilitar oplog en ella.
-
Si no selecciona la migración incremental de datos, no escriba datos nuevos en la base de datos de origen durante la migración completa para garantizar la coherencia de los datos.
Migration objects
-
En el cuadro Available, seleccione los objetos que desea migrar y haga clic en el ícono
para moverlos al cuadro Selected Objects.NotaDTS no admite la migración de las bases de datos
admin,localniconfig. -
Puede seleccionar bases de datos, colecciones o funciones como objetos de migración.
-
De forma predeterminada, los nombres de los objetos permanecen iguales en las bases de datos de origen y de destino. Para cambiar el nombre de un objeto en el destino, utilice la función de asignación de nombres de objetos. Para obtener más información, consulte Object name mapping.
Rename mapped object
Utilice esta función para cambiar el nombre de los objetos migrados en la base de datos de destino. Para obtener más información, consulte Object name mapping.
Connection retry duration
De forma predeterminada, DTS reintenta las conexiones durante 12 horas. Puede personalizar esta duración. Si la conexión con la base de datos de origen o de destino se restablece dentro del tiempo especificado, la tarea se reanuda automáticamente. De lo contrario, la tarea finaliza con errores.
NotaSe le cobra por la instancia de DTS durante el periodo de reintentos. Se recomienda establecer una duración de reintento razonable o liberar la instancia de DTS inmediatamente después de liberar las instancias de origen y de destino.
-
-
Una vez completada la configuración, haga clic en Precheck and Start en la esquina inferior derecha de la página.
NotaAntes de iniciar la tarea de migración, DTS ejecuta una comprobación previa. La tarea solo puede comenzar si supera dicha comprobación.
-
Si la comprobación previa finaliza con errores, haga clic en el ícono
, junto al elemento que falló, para ver los detalles.Corrija los problemas según las indicaciones y vuelva a ejecutar la comprobación previa.
Si no necesita corregir los elementos de advertencia, seleccione Ignore y luego haga clic en Ignore Warnings and Rerun Precheck para volver a ejecutar la comprobación previa.
Cuando la comprobación previa se supere correctamente, haga clic en Next.
En la página Confirm Settings, seleccione un elemento en Instance Class y active la casilla de verificación Data Transmission Service (Pay-As-You-Go) Service Terms.
-
Haga clic en Buy and Start para iniciar la tarea de migración.
-
Migración completa de datos
No detenga la tarea manualmente, ya que esto podría generar datos incompletos. Espere a que la tarea termine; se detendrá automáticamente.
-
Migración incremental de datos
La tarea no se detiene automáticamente. Debe detenerla de forma manual.
NotaSe recomienda detener la tarea en un momento adecuado, por ejemplo, fuera del horario de mayor actividad o antes de transferir las cargas de trabajo a la instancia de ApsaraDB for MongoDB de destino.
Espere hasta que el estado de la tarea cambie a Incremental Data Migration y muestre Undelayed. Luego, deje de escribir datos en la base de datos de origen durante unos minutos. Es posible que el estado Incremental Data Migration muestre temporalmente un retraso.
Cuando el estado Incremental Data Migration vuelva a mostrar Undelayed, detenga la tarea manualmente. En este punto, el estado de la tarea en la página Migration Tasks será Migrating, y el progreso de Full Migration mostrará 100%.
-
Transfiera sus cargas de trabajo a la instancia de ApsaraDB for MongoDB.