Data Transmission Service (DTS) admite la migración completa de datos desde Amazon RDS for PostgreSQL hacia ApsaraDB RDS for PostgreSQL. Se trata de una migración sin conexión, por lo que no se admite la migración incremental de datos. Detenga todos los servicios en la instancia de origen antes de empezar.
En este tutorial aprenderá a:
Agregar los bloques CIDR del servidor de DTS a las reglas de entrada de Amazon RDS
Crear la base de datos y el esquema de destino en ApsaraDB RDS for PostgreSQL
Configurar y ejecutar una tarea de migración de DTS (migración de esquemas y migración completa de datos)
Cambiar sus cargas de trabajo a la instancia de destino
Cómo funciona
Para evitar errores de dependencias, DTS migra los objetos en el siguiente orden:
Migra los esquemas de tablas, vistas, secuencias, funciones, tipos definidos por el usuario, reglas, dominios, operaciones y agregados.
Migra todos los datos existentes.
Migra los esquemas de triggers y claves externas.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de Amazon RDS for PostgreSQL que ejecute la versión 9.4 o posterior, con Public accessibility establecido en Yes
Una instancia de ApsaraDB RDS for PostgreSQL ya creada; utilice la misma versión principal que la de origen siempre que sea posible. Si necesita migrar entre versiones distintas, pruebe primero la compatibilidad en una instancia pay-as-you-go (Create an instance)
Almacenamiento disponible en la instancia de destino que supere el tamaño total de los datos de la instancia de origen
Cuentas de base de datos con los permisos obligatorios en ambas instancias (consulte Permissions required for database accounts)
Límites
|
Límite |
Descripción |
Consecuencia si se ignora |
|
Sin migración incremental |
Solo se admite la migración completa de datos. Detenga todos los servicios en el origen antes de comenzar. |
Los datos escritos durante la migración se pierden. |
|
Una sola base de datos por tarea |
Cada tarea de DTS migra una única base de datos. Cree tareas independientes para cada base de datos. |
Las bases de datos adicionales no se migran. |
|
Sin funciones en lenguaje C |
DTS omite las funciones escritas en C. Migre estas funciones manualmente después del corte si es necesario. |
Las funciones se omiten sin aviso; las aplicaciones que dependan de ellas presentarán errores tras el corte. |
|
Clave primaria o restricción unique obligatoria |
Las tablas sin restricción PRIMARY KEY o UNIQUE pueden generar registros duplicados en el destino. |
Filas duplicadas en las tablas de destino; no existe deduplicación automática. |
|
Reanudación automática ante errores |
Si la tarea presenta errores y se reanuda automáticamente, sobrescribe los datos de destino. Detenga o libere la tarea antes de cambiar las cargas de trabajo. |
Los datos de origen sobrescriben los de destino cuando la tarea se reanuda. |
|
Impacto en los recursos |
DTS consume recursos de lectura y escritura en ambas bases de datos. Ejecute la migración fuera del horario pico, idealmente cuando la utilización de CPU de ambas bases de datos sea inferior al 30 %. |
Degradación del rendimiento o interrupción del servicio en el origen o en el destino. |
Facturación
|
Tipo de migración |
Cargo por configuración de la instancia |
Cargo por tráfico de Internet |
|
Migración de esquemas y migración completa de datos |
Gratuito |
Se cobra cuando los datos salen de Alibaba Cloud a través de Internet. Consulte Billing overview. |
Permisos obligatorios para las cuentas de base de datos
|
Base de datos |
Migración de esquemas |
Migración completa de datos |
|
Amazon RDS for PostgreSQL |
USAGE en pg_catalog |
SELECT en los objetos que se van a migrar |
|
ApsaraDB RDS for PostgreSQL |
CREATE y USAGE en los objetos que se van a migrar |
Permisos de propietario del esquema |
Paso 1: Agregar los bloques CIDR de DTS a las reglas de entrada de Amazon RDS
DTS se conecta a la instancia de origen de Amazon RDS for PostgreSQL a través de Internet. Agregue los bloques CIDR del servidor de DTS correspondientes a la región de destino en las reglas de entrada del security group de la instancia.
Inicie sesión en la consola de administración de Amazon RDS y acceda a la página de información básica de la instancia de origen.
-
En la sección Security group rules, haga clic en el nombre del security group.

-
En la página Security groups, vaya a Inbound > Edit. En el cuadro de diálogo Edit inbound rules, agregue los bloques CIDR de la región de la base de datos de destino.
Agregue únicamente los bloques CIDR de la región donde reside la base de datos de destino. Por ejemplo, si el destino está en China (Hangzhou), agregue solo los bloques CIDR de China (Hangzhou), incluso si el origen se encuentra en otra región como Singapore. Puede agregar todos los bloques CIDR necesarios en una sola edición. Para consultar la lista completa de bloques CIDR, vea Add the CIDR blocks of DTS servers .

Paso 2: Crear la base de datos y el esquema de destino
Cree una base de datos y un esquema en la instancia de destino de ApsaraDB RDS for PostgreSQL. El nombre del esquema debe coincidir exactamente con el del esquema de origen.
Consulte Create a database y Gestión de cuentas mediante esquemas.
Paso 3: Crear una tarea de migración de DTS
Abrir la página de migración de datos
Utilice la consola de DTS o la consola de DMS para abrir la página Data Migration.
Consola de DTS:
Inicie sesión en la consola de DTS.
En el panel de navegación izquierdo, haga clic en Data Migration.
En la esquina superior izquierda, seleccione la región donde residirá la instancia de migración.
Consola de DMS:
La distribución varía según el modo de su consola de DMS. Consulte Modo simple y Personalización del diseño y estilo de la consola de DMS .
Inicie sesión en la consola de DMS.
En la barra de navegación superior, vaya a Data + AI > DTS (DTS) > Data Migration.
En la lista desplegable situada a la derecha de Data Migration Tasks, seleccione la región.
Configurar las bases de datos de origen y de destino
Haga clic en Create Task.
-
Configure la base de datos de origen:
Para usar una instancia de base de datos de DMS existente, selecciónela en Select a DMS database instance ; DTS completará los parámetros automáticamente. Para registrar una nueva instancia, consulte Registro de una instancia de base de datos de Alibaba Cloud y Registro de una base de datos alojada en un servicio de nube de terceros o autogestionada .
Parámetro
Valor
Database type
PostgreSQL
Access method
Public IP Address
Instance region
La región de la instancia de Amazon RDS for PostgreSQL. Si la región exacta no aparece en la lista, seleccione la más cercana geográficamente.
Domain name or IP
El endpoint de la instancia de Amazon RDS for PostgreSQL (disponible en la página de información básica de la instancia)
Port number
5432 (predeterminado)
Database name
El nombre de la base de datos de origen
Database account
La cuenta con los permisos obligatorios (consulte Permissions required for database accounts)
Database password
La contraseña de la cuenta
Encryption
Seleccione Non-encrypted o SSL-encrypted según sus necesidades. Para SSL, cargue el CA Certificate, Client Certificate y Private Key of Client Certificate según corresponda, y luego establezca el Private Key Password of Client Certificate. Consulte Cifrado SSL.
-
Configure la base de datos de destino:
AvisoLea los Limits que se muestran en la parte superior de la página después de configurar las bases de datos de origen y de destino. Ignorarlos puede provocar errores en la tarea o inconsistencias en los datos.
Parámetro
Valor
Database type
PostgreSQL
Access method
Alibaba Cloud Instance
Instance region
La región de la instancia de destino de ApsaraDB RDS for PostgreSQL
Instance ID
El ID de la instancia de destino
Database name
El nombre de la base de datos de destino (puede diferir del nombre de la base de datos de origen)
Database account
La cuenta con los permisos obligatorios (consulte Permissions required for database accounts)
Database password
La contraseña de la cuenta
Encryption
Configure el mismo cifrado que en el origen si es necesario
-
Haga clic en Test connectivity and proceed. En el cuadro de diálogo CIDR blocks of DTS servers, haga clic en Test Connectivity.
DTS debe poder comunicarse con ambas bases de datos. Si la conectividad falla, compruebe que los bloques CIDR del Paso 1 se hayan agregado correctamente. Para obtener más información, consulte Agregar los bloques CIDR de los servidores de DTS .
Seleccionar los objetos que se van a migrar
En la página Configure objects:
|
Parámetro |
Configuración |
|
Migration types |
Seleccione Schema migration y Full data migration. No escriba en el origen durante la migración. |
|
Processing mode of conflicting tables |
Precheck and report errors (recomendado): genera un error en la comprobación previa si el destino contiene tablas con nombres idénticos, lo que evita sobrescrituras accidentales. Ignore errors and proceed: omite la comprobación y puede causar inconsistencias en los datos; úselo con precaución. |
|
Capitalization of object names in destination instance |
DTS default policy (predeterminado). Modifíquelo si su aplicación requiere un formato de mayúsculas y minúsculas específico. Consulte Especificar el uso de mayúsculas y minúsculas en los nombres de objeto de la instancia de destino. |
|
Source objects |
Seleccione los objetos en Source objects y haga clic en |
|
Selected objects |
Haga clic con el botón secundario en un objeto para cambiarle el nombre, o bien haga clic en Batch edit para renombrar varios objetos a la vez. Consulte Asignación de nombres de objetos. Cambiar el nombre de un objeto puede provocar errores en la migración de los objetos dependientes. |
Haga clic en Next: Advanced settings.
Configurar los ajustes avanzados
|
Parámetro |
Descripción |
|
Dedicated cluster for task scheduling |
Deje el valor predeterminado (clúster compartido) a menos que cuente con un clúster dedicado. Consulte What is a DTS dedicated cluster? |
|
Retry time for failed connections |
Tiempo durante el cual DTS reintenta la operación si pierde la conexión con una base de datos. Intervalo: de 10 a 1440 minutos. Valor predeterminado: 720. Establezca un valor mayor a 30. Si la conexión se restablece dentro de este periodo, la tarea se reanuda automáticamente; de lo contrario, finaliza con errores. |
|
Retry time for other issues |
Tiempo durante el cual DTS reintenta las operaciones DDL o DML que presentan errores. Intervalo: de 1 a 1440 minutos. Valor predeterminado: 10. Establezca un valor mayor a 10. Debe ser menor que Retry time for failed connections. |
|
Enable throttling for full data migration |
Limite el consumo de recursos de DTS en el origen y en el destino mediante la configuración de QPS (consultas por segundo), RPS de la migración completa de datos y la velocidad de migración de datos (MB/s). |
|
Configure ETL |
Habilite el procesamiento de extracción, transformación y carga (ETL) si necesita transformar datos durante la migración. Consulte Configurar ETL en una tarea de migración o sincronización de datos. |
|
Monitoring and alerting |
Configure los umbrales de alerta y los contactos de notificación para recibir avisos si la tarea presenta errores o si la latencia supera el umbral definido. Consulte Configurar el monitoreo y las alertas. |
Haga clic en Next step: Data verification si desea configurar la verificación de datos. Consulte Configurar una tarea de verificación de datos.
Ejecutar la comprobación previa y adquirir la instancia
-
Haga clic en Next: Save task settings and precheck.
Para obtener una vista previa de los parámetros de la API de esta tarea, coloque el puntero sobre el botón y haga clic en Preview OpenAPI parameters antes de continuar.
-
Revise los resultados de la comprobación previa. Corrija los elementos con errores y vuelva a ejecutarla.
Para los elementos con errores, haga clic en View details para ver la causa, resuelva el problema y haga clic en Precheck again.
Para los elementos de advertencia que se puedan ignorar de forma segura, haga clic en Confirm alert details > Ignore > OK y, a continuación, haga clic en Precheck again.
Cuando Success rate alcance el 100%, haga clic en Next: Purchase instance.
-
En la página Purchase instance, configure la clase de instancia:
Parámetro
Descripción
Resource group
El resource group de la instancia de migración. Valor predeterminado: default resource group. Consulte ¿Qué es Resource Management?
Instance class
Determina la velocidad de migración. Selecciónela según el volumen de datos y el plazo previsto. Consulte Clases de instancia de las instancias de migración de datos.
Lea y acepte Data Transmission Service (Pay-as-you-go) Service Terms y, a continuación, haga clic en Buy and start > OK.
La tarea se inicia automáticamente. Supervise el progreso en la página Data Migration.
Paso 4: Cambiar las cargas de trabajo a ApsaraDB RDS for PostgreSQL
Una vez que finalice la migración completa de datos:
Detenga todos los servicios en la instancia de origen de Amazon RDS for PostgreSQL.
Detenga o libere la tarea de migración de DTS para evitar que se reanude y sobrescriba los datos en el destino.
Actualice las cadenas de conexión de su aplicación para que apunten a la instancia de ApsaraDB RDS for PostgreSQL.
Apéndice: Procedimiento en la consola anterior de DTS
Si utiliza la versión anterior de la consola de DTS, siga estos pasos.
Si la consola de DTS lo redirige a DMS, haga clic en el iconoubicado en
para volver a la consola anterior.
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 donde reside la instancia de destino.
En la esquina superior derecha, haga clic en Create migration task.
-
Configure las bases de datos de origen y de destino:
Sección Parámetro Valor N/A Task name Nombre generado automáticamente. Cámbielo por uno descriptivo. Source database Instance type User-Created Database with Public IP Address Database type PostgreSQL Hostname or IP address El endpoint de la instancia de Amazon RDS for PostgreSQL (disponible en la página de información básica de la instancia) 
Port number 5432 (predeterminado) Database name El nombre de la base de datos de origen Database account La cuenta con los permisos obligatorios Database password La contraseña de la cuenta. Haga clic en Test connectivity junto al campo para comprobar la conexión. Destination database Instance type RDS Instance Instance region La región de la instancia de destino de ApsaraDB RDS for PostgreSQL RDS instance ID El ID de la instancia de destino Database name El nombre de la base de datos de destino (puede diferir del de origen) Database account La cuenta con los permisos obligatorios Database password La contraseña de la cuenta. Haga clic en Test connectivity junto al campo para comprobar la conexión. 
-
Haga clic en Set whitelist and next. DTS agrega automáticamente sus bloques CIDR a la lista de permitidos de las instancias de base de datos de Alibaba Cloud y a las reglas del security group de las bases de datos alojadas en ECS. Para las bases de datos en nubes de terceros, debe agregar los bloques CIDR manualmente.
AvisoAgregar los bloques CIDR de DTS a su lista de permitidos o a las reglas del security group puede exponer su base de datos a riesgos de seguridad. Adopte medidas preventivas, como exigir credenciales seguras, restringir los puertos expuestos, autenticar las llamadas a la API y auditar periódicamente las entradas de la lista de permitidos. Como alternativa, conecte la base de datos a DTS mediante Express Connect, VPN Gateway o Smart Access Gateway.
-
Seleccione los tipos de migración y los objetos:
Ajuste
Configuración
Migration types
Seleccione Schema migration y Full data migration. La migración incremental de datos no es compatible en este escenario. No escriba en el origen durante la migración.
Objects to migrate
Seleccione los objetos en Available y haga clic en
para moverlos a Selected. Puede seleccionar columnas, tablas o bases de datos.Object name mapping
Haga clic con el botón secundario en un objeto dentro de Selected para cambiarle el nombre. Consulte Object name mapping.
Retry time for failed connections
Valor predeterminado: 12 horas. Ajústelo según sus necesidades.
-
Haga clic en Precheck.
Corrija los elementos con errores y vuelva a ejecutar la comprobación previa.
De manera opcional, ignore los elementos con errores que no sean críticos y vuelva a ejecutarla.
Una vez superada la comprobación previa, haga clic en Next.
En el cuadro de diálogo Confirm settings, seleccione Channel specification y acepte Data Transmission Service (Pay-As-You-Go) Service Terms.
-
Haga clic en Buy and start.
No detenga la tarea manualmente durante la migración completa de datos, ya que esto dejaría incompletos los datos de destino. Espere a que la tarea se detenga automáticamente.

Cuando finalice la migración, cambie sus cargas de trabajo a la instancia de ApsaraDB RDS for PostgreSQL.