Saltar al contenido

¿Cómo puedo solucionar los errores de conexión con Amazon Redshift?

6 minutos de lectura
0

Quiero solucionar problemas de conexión con mi clúster de Amazon Redshift.

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

El clúster de Amazon Redshift se ha redimensionado o se ha restaurado recientemente a partir de una instantánea

Si tu clúster de Amazon Redshift se ha redimensionado o se ha restaurado recientemente a partir de una instantánea, comprueba la subred del clúster. Debes iniciar el clúster en la misma subred de antes del redimensionamiento o la restauración a partir de la instantánea.

Si no has redimensionado el clúster de Amazon Redshift ni lo has restaurado recientemente, comprueba las configuraciones de red. Las configuraciones de red deben ser iguales para las subredes anteriores y las nuevas.

El clúster de Amazon Redshift reside en una subred pública

Si estás intentando conectarte a un clúster de Amazon Redshift que se encuentra en una subred pública, comprueba que el clúster esté configurado como de Acceso público. Para obtener más información sobre las opciones de acceso público, consulta Recursos de Redshift en una nube virtual privada virtual (VPC).

Confirma que tu tabla de enrutamiento tenga una puerta de enlace de Internet conectada.

Para probar la conexión a tu clúster de Amazon Redshift, utiliza el comando telnet:

telnet cluster_endpoint cluster_port

Nota: Sustituye cluster_endpoint y cluster_port por tus valores.

El clúster de Amazon Redshift reside en una subred privada

Si tu clúster de Amazon Redshift reside en una subred privada, asegúrate de conectar la puerta de enlace de NAT a la tabla de enrutamiento de la subred pública. La puerta de enlace de NAT permite que los clústeres de una subred privada se conecten a Internet. Comprueba que tu clúster no esté configurado como de Acceso público.

Para confirmar que tu cliente puede acceder a la dirección IP privada del nodo principal del clúster de Amazon Redshift, ejecuta el comando dig:

dig cluster_endpoint

Nota: Sustituye cluster-endpoint por el punto de enlace del clúster.

Para probar la conexión a tu clúster de Amazon Redshift, utiliza el comando telnet:

telnet cluster_endpoint cluster_port

Nota: Sustituye cluster_endpoint y cluster_port por tus valores.

Telnet no funciona o el clúster de Amazon Redshift sigue siendo inaccesible

Si el resultado del comando telnet muestra que la conexión al clúster de Amazon Redshift no se ha realizado correctamente, comprueba las siguientes condiciones:

  • La regla de entrada del grupo de seguridad permite el puerto 5439 de Amazon Redshift de tipo TCP.
  • La regla de entrada del grupo de seguridad incluye el rango de CIDR o la dirección IP que utilizas para conectarte al clúster de Amazon Redshift.

Si el resultado muestra que la conexión al clúster de Amazon Redshift se ha realizado correctamente, pero el clúster sigue estando inaccesible, comprueba el firewall de la red. Es posible que el firewall bloquee el puerto 5439 de Amazon Redshift.

Error de conexión de operación no válida

Si tu clúster de Amazon Redshift requiere que se haya activado SSL para cualquier conexión, es posible que se muestre el siguiente error de conexión:

"Error: [Amazon](500310) Invalid operation: no pg_hba.conf entry for host "::ffff:205.xxx.xxx.xxx", user "username", database "dbname", SSL off;"

Para comprobar si el parámetro require_ssl está establecido en true, sigue estos pasos:

  1. Abre la consola de Amazon Redshift.
  2. En el panel de navegación, selecciona Configuración.
  3. Selecciona Administración de cargas de trabajo.
  4. Modifica el grupo de parámetros asociado a tu clúster de Amazon Redshift.
  5. (Opcional) Ejecuta el comando describe-cluster-parameters de la AWS CLI para verificar la configuración de SSL:
    aws redshift describe-cluster-parameters --parameter-group-name exampleparametergroupname

Si la configuración de SSL está establecida en true, actualiza el parámetro require_ssl al valor predeterminado del parámetro false. Para cambiar la configuración de SSL, edita el grupo de parámetros asociado a tu clúster de Amazon Redshift. Puedes editar el grupo de parámetros desde la pestaña Parámetros de la consola de Amazon Redshift.

Sin embargo, si la conexión de SSL es necesaria en tu caso práctico o entorno, asegúrate de que la cadena de conexión incluya el parámetro de SSL requerido.

Por ejemplo:

jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev?ssl=true

Error de conexión grave

Si hay demasiadas conexiones abiertas en tu clúster de Amazon Redshift, es posible que se produzca el siguiente error:

"Error: FATAL: connection limit [500]/[2000] exceeded for user"

Como indica el mensaje de error, 500 es el límite máximo de conexiones para los tipos de nodo dc2.large en Amazon Redshift. En el caso de los nodos dc2.8xlarge, ra3.xlplus, ra3.4xlarge y ra3.16xlarge, el límite máximo de conexiones es 2000.

Para comprobar el número de conexiones abiertas en tu clúster de Amazon Redshift, sigue estos pasos:

  1. Abre la consola de Amazon CloudWatch.

  2. Busca la métrica DatabaseConnections en tus entradas de Registros de Amazon CloudWatch.

  3. Utiliza la tabla STL_CONNECTION_LOG para comprobar las conexiones abiertas:

    select recordtime, username, dbname, remotehost, remoteportfrom stl_connection_log
    where event = 'initiating session'
    and pid not in
    (select pid from stl_connection_log
    where event = 'disconnecting session')
    order by 1 desc;
  4. Utiliza la tabla STV_SESSIONS para ver información sobre las sesiones de usuario activas para Amazon Redshift:

    select * from stv_sessions;

Si tienes un gran número de conexiones abiertas, realiza una de las siguientes acciones:

  • Utiliza el comando PG_TERMINATE_BACKEND para cerrar todas las sesiones inactivas.
  • Cambia la configuración del tiempo de espera de TCP/IP en el lado del cliente en función del sistema operativo que utilizas para conectarte al clúster de Amazon Redshift. La actualización de la configuración de tiempo de espera de TCP/IP puede ayudar a evitar que las sesiones inactivas permanezcan abiertas.

Error de conexión rechazada

Si tu clúster de Amazon Redshift no puede establecer una conexión, es posible que se muestre este error de conexión rechazada:

"Error: amazon 500150 error setting/closing connection: operation timed out/ connection refused."

Cuando intentas acceder a tu clúster de Amazon Redshift, un problema de permisos puede provocar el error anterior. Para resolver este error de conexión, realiza una de las siguientes acciones:

Información relacionada

¿Cómo puedo hacer que un clúster privado de Amazon Redshift sea accesible al público?

¿Por qué no puedo conectarme a mi clúster de Amazon Redshift?

OFICIAL DE AWSActualizada hace un año