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

6 minutos de lectura
0

No puedo conectarme a mi clúster de Amazon Redshift. ¿Cómo puedo solucionar este problema?

Resolución

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

Si su clúster de Amazon Redshift se ha redimensionado o se ha restaurado recientemente a partir de una instantánea, compruebe la subred del clúster. El clúster debe lanzarse en la misma subred de antes del redimensionamiento o la restauración a partir de la instantánea.

Si su clúster de Amazon Redshift no se ha redimensionado ni se ha restaurado recientemente, compruebe 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á intentando conectarse a un clúster de Amazon Redshift que reside en una subred pública, compruebe lo siguiente:

  • Confirme que el clúster de Amazon Redshift esté configurado como «Accesible públicamente». Para obtener más información sobre las opciones de acceso público, consulte Administración de clústeres en una VPC.
  • Confirme que tiene una puerta de enlace de Internet asociada a la tabla de enrutamiento.

Con el fin de probar la conectividad, utilice telnet para probar la conexión a su clúster de Amazon Redshift:

telnet <cluster endpoint> <cluster port>

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

Si su clúster de Amazon Redshift reside en una subred privada, compruebe lo siguiente:

  • Asegúrese de asociar la puerta de enlace NAT a la tabla de enrutamiento de la subred pública. La puerta de enlace NAT permite que los clústeres de una subred privada se conecten a Internet.
  • Asegúrese de que su clúster no esté configurado como Accesible públicamente.

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

dig <cluster endpoint>

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

telnet <cluster endpoint><cluster port>

El resultado de telnet no es satisfactorio o el clúster de Amazon Redshift sigue estando inaccesible

Si el comando telnet indica que la conexión al clúster de Amazon Redshift no se ha realizado correctamente, compruebe si se cumplen las siguientes condiciones:

  • El puerto de Amazon Redshift (el predeterminado es el 5439), del tipo TCP, está permitido en la regla de entrada del grupo de seguridad.
  • El rango de CIDR o la IP desde donde se conecta al clúster de Amazon Redshift se ha añadido a la regla de ingreso del grupo de seguridad.

Si el comando telnet indica que la conexión al clúster de Amazon Redshift se ha realizado correctamente, pero el clúster sigue estando inaccesible, compruebe el firewall de la red. Es posible que su firewall esté bloqueando el puerto de Amazon Redshift (el predeterminado es el 5439).

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

Si su clúster de Amazon Redshift requiere que se haya habilitado 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 confirmar si el parámetrorequire_ssl se ha definido como true, siga estos pasos:

1.    Abra la consola de Amazon Redshift.

2.    Elija la pestaña Config.

3.    Modifique el grupo de parámetros asociado a su clúster de Amazon Redshift.

4.    (Opcional) Verifique la configuración de SSL mediante la Interfaz de la línea de comandos de AWS (AWS CLI):

describe-cluster-parameters

Si la configuración de SSL está definida como true, plantéese las siguientes opciones:

  • Actualice el parámetro require_ssl como false, que es el valor predeterminado para el parámetro. Para cambiar la configuración de SSL, puede editar el grupo de parámetros asociado a su clúster de Amazon Redshift. El grupo de parámetros se puede editar desde la pestaña Parámetros de la consola de Amazon Redshift.
  • Si la conexión de SSL es imprescindible en su caso de uso o entorno, asegúrese de que el string 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 su clúster de Amazon Redshift, aparece 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 y ds2.xlarge en Amazon Redshift. En el caso de los nodos ds2.8xlarge, 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 su clúster de Amazon Redshift, siga estos pasos:

1.    Abra la consola de Amazon CloudWatch.

2.    Busque la métrica DatabaseConnections en sus entradas de Registros de Amazon CloudWatch.

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

select recordtime, username, dbname, remotehost, remoteport
from 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.    Utilice la tabla STV_SESSIONS para ver información sobre las sesiones de usuario activas para Amazon Redshift:

select * from stv_sessions;

Si tiene muchas conexiones abiertas, plantéese las siguientes opciones:

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

Error de conexión rechazada

Si su 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.

Este error puede indicar un problema con los permisos para acceder a su clúster de Amazon Redshift. Para solucionar este error de conexión, plantéese las siguientes opciones:

  • Si creó el clúster en una nube privada de Amazon Virtual Private Cloud (Amazon VPC), añada la dirección CIDR/IP de su cliente al grupo de seguridad de VPC. Para obtener más información sobre la configuración de grupos de seguridad de VPC para su clúster, consulte Administración de clústeres en una VPC.
  • Si creó el clúster fuera de una VPC, añada la dirección IP o CIDR del cliente al grupo de seguridad del clúster. Para obtener más información sobre la configuración de grupos de seguridad de clúster, consulte Grupos de seguridad del clúster de Amazon Redshift.

Información relacionada

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

No puedo conectarme a mi clúster de Amazon Redshift

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año