Supervisión de las AWS tareas de DMS - AWS Database Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervisión de las AWS tareas de DMS

La supervisión es una parte importante del mantenimiento de la confiabilidad, la disponibilidad y el rendimiento de AWS DMS sus AWS soluciones. Debe recopilar los datos de supervisión de todas las partes de la AWS solución para poder depurar más fácilmente una falla multipunto en caso de que se produzca. AWS proporciona varias herramientas para supervisar sus AWS DMS tareas y recursos y responder a posibles incidentes:

AWS DMS eventos y notificaciones

AWS DMS utiliza Amazon Simple Notification Service (Amazon SNS) para enviar notificaciones cuando se produce AWS DMS un evento, por ejemplo, la creación o eliminación de una instancia de replicación. AWS DMS agrupa los eventos en categorías a las que puede suscribirse, de modo que pueda recibir notificaciones cuando se produzca un evento de esa categoría. Por ejemplo, si se suscribe a la categoría de creación de una instancia de replicación determinada, recibirá una notificación cada vez que se produzca un evento relacionado con la creación y que afecte a su instancia de replicación. Puede trabajar con estas notificaciones en cualquier formato compatible con Amazon SNS para una AWS región, como un mensaje de correo electrónico, un mensaje de texto o una llamada a un punto de enlace HTTP. Para obtener más información, consulte Trabajo con eventos y notificaciones de Amazon SNS en AWS Database Migration Service.

Estado de una tarea

Puede monitorizar el progreso de su tarea comprobando su estado y monitorizando su tabla de control. El estado de la tarea indica el estado de una AWS DMS tarea y sus recursos asociados. Incluye indicaciones tales como si la tarea se está creando, iniciando, ejecutándose o deteniendo. También incluye el estado actual de las tablas que está migrando la tarea, por ejemplo, si ha comenzado o está en curso una carga completa de una tabla y detalles como el número de inserciones, eliminaciones y actualizaciones de la tabla. Para obtener más información acerca de la supervisión de las tareas y las condiciones de los recursos de tareas, consulte Estado de una tarea y Estado de la tabla durante las tareas. Para obtener más información sobre las tablas de control, consulte Configuración de las tareas de la tabla de control.

CloudWatch Alarmas y registros de Amazon

Con CloudWatch las alarmas de Amazon, observas una o más métricas de tareas durante un período de tiempo que especifiques. Si una métrica supera un umbral determinado, se envía una notificación a un tema de Amazon SNS. CloudWatch las alarmas no invocan acciones porque se encuentran en un estado determinado. Más bien, el estado debe haber cambiado y mantenerse durante un número específico de períodos. AWS DMS también se utiliza CloudWatch para registrar la información de las tareas durante el proceso de migración. Puede usar la API AWS CLI o la AWS DMS API para ver información sobre los registros de tareas. Para obtener más información sobre el uso CloudWatch con AWS DMS, consulteSupervisión de las tareas de replicación mediante Amazon CloudWatch. Para obtener más información sobre la supervisión de AWS DMS las métricas, consulteAWS Database Migration Service métricas. Para obtener más información sobre el uso de los registros de AWS DMS tareas, consulteVisualización y administración de los AWS registros de tareas del DMS.

Registros de Viaje en el tiempo

Para registrar y depurar las tareas de replicación, puede utilizar AWS DMS Time Travel. En este enfoque, puede usar Amazon S3 para almacenar los registros y cifrarlos con las claves de cifrado. Puede recuperar los registros de S3 mediante filtros de fecha y hora y, a continuación, verlos, descargarlos y ocultarlos según sea necesario. De este modo, puede “viajar en el tiempo hacia atrás” para investigar las actividades de la base de datos.

Puede usar el viaje en el tiempo con puntos de conexión de origen de PostgreSQL compatibles con DMS y puntos de conexión de destino de PostgreSQL y MySQL compatibles con DMS. Puede activar el viaje en el tiempo solo para tareas de carga completa y de CDC y solo para tareas de CDC. Para activar el viaje en el tiempo o modificar cualquier configuración de viaje en el tiempo existente, asegúrese de detener la tarea.

Para obtener más información acerca de los registros de Viaje en el tiempo, consulte Configuración de tarea de Viaje en el tiempo. Para conocer las prácticas recomendadas sobre el uso de los registros de viajes en el tiempo, consulte Solución de problemas de tareas de replicación con Viaje en el tiempo.

AWS CloudTrail registros

AWS DMS está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, una función de IAM o un AWS servicio en AWS DMS. CloudTrailcaptura todas las llamadas a la API AWS DMS como eventos, incluidas las llamadas desde la AWS DMS consola y las llamadas en código a las operaciones de la AWS DMS API. Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos para AWS DMS. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el historial de eventos. Con la información recopilada por usted CloudTrail, puede determinar el destinatario de la solicitud AWS DMS, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales. Para obtener más información, consulte Registrar las llamadas a AWS DMS la API con AWS CloudTrail.

Registros de la base de datos

Puede ver, descargar y ver los registros de la base de datos de los puntos finales de sus tareas mediante la AWS Management Console AWS CLI, o la API de su servicio de AWS base de datos. Para obtener más información, consulte la documentación del servicio de base de datos en Documentación de AWS.

Para obtener más información, consulte los siguientes temas.

Estado de una tarea

El estado de una tarea indica su situación. En la siguiente tabla se muestran los posibles estados que puede tener una tarea:

Estado de una tarea Descripción

Creando

AWS DMS está creando la tarea.

En ejecución

La tarea está realizando los trabajos de migración especificados.

Stopped

La tarea se ha interrumpido.

Deteniendo

La tarea se está deteniendo. Suele reflejar la intervención del usuario en la tarea.

Eliminando

La tarea se está eliminando, normalmente por una solicitud de intervención por parte del usuario.

Con error

La tarea ha fallado. Para obtener más información, consulte los archivos de registro de la tarea.

Error

La tarea se ha detenido debido a un error. En la sección del último mensaje de error de la pestaña Información general se proporciona una breve descripción del error de la tarea.

Ejecución con errores

La tarea se está ejecutando con un estado de error. Por lo general, esto indica que no se pudieron migrar una o más tablas de la tarea. La tarea sigue cargando otras tablas de acuerdo con las reglas de selección.

Iniciando

La tarea se está conectando a la instancia de replicación y a los puntos de enlace de origen y destino. Se están aplicando todos los filtros y las transformaciones.

Ready

La tarea está lista para ejecutarse. Este estado normalmente sigue al estado de la creación de la tarea.

Modificando

La tarea se está modificado; en general, debido a la acción de un usuario que ha modificado la configuración de la tarea.

Trasladarse

La tarea está en proceso de trasladarse a otra instancia de replicación. La replicación permanece en este estado hasta que se complete el movimiento. La eliminación de la tarea es la única operación permitida en la tarea de replicación mientras se está moviendo.

Error al mover

El traslado de la tarea ha producido un error por algún motivo, por ejemplo, por no disponer de suficiente espacio de almacenamiento en la instancia de replicación de destino. Cuando una tarea de replicación se encuentra en este estado, se puede iniciar, modificar, mover o eliminar.

Pruebas

La migración de la base de datos especificada para esta tarea se está probando en respuesta a la ejecución de la StartReplicationTaskAssessmentRunoperación o de la StartReplicationTaskAssessmentoperación.

La barra de estado de la tarea proporciona una estimación del avance de la tarea. La calidad de esta estimación depende de la calidad de las estadísticas de la tabla de la base de datos de origen; cuanto mejores sean las estadísticas de la tabla, más precisa será la estimación. Si una tarea solo tiene una tabla que carece de estimación de estadísticas de filas, no podemos proporcionar ningún tipo de cálculo sobre el porcentaje completado. En este caso, puede utilizar el estado de la tarea y la indicación de las filas cargadas para confirmar que la tarea está en ejecución y avanzando.

Tenga en cuenta que la columna “última actualización” de la consola de DMS solo indica la hora en que AWS DMS realizó la última actualización del registro de estadísticas de una tabla. No indica la hora de la última actualización de la tabla.

Además de utilizar la consola de DMS, puede generar una descripción de las tareas de replicación actuales, incluido el estado de la tarea, mediante el comando aws dms describe-replication-tasks en la AWS CLI, como se muestra en el siguiente ejemplo.

{ "ReplicationTasks": [ { "ReplicationTaskIdentifier": "moveit2", "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:6GGI6YPWWGAYUVLKIB732KEVWA", "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:EOM4SFKCZEYHZBFGAGZT3QEC5U", "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:T3OM7OUB5NM2LCVZF7JPGJRNUE", "MigrationType": "full-load", "TableMappings": ...output omitted... , "ReplicationTaskSettings": ...output omitted... , "Status": "stopped", "StopReason": "Stop Reason FULL_LOAD_ONLY_FINISHED", "ReplicationTaskCreationDate": 1590524772.505, "ReplicationTaskStartDate": 1590619805.212, "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:K55IUCGBASJS5VHZJIINA45FII", "ReplicationTaskStats": { "FullLoadProgressPercent": 100, "ElapsedTimeMillis": 0, "TablesLoaded": 0, "TablesLoading": 0, "TablesQueued": 0, "TablesErrored": 0, "FreshStartDate": 1590619811.528, "StartDate": 1590619811.528, "StopDate": 1590619842.068 } } ] }

Estado de la tabla durante las tareas

La consola del AWS DMS actualiza la información relativa al estado de las tablas durante la migración. En la siguiente tabla se muestran los posibles valores de estado:

AWS Instancia de replicación de Database Migration Service
Estado Descripción

Table does not exist (La tabla no existe)

AWS DMS no puede encontrar la tabla en el punto final de origen.

Before load (Antes de cargar)

El proceso de carga completa se ha habilitado, pero aún no se ha iniciado.

Full load

El proceso de carga completa está en curso.

Table completed

Se ha terminado la carga completa.

Table cancelled

Se ha cancelado la carga de la tabla.

Table error

Se ha producido un error al cargar la tabla.

Supervisión de las tareas de replicación mediante Amazon CloudWatch

Puedes usar CloudWatch las alarmas o los eventos de Amazon para realizar un seguimiento más detallado de tu migración. Para obtener más información sobre Amazon CloudWatch, consulta ¿Qué son Amazon CloudWatch, Amazon CloudWatch Events y Amazon CloudWatch Logs? en la Guía del CloudWatch usuario de Amazon. Ten en cuenta que el uso de Amazon conlleva un cargo CloudWatch.

Si su tarea de replicación no crea CloudWatch registros, consulte AWS DMSno crea registros CloudWatch la guía de solución de problemas.

La AWS DMS consola muestra las CloudWatch estadísticas básicas de cada tarea, incluido el estado de la tarea, el porcentaje completado, el tiempo transcurrido y las estadísticas de la tabla, como se muestra a continuación. Seleccione la tarea de replicación y, a continuación, seleccione la pestaña de CloudWatch métricas.

Para ver y modificar la configuración del registro de CloudWatch tareas, seleccione Modificar el registro de tareas. Para obtener más información, consulte Configuración de las tareas de los registros.

AWS Supervisión de DMS

La consola AWS DMS muestra las estadísticas de rendimiento de cada tabla, incluido el número de inserciones, eliminaciones y actualizaciones, al seleccionar la pestaña Estadísticas de la tabla.

AWS Supervisión del DMS

Además, si selecciona una instancia de replicación en la página Instancia de replicación, puede ver las métricas de rendimiento de la instancia seleccionando la pestaña de CloudWatch métricas.

AWS Supervisión del DMS

AWS Database Migration Service métricas

AWS DMS proporciona estadísticas para lo siguiente:

  • Estadísticas del host: estadísticas de rendimiento y utilización del host de replicación, proporcionadas por Amazon CloudWatch. Para ver una lista completa de las métricas disponibles, consulte Métricas de instancia de replicación.

  • Métricas de tareas de replicación: las estadísticas para las tareas de replicación, incluidos los cambios entrantes y confirmados y la latencia entre el host de replicación y las bases de datos de origen y destino. Para ver una lista completa de las métricas disponibles, consulte Métricas de tareas de replicación.

  • Métricas de tablas: estadísticas de tablas que están en proceso de migración, incluido el número de inserciones, actualizaciones, eliminaciones e instrucciones DDL completadas.

Las métricas de tareas se dividen en estadísticas entre el host de replicación y el punto de enlace de origen, y estadísticas entre el host de replicación y el punto de enlace de destino. Puede determinar las estadísticas totales para una tarea agregando dos estadísticas relacionadas. Por ejemplo, puede determinar la latencia total, o el retraso de réplica, de una tarea combinando los LatencyTarget valores CDC LatencySource y CDC.

Los valores de las métricas de las tareas pueden verse afectados por la actividad en curso en la base de datos de origen. Por ejemplo, si una transacción ha comenzado, pero no se ha confirmado, la LatencySource métrica CDC seguirá aumentando hasta que se confirme la transacción.

Para la instancia de replicación, es necesario aclarar la FreeableMemorymétrica. La memoria que se puede liberar no es una indicación de la memoria libre disponible real. Es la memoria que se encuentra actualmente en uso, que puede liberarse y que otros usuarios pueden utilizar; se trata de una combinación de búferes y caché en uso en la instancia de replicación.

Si bien la FreeableMemorymétrica no refleja la memoria libre real disponible, la combinación de las SwapUsagemétricas FreeableMemoryy puede indicar si la instancia de replicación está sobrecargada.

Monitoree estas dos métricas para las siguientes condiciones:

  • La FreeableMemorymétrica se acerca a cero.

  • La SwapUsagemétrica aumenta o fluctúa.

Si detecta alguna de estas dos condiciones, debe sopesar la posibilidad de trasladarse a una instancia de replicación de mayor tamaño. También debe considerar la posibilidad de reducir el número y el tipo de tareas que se ejecutan en la instancia de replicación. Las tareas de carga completa requieren más memoria que las tareas que solo replican los cambios.

Para estimar aproximadamente los requisitos de memoria reales para una tarea de AWS DMS migración, puede utilizar los siguientes parámetros.

Columnas de LOB

Un número medio de columnas de LOB en cada tabla del ámbito de la migración.

Maximum number of tables to load in parallel (Número máximo de tablas que se pueden cargar en paralelo)

El número máximo de tablas que se AWS DMS cargan en paralelo en una tarea.

El valor predeterminado es 8.

LOB chunk size

El tamaño de los fragmentos de LOB, en kilobytes, que se AWS DMS utilizan para replicar los datos en la base de datos de destino.

Tasa de confirmación durante la carga completa

El número máximo de registros que AWS DMS se pueden transferir en paralelo.

El valor predeterminado es 10,000.

Tamaño de LOB

El tamaño máximo de un LOB específico, en kilobytes.

Tamaño de matriz masiva

El número máximo de filas que el controlador de punto de conexión obtiene o procesa. Este valor depende de la configuración del controlador.

El valor predeterminado es 1,000.

Tras determinar estos valores, puede utilizar uno de los siguientes métodos para calcular la cantidad de memoria necesaria para la tarea de migración. Estos métodos dependen de la opción que elija para la configuración de columna de LOB en la tarea de migración.

  • Para el modo de LOB completo, utilice la siguiente fórmula.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB chunk size) * (Commit rate during full load)

    Considere un ejemplo en el que las tablas de origen incluyen una media de 2 columnas de LOB y el tamaño de los fragmentos de LOB es de 64 KB. Si utiliza los valores predeterminados para Maximum number of tables to load in parallel y Commit rate during full load, la cantidad de memoria necesaria para la tarea es la siguiente.

    Required memory = 2 * 8 * 64 * 10,000 = 10,240,000 KB

    nota

    Para reducir el valor de la tasa de confirmación durante la carga completa, abra la AWS DMS consola, elija las tareas de migración de bases de datos y cree o modifique una tarea. Expanda la configuración avanzada e ingrese el valor de la tasa de confirmación durante la carga completa.

  • Para el modo de LOB limitado, utilice la siguiente fórmula.

    Required memory = (LOB columns) * (Maximum number of tables to load in parallel) * (LOB size) * (Bulk array size)

    Considere un ejemplo en el que las tablas de origen incluyen una media de 2 columnas de LOB y el tamaño máximo de un LOB específico es 4096 KB. Si utiliza los valores predeterminados para Maximum number of tables to load in parallel y Bulk array size, la cantidad de memoria necesaria para la tarea es la siguiente.

    Required memory = 2 * 8 * 4,096 * 1,000 = 65,536,000 KB

AWS DMS Para realizar las conversiones de forma óptima, la CPU debe estar disponible cuando se produzcan las conversiones. La sobrecarga de la CPU y la falta de recursos de CPU suficientes pueden provocar migraciones lentas. AWS DMS puede requerir un uso intensivo de la CPU, especialmente cuando se realizan migraciones y replicaciones heterogéneas, como la migración de Oracle a PostgreSQL. El uso de la clase de instancia de replicación C4 puede ser una buena opción para estas situaciones. Para obtener más información, consulte Cómo elegir la instancia de replicación de AWS DMS adecuada para su migración.

Métricas de instancia de replicación

La supervisión de instancias de replicación incluye CloudWatch métricas de Amazon para las siguientes estadísticas.

Métrica

Descripción

AvailableMemory

Una estimación de cuánta memoria tendrá disponible para iniciar nuevas aplicaciones sin necesidad de intercambiarlas. Para obtener más información, consulte el valor MemAvailable en la sección /proc/memInfo de las man-pages de Linux.

Unidades: bytes

CPUAllocated

El porcentaje máximo de CPU asignado a la tarea (0 significa que no hay límite).

AWS DMS compara esta métrica con las dimensiones combinadas de ReplicationInstanceIdentifer y dentro ReplicationTaskIdentifier de la CloudWatch consola. Utilice la categoría ReplicationInstanceIdentifier, ReplicationTaskIdentifier para ver esta métrica.

Unidades: porcentaje

CPUUtilization

El porcentaje de vCPU (CPU virtual) asignada que está actualmente en uso en la instancia.

Unidades: porcentaje

DiskQueueDepth

El número de solicitudes de escritura o lectura pendientes (E/S) a la espera de acceso al disco.

Unidades: recuento

FreeStorageSpace

La cantidad de espacio de almacenamiento disponible.

Unidades: bytes

FreeMemory

La cantidad de memoria física disponible para que la usen las aplicaciones, la caché de páginas y las estructuras de datos del propio kernel. Para obtener más información, consulte el valor MemFree en la sección /proc/memInfo de las man-pages de Linux.

Unidades: bytes

FreeableMemory

La cantidad de memoria de acceso aleatorio disponible.

Unidades: bytes

MemoryAllocated

La asignación máxima de memoria para la tarea (0 significa que no hay límites).

AWS DMS compara esta métrica con las dimensiones combinadas de ReplicationInstanceIdentifer y dentro ReplicationTaskIdentifier de la CloudWatch consola. Utilice la categoría ReplicationInstanceIdentifier, ReplicationTaskIdentifier para ver esta métrica.

Unidades: MiB

WriteIOPS

Número medio de operaciones de E/S de escritura en disco por segundo.

Unidades: recuento/segundo

ReadIOPS

Número medio de operaciones de E/S de lectura en disco por segundo.

Unidades: recuento/segundo

WriteThroughput

Número medio de bytes que se escriben en el disco por segundo.

Unidades: bytes/segundo

ReadThroughput

El número medio de bytes leídos del disco por segundo.

Unidades: bytes/segundo

WriteLatency

Tiempo medio de cada operación de E/S (salida) en disco.

Unidades: milisegundos

ReadLatency

Tiempo medio de cada operación de E/S (entrada) en disco.

Unidades: milisegundos

SwapUsage

Cantidad de espacio de intercambio utilizada en la instancia de replicación.

Unidades: bytes

NetworkTransmitThroughput

El tráfico de red de salida (transferencia) en la instancia de replicación, incluidos el tráfico de base de datos del cliente y el tráfico de AWS DMS utilizado para monitoreo y replicación.

Unidades: bytes/segundo

NetworkReceiveThroughput

El tráfico de red de entrada (recepción) en la instancia de replicación, incluidos el tráfico de base de datos del cliente y el tráfico de AWS DMS utilizado para monitoreo y replicación.

Unidades: bytes/segundo

Métricas de tareas de replicación

El monitoreo de tareas de replicación incluye métricas para las estadísticas siguientes.

Métrica

Descripción

FullLoadThroughputBandwidthTarget

Los datos salientes se transmiten desde una carga nula para el destino en KB por segundo.

FullLoadThroughputRowsTarget

Cambios salientes de una carga completa para el destino en filas por segundo.

CDC IncomingChanges

El número total de eventos de cambio en un point-in-time punto que están pendientes de ser aplicados al objetivo. Tenga en cuenta que esto no es lo mismo que una medida de la velocidad de cambio de las transacciones del punto de enlace de origen. Cuando el valor de esta métrica es alto, normalmente significa que AWS DMS no puede aplicar los cambios capturados con puntualidad, lo que provoca una latencia de destino más elevada.

CDC ChangesMemorySource

Cantidad de filas que se acumulan en una memoria y que esperan a confirmarse desde el origen. Puede consultar esta métrica junto con los CDCChangesDiskSource.

CDC ChangesMemoryTarget

Cantidad de filas que se acumulan en una memoria y que esperan a confirmarse en el destino. Puede consultar esta métrica junto con los CDCChangesDiskTarget.

CDC ChangesDiskSource

Cantidad de filas que se acumulan en el disco y que esperan a confirmarse desde el origen. Puede consultar esta métrica junto con los CDCChangesMemorySource.

CDC ChangesDiskTarget

Cantidad de filas que se acumulan en el disco y que esperan a confirmarse en el destino. Puede consultar esta métrica junto con los CDCChangesMemoryTarget.

CDC ThroughputBandwidthTarget

Los datos salientes se transmiten para el destino en KB por segundo. Los CDC ThroughputBandwidth registran los datos salientes transmitidos en los puntos de muestreo. Si no se encuentra tráfico de red de tarea, el valor es cero. Como CDC no emite transacciones de larga duración, puede que el tráfico de red no se registre.

CDC ThroughputRowsSource

Cambios de tareas entrantes del origen en filas por segundo.

CDC ThroughputRowsTarget

Cambios de tareas salientes para el destino en filas por segundo.

CDC LatencySource

La diferencia, en segundos, entre el último evento capturado en el punto de conexión de origen y la marca temporal del sistema actual de la instancia de AWS DMS . Los CDC LatencySource representan la latencia entre el origen y la instancia de replicación. Un nivel alto de CDC LatencySource significa que el proceso de captura de los cambios de la fuente se retrasa. Para identificar la latencia en una replicación en curso, puede consultar esta métrica junto con los CDCLatencyTarget. Si tanto los CDC como LatencySource los CDC LatencyTarget están drogados, investigue LatencySource primero los CDC.

El CDC SourceLatency puede ser 0 cuando no hay ningún retraso en la replicación entre el origen y la instancia de replicación. Los CDC también SourceLatency pueden pasar a cero cuando la tarea de replicación intenta leer el siguiente evento del registro de transacciones de la fuente y no hay eventos nuevos en comparación con la última vez que se leyó desde la fuente. Cuando esto ocurre, la tarea restablece el CDC SourceLatency en 0.

CDC LatencyTarget

La diferencia, en segundos, entre la primera marca temporal de evento que espera confirmación en el destino y la marca temporal actual de la instancia de AWS DMS . La latencia objetivo es la diferencia entre la hora del servidor de la instancia de replicación y el ID de evento no confirmado más antiguo reenviado a un componente de destino. En otras palabras, la latencia de destino es la diferencia temporal entre la instancia de replicación y el evento más antiguo aplicado pero no confirmado por el punto de conexión de TRG (99 %). Cuando el nivel de CDC LatencyTarget es alto, indica que el proceso de aplicar los eventos de cambio a la meta está retrasado. Para identificar la latencia en una replicación en curso, puede consultar esta métrica junto con los CDCLatencySource. Si los CDC LatencyTarget están altos pero LatencySource no, investigue si:

  • No hay claves principales o índices en el destino

  • Se producen cuellos de botella de recursos en la instancia de replicación o de destino

  • Los problemas de red residen entre la instancia de replicación y el destino

CPUUtilization

El porcentaje de CPU que utiliza una tarea en varios núcleos. La semántica de CPUUtilization de tarea es ligeramente diferente de CPUUtilizaiton de replicación. Si se utiliza 1 vCPU por completo, indica el 100 %, pero si hay varias vCPU en uso, el valor podría estar por encima del 100 %.

Unidades: porcentaje

SwapUsage

La cantidad de espacio de intercambio utilizado por tarea.

Unidades: bytes

MemoryUsage

El grupo de control (cgroup) memory.usage_in_bytes consumido por una tarea. DMS usa cgroups para controlar el uso de los recursos del sistema, como la memoria y la CPU. Esta métrica indica el uso de memoria de una tarea en megabytes dentro del cgroup asignado a esa tarea. Los límites de cgroup se basan en los recursos disponibles para la clase de instancia de replicación de DMS. memory.usage_in_bytes consta del tamaño del conjunto residente (RSS), la memoria caché y los componentes de intercambio de la memoria. El sistema operativo puede reclamar la memoria caché si es necesario. Le recomendamos que también supervise la métrica de la instancia de replicación, AvailableMemory.

AWS DMS compara esta métrica con las dimensiones combinadas de ReplicationInstanceIdentifer y dentro ReplicationTaskIdentifier de la CloudWatch consola. Utilice la categoría ReplicationInstanceIdentifier, ReplicationTaskIdentifier para ver esta métrica.

Visualización y administración de los AWS registros de tareas del DMS

Puedes usar Amazon CloudWatch para registrar la información de las tareas durante un proceso de AWS DMS migración. Se debe habilitar el registro cuando se selecciona la configuración de tareas. Para obtener más información, consulte Configuración de las tareas de los registros.

Para consultar los registros de una tarea que se ha ejecutado, siga estos pasos:

  1. Abra la AWS DMS consola y seleccione Tareas de migración de bases de datos en el panel de navegación. Aparecerá el cuadro de diálogo de tareas de migración de base de datos.

  2. Seleccione el nombre de su tarea. Aparecerá el cuadro de diálogo de detalles de información general.

  3. Busque la sección de registros de tareas de migración y seleccione Ver CloudWatch registros.

Además, puedes usar la AWS DMS API AWS CLI o para ver información sobre los registros de tareas. Para ello, utiliza el describe-replication-instance-task-logs AWS CLI comando o la acción de la AWS DMS APIDescribeReplicationInstanceTaskLogs.

Por ejemplo, el siguiente AWS CLI comando muestra los metadatos del registro de tareas en formato JSON.

$ aws dms describe-replication-instance-task-logs \ --replication-instance-arn arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY

A continuación se muestra un ejemplo de respuesta del comando.

{ "ReplicationInstanceTaskLogs": [ { "ReplicationTaskArn": "arn:aws:dms:us-east-1:237565436:task:MY34U6Z4MSY52GRTIX3O4AY", "ReplicationTaskName": "mysql-to-ddb", "ReplicationInstanceTaskLogSize": 3726134 } ], "ReplicationInstanceArn": "arn:aws:dms:us-east-1:237565436:rep:CDSFSFSFFFSSUFCAY" }

En esta respuesta, existe un único log de tareas (mysql-to-ddb) asociado a la instancia de replicación. El tamaño de este log es de 3 726 124 bytes.

Puede utilizar la información que devuelve describe-replication-instance-task-logs para diagnosticar y solucionar problemas con los logs de tareas. Por ejemplo, si habilita el registro de depuración detallado para una tarea, el registro de tareas aumentará de tamaño rápidamente, lo que podría consumir todo el almacenamiento disponible en la instancia de replicación y hacer que estado de la instancia cambie a storage-full. Al describir los registros de tareas, puede determinar cuáles son los que ya no necesita y eliminarlos para liberar espacio de almacenamiento.

Para eliminar los logs de tareas para una tarea, defina la opción DeleteTaskLogs de la tarea en true. Por ejemplo, el siguiente JSON elimina los registros de tareas al modificar una tarea mediante el AWS CLI modify-replication-task comando o la ModifyReplicationTask acción de la AWS DMS API.

{ "Logging": { "DeleteTaskLogs":true } }
nota

Para cada instancia de replicación, AWS DMS elimina los registros que tengan más de 10 días.

Registrar las llamadas a AWS DMS la API con AWS CloudTrail

AWS DMS está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un AWS servicio en AWS DMS. CloudTrail captura todas las llamadas a la API AWS DMS como eventos, incluidas las llamadas desde la AWS DMS consola y las llamadas en código a las operaciones de la AWS DMS API. Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos para AWS DMS. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el historial de eventos. Con la información recopilada por usted CloudTrail, puede determinar el destinatario de la solicitud AWS DMS, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales.

Para obtener más información CloudTrail, consulte la Guía AWS CloudTrail del usuario.

AWS DMS información en CloudTrail

CloudTrail está habilitada en su AWS cuenta al crear la cuenta. Cuando se produce una actividad en AWS DMS, esa actividad se registra en un CloudTrail evento junto con otros eventos de AWS servicio en el historial de eventos. Puedes ver, buscar y descargar los eventos recientes en tu AWS cuenta. Para obtener más información, consulta Ver eventos con el historial de CloudTrail eventos.

Para tener un registro continuo de los eventos de tu AWS cuenta, incluidos los eventos de tu cuenta AWS DMS, crea una ruta. Un rastro permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando crea una ruta en la consola, la ruta se aplica a todas AWS las regiones. La ruta registra los eventos de todas AWS las regiones de la AWS partición y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros AWS servicios para analizar más a fondo los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para obtener más información, consulte:

Todas AWS DMS las acciones se registran CloudTrail y se documentan en la Referencia de la AWS Database Migration Service API. Por ejemplo, las llamadas a TestConnection y StartReplicationTask las acciones generan entradas en los archivos de CloudTrail registro. CreateReplicationInstance

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario lo ayuda a determinar lo siguiente:

  • Si la solicitud se realizó con las credenciales raíz o del usuario de IAM.

  • Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.

  • Si la solicitud la realizó otro AWS servicio.

Para obtener más información, consulte el elemento CloudTrail UserIdentity.

Descripción AWS DMS de las entradas de los archivos de registro

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una solicitud única de cualquier fuente e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a la API pública, por lo que no aparecen en ningún orden específico.

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro que demuestra la RebootReplicationInstance acción.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "AKIAIOSFODNN7EXAMPLE:johndoe", "arn": "arn:aws:sts::123456789012:assumed-role/admin/johndoe", "accountId": "123456789012", "accessKeyId": "ASIAYFI33SINADOJJEZW", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-08-01T16:42:09Z" }, "sessionIssuer": { "type": "Role", "principalId": "AKIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/admin", "accountId": "123456789012", "userName": "admin" } } }, "eventTime": "2018-08-02T00:11:44Z", "eventSource": "dms.amazonaws.com", "eventName": "RebootReplicationInstance", "awsRegion": "us-east-1", "sourceIPAddress": "72.21.198.64", "userAgent": "console.amazonaws.com", "requestParameters": { "forceFailover": false, "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE" }, "responseElements": { "replicationInstance": { "replicationInstanceIdentifier": "replication-instance-1", "replicationInstanceStatus": "rebooting", "allocatedStorage": 50, "replicationInstancePrivateIpAddresses": [ "172.31.20.204" ], "instanceCreateTime": "Aug 1, 2018 11:56:21 PM", "autoMinorVersionUpgrade": true, "engineVersion": "2.4.3", "publiclyAccessible": true, "replicationInstanceClass": "dms.t2.medium", "availabilityZone": "us-east-1b", "kmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/f7bc0f8e-1a3a-4ace-9faa-e8494fa3921a", "replicationSubnetGroup": { "vpcId": "vpc-1f6a9c6a", "subnetGroupStatus": "Complete", "replicationSubnetGroupArn": "arn:aws:dms:us-east-1:123456789012:subgrp:EDHRVRBAAAPONQAIYWP4NUW22M", "subnets": [ { "subnetIdentifier": "subnet-cbfff283", "subnetAvailabilityZone": { "name": "us-east-1b" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-d7c825e8", "subnetAvailabilityZone": { "name": "us-east-1e" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-6746046b", "subnetAvailabilityZone": { "name": "us-east-1f" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-bac383e0", "subnetAvailabilityZone": { "name": "us-east-1c" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-42599426", "subnetAvailabilityZone": { "name": "us-east-1d" }, "subnetStatus": "Active" }, { "subnetIdentifier": "subnet-da327bf6", "subnetAvailabilityZone": { "name": "us-east-1a" }, "subnetStatus": "Active" } ], "replicationSubnetGroupIdentifier": "default-vpc-1f6a9c6a", "replicationSubnetGroupDescription": "default group created by console for vpc id vpc-1f6a9c6a" }, "replicationInstanceEniId": "eni-0d6db8c7137cb9844", "vpcSecurityGroups": [ { "vpcSecurityGroupId": "sg-f839b688", "status": "active" } ], "pendingModifiedValues": {}, "replicationInstancePublicIpAddresses": [ "18.211.48.119" ], "replicationInstancePublicIpAddress": "18.211.48.119", "preferredMaintenanceWindow": "fri:22:44-fri:23:14", "replicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:EX4MBJ2NMRDL3BMAYJOXUGYPUE", "replicationInstanceEniIds": [ "eni-0d6db8c7137cb9844" ], "multiAZ": false, "replicationInstancePrivateIpAddress": "172.31.20.204", "patchingPrecedence": 0 } }, "requestID": "a3c83c11-95e8-11e8-9d08-4b8f2b45bfd5", "eventID": "b3c4adb1-e34b-4744-bdeb-35528062a541", "eventType": "AwsApiCall", "recipientAccountId": "123456789012" }

AWS DMS Registro de contexto

AWS DMS utiliza el registro de contexto para proporcionarle información sobre una migración en curso. El registro de contexto escribe información, como la siguiente, en el CloudWatch registro de la tarea:

  • Información sobre la conexión de la tarea a las bases de datos de origen y destino.

  • Comportamiento de la tarea de replicación. Puede utilizar los registros de tareas para diagnosticar problemas de replicación.

  • Sentencias SQL sin datos que se AWS DMS ejecutan en las bases de datos de origen y destino. Puede usar los registros SQL para diagnosticar un comportamiento de migración inesperado.

  • Transmita los detalles de posición de cada evento de CDC.

El registro de contexto solo está disponible en la AWS DMS versión 3.5.0 o superior.

AWS DMS activa el registro de contexto de forma predeterminada. Para controlar el registro de contexto, defina la tarea EnableLogContext en true o false o modifique la tarea en la consola.

AWS DMS escribe la información del registro de contexto en la tarea de replicación del CloudWatch registro cada tres minutos. Asegúrese de que la instancia de replicación tenga suficiente espacio para el registro de la aplicación. Para obtener más información sobre la administración de registros de tareas, consulte Visualización y administración de los AWS registros de tareas del DMS.

Tipos de objetos

AWS DMS produce el inicio de sesión contextual CloudWatch para los siguientes tipos de objetos.

Tipo de objeto Descripción
TABLE_NAME Estas entradas de registro contienen información sobre las tablas que están dentro del ámbito con la regla de asignación de tareas actual. Puede usar estas entradas para examinar los eventos de la tabla durante un periodo específico durante la migración.
SCHEMA_NAME Estas entradas de registro contienen información sobre esquemas usados por la regla de asignación de tareas actual. Puede usar estas entradas para determinar qué esquema AWS DMS se utilizará durante un período específico durante la migración.
TRANSACTION_ID Estas entradas contienen el ID de transacción de cada cambio de DML/DDL capturado de la base de datos de origen. Puede usar estas entradas de registro para determinar qué cambios se produjeron durante una transacción determinada.
CONNECTION_ID Estas entradas contienen el ID de conexión. Puede usar estas entradas de registro para determinar qué conexión se AWS DMS utiliza para cada paso de migración.
STATEMENT Estas entradas contienen el código SQL utilizado para recuperar, procesar y aplicar cada cambio de migración.
STREAM_POSITION Estas entradas contienen la posición en el archivo de registro de transacciones de cada acción de migración en la base de datos de origen. El formato de estas entradas varía según el tipo de motor de base de datos de origen. También puede usar esta información para determinar una posición inicial para un punto de comprobación de recuperación al configurar la replicación exclusiva de CDC.

Ejemplos de registro

Esta sección contiene ejemplos de registros de log que puede utilizar para monitorear la replicación y diagnosticar problemas de replicación.

Ejemplos de registro de conexión

Esta sección contiene ejemplos de registros que incluyen los ID de conexión.

2023-02-22T10:09:29 [SOURCE_CAPTURE ]I: Capture record 1 to internal queue from Source {operation:START_REGULAR (43), connectionId:27598, streamPosition:0000124A/6800A778.NOW} (streamcomponent.c:2920) 2023-02-22T10:12:30 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), connectionId:27598} (streamcomponent.c:2920) 2023-02-22T11:25:27 [SOURCE_CAPTURE ]I: Capture record 0 to internal queue from Source {operation:IDLE (51), columnName:region, connectionId:27598} (streamcomponent.c:2920)

Ejemplos de registro del comportamiento de las tareas

Esta sección contiene ejemplos de registros sobre el comportamiento del registro de tareas de replicación. Puede utilizar esta información para diagnosticar problemas de replicación, como una tarea en el estado IDLE.

Los siguientes registros SOURCE_CAPTURE indican que no hay eventos disponibles para leer en el archivo de registro de la base de datos de origen y contienen registros TARGET_APPLY que indican que no hay eventos recibidos de los componentes de CDC de AWS DMS para aplicar a la base de datos de destino. Estos eventos también contienen detalles contextuales relacionados con los eventos aplicados anteriormente.

2023-02-22T11:23:24 [SOURCE_CAPTURE ]I: No Event fetched from wal log (postgres_endpoint_wal_engine.c:1369) 2023-02-22T11:24:29 [TARGET_APPLY ]I: No records received to load or apply on target , waiting for data from upstream. The last context is {operation:INSERT (1), tableName:sales_11, schemaName:public, txnId:18662441, connectionId:17855, statement:INSERT INTO "public"."sales_11"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Ejemplos de registro de instrucciones SQL

Esta sección contiene ejemplos de registros sobre las instrucciones SQL que se ejecutan en las bases de datos de origen y destino. Las instrucciones SQL que aparecen en los registros solo muestran la instrucción SQL, no muestran los datos. El registro TARGET_APPLY siguiente muestra una instrucción INSERT que se ejecutó en el destino.

2023-02-22T11:26:07 [TARGET_APPLY ]I: Applied record 2193305 to target {operation:INSERT (1), tableName:sales_111, schemaName:public, txnId:18761543, connectionId:17855, statement:INSERT INTO "public"."sales_111"("sales_no","dept_name","sale_amount","sale_date","region") values (?,?,?,?,?),

Limitaciones

Se aplican las siguientes limitaciones al registro de AWS DMS contexto:

  • Si bien AWS DMS crea un registro mínimo para todos los tipos de puntos finales, el registro exhaustivo del contexto específico del motor solo está disponible para los siguientes tipos de puntos finales. Recomendamos activar el registro de contexto al utilizar estos tipos de puntos de conexión.

    • MySQL

    • PostgreSQL

    • Oracle

    • Microsoft SQL Server

    • MongoDB/Amazon DocumentDB

    • Amazon S3