¿Por qué falla mi conexión de prueba de AWS Glue?
Quiero solucionar un error en una conexión de prueba en AWS Glue.
Solución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Para solucionar el error de la conexión de prueba en AWS Glue, compruebe las conexiones de red y autenticación.
Problemas de red
Comprobación de la conectividad con los almacenes de datos de JDBC
AWS Glue crea interfaces de red elásticas con direcciones IP privadas en la subred de la conexión. Los datos almacenados fuera de Amazon Virtual Private Cloud (Amazon VPC) requieren que la tabla de enrutamiento de la subred incluya una puerta de enlace de NAT en una subred pública. De lo contrario, se agotará el tiempo de espera de la conexión.
Nota: Los datos que almacena fuera de la Amazon VPC es un almacén de datos local o un recurso de Amazon Relational Database Service (Amazon RDS) con un nombre de host público.
Compruebe que los grupos de seguridad de la conexión y la lista de control de acceso de la red (ACL de la red) permitan el tráfico a los datos almacenados en la VPC. A continuación, utilice el runbook AWSSupport-TroubleshootGlueConnection en AWS Systems Manager. Para obtener más información, consulte ¿Cómo puedo solucionar los errores con una conexión de AWS Glue que tiene un origen de JDBC?
Si la conexión requiere una puerta de enlace de NAT o acceso a AWS Secrets Manager y AWS Security Token Service (AWS STS), adjunte los puntos de enlace. Para obtener más información, consulte Conexión a los datos.
Comprobación de los grupos de seguridad de la conexión
Uno de los grupos de seguridad asociados a la conexión debe tener una regla de entrada que haga referencia a sí misma y que esté abierta a todos los puertos TCP. Uno de los grupos de seguridad debe estar abierto a todo el tráfico de salida. Puede usar una regla que haga referencia a sí misma para restringir el tráfico de salida a la VPC. Para obtener más información, consulte Configuración de Amazon VPC para conexiones de JDBC a almacenes de datos de Amazon RDS desde AWS Glue.
Comprobación de la cantidad de direcciones IP libres
La cantidad de direcciones IP libres en la subred debe ser mayor que la cantidad de trabajadores especificados para el trabajo. Esto permite a AWS Glue crear interfaces de red en la subred especificada.
Comprobación de que la subred pueda acceder a Amazon S3
Proporcione un punto de enlace de Amazon Simple Storage Service (Amazon S3) o una ruta a una puerta de enlace de NAT en la tabla de enrutamiento de la subred. Para obtener más información, consulte Error: No se ha podido encontrar el punto de enlace de S3 o la puerta de enlace de NAT para subnetId en la VPC.
Comprobación de si tiene un punto de enlace de VPC de AWS KMS
Para cifrar las conexiones con Catálogo de datos de AWS Glue, asegúrese de tener una ruta a AWS Key Management Service (AWS KMS). Por ejemplo, la ruta puede ser un punto de enlace de la interfaz de la VPC de AWS KMS. Para obtener más información, consulte Conexión a AWS KMS a través de un punto de enlace de VPC.
Compruebe si la conexión de AWS Glue y la base de datos utilizan VPC diferentes
La conexión de prueba falla y se produce un error de tiempo de espera si se cumplen las siguientes condiciones:
- La base de datos no es de acceso público.
- Ha adjuntado un trabajo de AWS Glue a una conexión que usa una VPC diferente sin emparejamiento de VPC.
Para resolver un error de conexión de prueba, cree una VPC de AWS Glue dedicada y configure el emparejamiento de VPC asociado a sus otras VPC.
Comprobación de la conectividad con el almacén de datos local
Para comprobar la conexión de AWS Glue a una base de datos local que se conecta a una instancia de Amazon Elastic Compute Cloud (Amazon EC2), ejecute los siguientes comandos:
$ telnet hostname port $ nc -zv hostname port $ dig hostname $ traceroute -AnT -p IP port
Compruebe la VPN y las configuraciones de VPC, subred, grupo de seguridad y ACL de la red. Asegúrese de que las configuraciones no bloqueen la conectividad de la VPC a la base de datos local ni generen problemas de firewall desde la base de datos local. Para obtener más información, consulte Cómo acceder a almacenes de datos locales y analizarlos con AWS Glue.
Problemas de autenticación
Elección del rol de IAM correcto
El rol de AWS Identity and Access Management (IAM) que seleccione para la conexión de prueba debe tener una relación de confianza con AWS Glue. Elija un rol vinculado a un servicio que tenga la política AWSGlueServiceRole adjunta para crear la relación de confianza.
Comprobación del rol de IAM de la conexión
Si ha cifrado la contraseña de conexión con AWS KMS, confirme si el rol de IAM de la conexión permite la acción kms:Decrypt en el caso de la clave. Para obtener más información, consulte Configuración del cifrado en AWS Glue.
Compruebe los registros de conexión
Compruebe los registros para ver si hay mensajes de error. Puede encontrar los registros de las conexiones de prueba en Registros de Amazon CloudWatch en /aws-glue/testconnection/output.
Comprobación de la configuración de SSL
Si el almacén de datos requiere conectividad SSL para el usuario especificado, seleccione Requerir conexión SSL al crear la conexión en la consola. Seleccione esta opción únicamente si el almacén de datos admite SSL.
Compruebe el nombre de usuario y la contraseña de JDBC
Los usuarios deben tener permisos suficientes para acceder al almacén de datos de Java Database Connectivity (JDBC). Por ejemplo, los rastreadores de AWS Glue requieren permisos SELECT. Un trabajo que escribe en un almacén de datos requiere los permisos INSERT, UPDATE y DELETE.
Comprobación de la sintaxis de la URL de JDBC
Los requisitos de sintaxis varían según el motor de la base de datos. Para obtener más información, consulte Propiedades de las conexiones JDBC de AWS Glue y revise los ejemplos en la URL de JDBC.
Consejos adicionales
Comprobación del tipo de conexión
Asegúrese de elegir el tipo de conexión correcto. Si elige Amazon RDS o Amazon Redshift en Tipo de conexión, AWS Glue rellenará automáticamente la VPC, la subred y el grupo de seguridad.
La característica de conexión de prueba solo funciona para las versiones 5.x de MySQL. El controlador JDBC integrado de AWS Glue no es compatible con la versión 8 de MySQL. Si prueba la conexión con una versión de MySQL posterior a la 5.x, es posible que aparezca un error de tiempo de espera de conexión. Utilice su conexión de AWS Glue para conectarse a la versión 8 de MySQL. Introduzca el controlador Java Archive (JAR) compatible para la versión 8 de MySQL y versiones posteriores para usar la conexión en un trabajo de extracción, transformación y carga (ETL). A continuación, cargue el archivo JAR en su trabajo. Para obtener más información, consulte Tipos de conexión y opciones para ETL en AWS Glue para Apache Spark.
Verificación de que el DNS no esté causando los problemas
Para verificar que el DNS no esté causando los problemas, utilice la dirección IP pública o privada del almacén de datos como URL de JDBC para la conexión de AWS Glue. Desactive el campo Requerir conexión SSL porque ya no se usa un nombre de dominio.
Comprobación de si el controlador es incompatible
Proporcione el controlador correcto como un archivo JAR adicional en las propiedades del trabajo, junto con el nombre de la conexión fallida. Si especifica el nombre de la conexión como propiedad del trabajo, AWS Glue usará la configuración de red de la conexión, por ejemplo, la VPC y las subredes. Cree el DataFrame de Spark con el archivo JAR en las propiedades del trabajo para anular los controladores de almacén de datos de AWS Glue predeterminados.
También puede convertir el DataFrame en un DynamicFrame de AWS Glue. Para obtener más información, consulte fromDF.
Comprobación de si el almacén de datos de JDBC es de acceso público
Use MySQL Workbench y la URL de JDBC para conectarse al almacén de datos. Como alternativa, inicie una instancia de Amazon EC2 que tenga acceso SSH a la misma subred y a los mismos grupos de seguridad que utiliza para la conexión. Luego, use SSH para conectarse a la instancia y ejecute el siguiente comando para probar la conectividad:
dig hostname$ nc -zv hostname port
Información relacionada

Contenido relevante
- preguntada hace un mes
- preguntada hace 22 días
- preguntada hace 5 meses
- preguntada hace 6 meses