Saltar al contenido

¿Cómo puedo solucionar los errores de conectividad de los puntos de enlace de AWS DMS?

11 minutos de lectura
0

No puedo conectarme a mis puntos de enlace de AWS Database Migration Service (AWS DMS) y mi conexión de prueba falla. Quiero solucionar los problemas de conectividad.

Resolución

Al probar la conexión desde la instancia de replicación al punto de enlace de origen o de destino, es posible que se produzcan problemas de conectividad o problemas con la base de datos nativa.

Si hay un problema de conexión entre la instancia de replicación y el origen o el destino, recibirás errores similares a los siguientes:

  • "Application-Status: 1020912, Application-Message: Failed to connect Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: HYT00 NativeError: 0 Message: [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired ODBC general error."
  • "Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired ODBC general error."
  • "Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider ODBC general error., Application-Detailed-Message: RetCode: SQL_ERROR SqlState: HY000 NativeError: 2005 Message: [unixODBC][MySQL][ODBC 5.3(w) Driver]Unknown MySQL server host 'mysql1.xxxxx.us-east-1.rds.amazonaws.com' (22) ODBC general error."

Si el error se produce debido a problemas con la base de datos nativa, como errores de autorización o autenticación de la base de datos, recibirás un error similar al siguiente:

"Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]FATAL: password authentication failed for user "dmsuser" ODBC general error."

Nota: Se recomienda probar la conexión desde la instancia de replicación de AWS DMS hasta los puntos de enlace después de crear los puntos de enlace de origen y destino. Completa la prueba antes de iniciar la tarea de migración de AWS DMS.

Resolución de problemas de conectividad de los recursos que se alojan en AWS

Comprueba que puedas establecer una conexión entre la base de datos de origen o destino y la instancia de replicación. Según el caso de uso y la infraestructura de red, conecta la base de datos de origen o de destino a una instancia de replicación en una subred pública o privada. Para más información, consulta Configuración de una red para una instancia de replicación.

Nota: Las versiones 3.4.7 y posteriores de AWS DMS requieren que configures AWS DMS para usar puntos de enlace de Amazon Virtual Private Cloud (Amazon VPC). O bien, debes usar rutas públicas a todos los puntos de enlace de origen y destino que interactúan con determinados servicios de AWS.

Comprobación de la configuración de la instancia de replicación

En la instancia de replicación, confirma que la configuración incluye las siguientes reglas:

  • Una Regla de salida para la dirección IP con el puerto de la base de datos de origen o destino del grupo de seguridad. De forma predeterminada, la regla de salida de un grupo de seguridad permite todo el tráfico. Los grupos de seguridad tienen estado, por lo que puedes mantener la regla de entrada predeterminada.
  • Una regla de salida para la dirección IP con el puerto de la base de datos de origen o destino en la lista de control de acceso de la red (ACL). De forma predeterminada, la regla de salida de una ACL de la red permite todo el tráfico.
  • Una regla de entrada para la dirección IP con los puertos efímeros de la base de datos de origen o destino en la ACL de la red. De forma predeterminada, la regla de entrada de una ACL de la red permite todo el tráfico.

Comprobación de la configuración de la base de datos de origen o destino

En la base de datos de origen o destino, confirma que la configuración incluya las siguientes reglas:

  • Una regla de entrada para la dirección IP de la instancia de replicación o el bloque de CIDR del grupo de subredes de la instancia de replicación. La regla de entrada debe incluir el puerto de la base de datos de origen o destino en el grupo de seguridad. Los grupos de seguridad tienen estado, por lo que puedes mantener la regla de salida predeterminada.
  • Una regla de entrada para la dirección IP de la instancia de replicación o el bloque de CIDR del grupo de subredes de la instancia de replicación. La regla de entrada debe incluir el puerto de la base de datos de origen o destino en la lista de control de acceso (ACL) de la red. Confirma que no haya ninguna regla de denegación explícita para la dirección IP y el puerto.
  • Una regla de salida para la dirección IP o el bloque de CIDR del grupo de subredes de la instancia de replicación con puertos efímeros en la ACL de la red. De forma predeterminada, la regla de salida de una ACL de la red permite todo el tráfico.

Como práctica recomendada, configura la red para permitir el bloque de CIDR del grupo de subredes de la instancia de replicación. La dirección IP de la instancia de replicación cambia durante un evento de conmutación por error o reemplazo de host.

Determinar las direcciones IP y el bloque de CIDR de un grupo de subredes

Para configurar las reglas de entrada y salida, determina las direcciones IP y el bloque de CIDR del grupo de subredes. Puedes usar la consola de AWS DMS o la interfaz de la línea de comandos de AWS (AWS CLI).

Nota: Si se muestran errores al poner en marcha comandos de AWS CLI, consulta Solución de errores de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Consola de AWS DMS

Sigue estos pasos:

  1. Abre la consola de AWS DMS.
  2. En el panel de navegación, elige Instancias de replicación.
  3. Selecciona tu instancia de replicación.
  4. En Detalles, copia la Dirección IP pública, la Dirección IP privada y el Grupo de subredes de replicación de tu instancia de replicación.
  5. En Grupo de subredes de replicación, elige el enlace para acceder a la página del grupo de subredes. Copia el nombre de cada subred del grupo de subredes.
  6. Para verificar el bloque de CIDR de cada subred, abre la consola de Amazon VPC.
  7. En la pestaña Subredes, busca las subredes. Para cada subred, anota el bloque de CIDR.

AWS CLI

Para determinar el bloque de CIDR de cada subred, ejecuta el comando describe-subnets de la AWS CLI:

aws ec2 describe-subnets --filters Name=subnet-id,Values="$(aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].ReplicationSubnetGroup.Subnets[*].SubnetIdentifier" --output text | sed -e 's/\t/,/g')" --query "Subnets[*].{SubnetId:SubnetId,CidrBlock:CidrBlock}" --output table

Nota: Sustituye replication-instance-name por el nombre de tu instancia de replicación.

Para determinar las direcciones IP de la instancia de replicación, ejecuta el comando describe-replication-instances.

aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].{ReplicationInstancePublicIpAddresses:ReplicationInstancePublicIpAddresses,ReplicationInstancePrivateIpAddresses:ReplicationInstancePrivateIpAddresses}" --output table

Nota: Sustituye replication-instance-name por el nombre de tu instancia de replicación.

Resolución de problemas de conectividad para recursos locales

Si alojas la base de datos de origen o destino en el entorno local, confirma que la base de datos permite las conexiones entrantes desde la instancia de replicación de AWS DMS. Para confirmarlo, ponte en contacto con el administrador de la red. Además, comprueba que un firewall no bloquee la comunicación con la base de datos de origen o destino.

Asegúrate de configurar correctamente la configuración de DNS. Si necesitas una resolución de DNS, usa Amazon Route 53 Resolver. Para obtener información sobre el uso de un servidor de nombres local para resolver puntos de enlace con Route 53 Resolver, consulta Uso de tu propio servidor de nombres local. O bien, crea una nueva instancia de AWS DMS mediante AWS CLI para usar un servidor de nombres de DNS del cliente (--dns-name-servers) para resolver los problemas de DNS. De forma predeterminada, las instancias de AWS DMS utilizan los nombres de DNS que Amazon proporciona para las resoluciones. Para obtener más información, consulta create-replication-instance.

Nota: Al configurar el origen o el destino para usar un DNS personalizado, es posible que los puntos de enlace de AWS DMS fallen.

Comprueba que tu instancia de Amazon Elastic Compute Cloud (Amazon EC2) tenga las mismas configuraciones de red que la instancia de replicación de AWS DMS con los problemas de conectividad. Para solucionar problemas de conectividad de red, primero usa el siguiente comando en la nueva instancia de Amazon EC2:

telnet database_IP_address_or_DNS port_number

Nota: Sustituye database_IP_address_or_DNS por la dirección IP o el nombre de dominio de la base de datos que has especificado para el punto de enlace de origen o destino de AWS DMS. Sustituye port_number por el número de puerto de la base de datos especificada para el punto de enlace de origen o destino de AWS DMS.

A continuación, usa el siguiente comando:

nslookup domain_name

Nota: Sustituye domain_name por el nombre de dominio de la base de datos que has especificado para el punto de enlace de origen o destino de AWS DMS.

Resolución de errores de bases de datos nativas

Para resolver los errores de la base de datos nativa, confirma que has configurado correctamente las siguientes configuraciones de punto de enlace:

  • Nombre de usuario
  • Contraseña
  • Nombre del servidor
    Nota: Debes configurar el nombre del servidor en el DNS o la dirección IP de la base de datos local, o del punto de enlace de Amazon Relational Database Service (Amazon RDS).
  • Puerto
  • Nombre de la base de datos
    Nota: No indiques ningún nombre de base de datos para el origen o el destino de MySQL.

Si usas AWS Secrets Manager para especificar alguno de los campos anteriores, consulta Uso de secretos para acceder a los puntos de enlace de AWS DMS.

Nota: Secrets Manager no admite los siguientes caracteres en las contraseñas: punto y coma (;), punto (.), dos puntos (:), signo más (+) y corchetes ({}).

Para ver los errores de la base de datos nativa relacionados con la base de datos de origen o destino, consulta la resolución de la documentación específica de la base de datos. Usa el código y el mensaje de error que recibes en la consola de AWS DMS.

Cuando introduzcas manualmente las credenciales para la configuración del punto de enlace, asegúrate de no incluir corchetes alrededor de la contraseña. Si incluyes corchetes, recibirás mensajes de error similares a los siguientes:

Ejemplo de error cuando Amazon Redshift es el punto de enlace de destino

"[SERVER ]E: RetCode: SQL_ERROR SqlState: 28000 NativeError: 10 Message: [Amazon][Amazon Redshift] (10) Error occurred while trying to connect: [SQLState 28000] connection to server at Your workgroup endpoint (IP), port 5439 failed: FATAL: password authentication failed for user Your Username [1022502] (ar_odbc_conn.c:614)"

Ejemplo de error cuando MySQL es el punto de enlace de destino

"00012920: 2025-05-08T20:27:50:341649 [SERVER ]D: RetCode: SQL_ERROR SqlState: HY000 NativeError: 1045 Message: [MySQL][ODBC 8.0(w) Driver]Access denied for user UserName@IP (using password: YES) [1022502] (ar_odbc_conn.c:614)"

Ejemplo de error cuando SQL Server es el punto de enlace de destino

"00012920: 2025-05-08T21:15:20:185761 [SERVER ]E: RetCode: SQL_ERROR SqlState: 28000 NativeError: 18456 Message: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user UserName. [1022502] (ar_odbc_conn.c:614)"

Nota: Si usas PostgreSQL como punto de enlace de destino, puedes usar corchetes.

Para más información, consulta los registros de errores, trazas, alertas u otros registros de la base de datos de origen o destino.

En caso de errores de acceso a la base de datos, confirma los permisos que requiere AWS DMS para el origen o el destino específicos.

Para obtener más información sobre cómo cifrar las conexiones de los puntos de enlace de origen y destino con SSL, consulta Uso de SSL con AWS DMS.

Información relacionada

¿Cómo puedo solucionar los errores en las pruebas de conexión de puntos de enlace de Amazon S3 al utilizar AWS DMS?

¿Cómo puedo solucionar los fallos y errores de conectividad de una tarea de AWS DMS que utiliza Amazon Redshift como punto de enlace de destino?

How do I troubleshoot connectivity failures between AWS DMS and a MongoDB source endpoint? (¿Cómo puedo solucionar los errores de conectividad entre AWS DMS y un punto de enlace de origen de MongoDB?)

Migración de bases de datos de Microsoft SQL Server a la nube de AWS